http://sourceware.org/bugzilla/show_bug.cgi?id=13686

             Bug #: 13686
           Summary: "objdump -d" does not recognise alternative encodings
                    of lfence/mfence/sfence
           Product: binutils
           Version: 2.23 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: binutils
        AssignedTo: unassig...@sourceware.org
        ReportedBy: m...@mythic-beasts.com
    Classification: Unclassified


The canonical encoding of "sfence" is "0f ae f8", but the AMD manual says there
are 8 possible encodings of it, allowing any value in the 3-bit ModRM r/m field
(from "Table A-7. Opcode 0F 01 and 0F AE ModRM Extensions"):

0f ae f8
0f ae f9
0f ae fa
0f ae fb
0f ae fc
0f ae fd
0f ae fe
0f ae ff

objdump only recognises the canonical encoding:

   0:    0f ae f8                 sfence 
   3:    0f ae                    (bad)  
   5:    f9                       stc    
   6:    0f ae                    (bad)  
   8:    fa                       cli    
   9:    0f ae                    (bad)  
   b:    fb                       sti    
   c:    0f ae                    (bad)  
   e:    fc                       cld    
   f:    0f ae                    (bad)  
  11:    fd                       std    
  12:    0f ae                    (bad)  
  14:    fe 0f                    decb   (%edi)
  16:    ae                       scas   %es:(%edi),%al
  17:    ff                       .byte 0xff

The same applies for lfence and mfence.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to