[LLVMbugs] [Bug 12124] New: [x86 disassembler] illegal values for SSE comparison immediate allowed

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Feb 28 17:36:45 PST 2012


http://llvm.org/bugs/show_bug.cgi?id=12124

             Bug #: 12124
           Summary: [x86 disassembler] illegal values for SSE comparison
                    immediate allowed
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: X86
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: kkhoo at perfwizard.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Testing with trunk r151267:

$ echo '0x0f 0xc2 0xc7 0x08' | ./llvm-mc -disassemble -triple=x86_64
-x86-asm-syntax=intel
    cmpps    XMM0, XMM7, 8
$ echo '0x66 0x0f 0xc2 0xc7 0x08' | ./llvm-mc -disassemble -triple=x86_64
-x86-asm-syntax=intel
    cmppd    XMM0, XMM7, 8

Values over 7 for the immediate byte should be treated as invalid because bits
7:3 of the immediate field are reserved.

This works as expected for the scalar variants of this instruction:

$ echo '0xf2 0x0f 0xc2 0xc7 0x08' | ./llvm-mc -disassemble -triple=x86_64
-x86-asm-syntax=intel
<stdin>:1:1: warning: invalid instruction encoding
0xf2 0x0f 0xc2 0xc7 0x08
^
$ echo '0xf3 0x0f 0xc2 0xc7 0x08' | ./llvm-mc -disassemble -triple=x86_64
-x86-asm-syntax=intel
<stdin>:1:1: warning: invalid instruction encoding
0xf3 0x0f 0xc2 0xc7 0x08
^

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



More information about the llvm-bugs mailing list