tsutsui / netbsd-src

Automatic conversion of the NetBSD src CVS module, use with care. Please submit bugs/changes via https://gnats.netbsd.org
https://www.NetBSD.org
2 stars 0 forks source link

m88k: check gcc 3.3.6 bcnd conditionals #3

Open tsutsui opened 2 years ago

tsutsui commented 2 years ago

/usr/lib/libpam.a has the following bcnd a,rXX,NNNN instructions

00000040 <pam_open_session>:
  40:   67 ff 00 40     subu        r31,r31,0x40
  44:   24 3f 00 30     st          r1,r31,0x30
  48:   26 ff 00 24     st          r23,r31,0x24
  4c:   23 1f 00 28     st.d        r24,r31,0x28
  50:   f6 e0 58 02     or          r23,r0,r2
  54:   f7 20 58 03     or          r25,r0,r3
  58:   58 40 00 00     or          r2,r0,0
  5c:   5f 00 00 00     or.u        r24,r0,0
  60:   58 78 00 00     or          r3,r24,0
  64:   5c 80 00 00     or.u        r4,r0,0
  68:   cf ff ff e6     bsr.n       0 <pam_open_session-0x40>
  6c:   58 84 00 14     or          r4,r4,0x14
  70:   e9 59 00 08     bcnd        a,r25,90 <pam_open_session+0x50>  <=== HERE
  74:   5b 20 00 02     or          r25,r0,0x02
00000040 <pam_close_session>:
  40:   67 ff 00 40     subu        r31,r31,0x40
  44:   24 3f 00 30     st          r1,r31,0x30
  48:   26 ff 00 24     st          r23,r31,0x24
  4c:   23 1f 00 28     st.d        r24,r31,0x28
  50:   f6 e0 58 02     or          r23,r0,r2
  54:   f7 20 58 03     or          r25,r0,r3
  58:   58 40 00 00     or          r2,r0,0
  5c:   5f 00 00 00     or.u        r24,r0,0
  60:   58 78 00 00     or          r3,r24,0
  64:   5c 80 00 00     or.u        r4,r0,0
  68:   cf ff ff e6     bsr.n       0 <pam_close_session-0x40>
  6c:   58 84 00 14     or          r4,r4,0x14
  70:   e9 59 00 08     bcnd        a,r25,90 <pam_close_session+0x50>  <=== HERE
  74:   5b 20 00 02     or          r25,r0,0x02

and GXemul complains it's umimplemented.

cpu: UNIMPLEMENTED instruction at 0x5770
u00005770: e9590008  bcnd unimplemented_10,r25,0x00005790

Maybe should check gcc bcnd implementation in m88k.c and m88k.md? https://github.com/tsutsui/netbsd-src/blob/a85c8b4d897ef34e61fe4088723a393f4abfbd0b/gnu/dist/gcc/gcc/config/m88k/m88k.md#L886-L899 https://github.com/tsutsui/netbsd-src/blob/a85c8b4d897ef34e61fe4088723a393f4abfbd0b/gnu/dist/gcc/gcc/config/m88k/m88k.c#L3107-L3119