https://issues.dlang.org/show_bug.cgi?id=24264

Walter Bright <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #1 from Walter Bright <[email protected]> ---
The code generated for symIso() is wrong:

0000:   55                       push      RBP
0001:   48 8B EC                 mov       RBP,RSP
0004:   48 83 EC 10              sub       RSP,010h
0008:   48 89 7D F8              mov       -8[RBP],RDI
000c:   83 7D FC 00              cmp       dword ptr -4[RBP],0
0010:   0F 95 C0                 setnz     AL // !!!
0013:   C9                       leave
0014:   C3                       ret

It should be setz. Curiously, the same code in D gets it right:

0000:   55                       push      RBP
0001:   48 8B EC                 mov       RBP,RSP
0004:   48 83 EC 10              sub       RSP,010h
0008:   48 89 7D F8              mov       -8[RBP],RDI
000c:   83 7D FC 00              cmp       dword ptr -4[RBP],0
0010:   0F 94 C0                 setz      AL  // correct
0013:   C9                       leave
0014:   C3                       ret

--

Reply via email to