www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 20207] New: (inline asm) DMD (x64) assembles code that

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

          Issue ID: 20207
           Summary: (inline asm) DMD (x64) assembles code that contains
                    both REX and high byte of a general purpouse register
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Windows
            Status: NEW
          Severity: minor
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: eugenajechiloae gmail.com

The following code assembles: add R12B, AH.
When there is REX prefix, the high byte of the general purpouse registers can't
be used, so this should not assemble.
As expected, the instruction above actually does -- add R12B, SPL -- (adding
SPL instead of AH).

--
Sep 12 2019