diff options
author | Devang Patel <dpatel@apple.com> | 2012-01-17 21:48:03 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2012-01-17 21:48:03 +0000 |
commit | 2f8af1d643cde711b292117e50b30452877432ef (patch) | |
tree | acfcfd2ff3f89eedab02ee11b0b52c0823612dd3 | |
parent | ba05c91ed28e70505ac854dce976ac14f4c6e602 (diff) |
Intel syntax: Fix parser match class to check memory operand size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148338 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86InstrInfo.td | 6 | ||||
-rw-r--r-- | test/MC/X86/intel-syntax.s | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index 663e07b0f0..8518ed07dc 100644 --- a/lib/Target/X86/X86InstrInfo.td +++ b/lib/Target/X86/X86InstrInfo.td @@ -318,7 +318,7 @@ def f256mem : X86MemOperand<"printf256mem">{ def i8mem_NOREX : Operand<i64> { let PrintMethod = "printi8mem"; let MIOperandInfo = (ops GR64_NOREX, i8imm, GR64_NOREX_NOSP, i32imm, i8imm); - let ParserMatchClass = X86MemAsmOperand; + let ParserMatchClass = X86Mem8AsmOperand; let OperandType = "OPERAND_MEMORY"; } @@ -332,7 +332,7 @@ def ptr_rc_tailcall : PointerLikeRegClass<2>; def i32mem_TC : Operand<i32> { let PrintMethod = "printi32mem"; let MIOperandInfo = (ops GR32_TC, i8imm, GR32_TC, i32imm, i8imm); - let ParserMatchClass = X86MemAsmOperand; + let ParserMatchClass = X86Mem32AsmOperand; let OperandType = "OPERAND_MEMORY"; } @@ -343,7 +343,7 @@ def i64mem_TC : Operand<i64> { let PrintMethod = "printi64mem"; let MIOperandInfo = (ops ptr_rc_tailcall, i8imm, ptr_rc_tailcall, i32imm, i8imm); - let ParserMatchClass = X86MemAsmOperand; + let ParserMatchClass = X86Mem64AsmOperand; let OperandType = "OPERAND_MEMORY"; } diff --git a/test/MC/X86/intel-syntax.s b/test/MC/X86/intel-syntax.s index 42638f2685..46d3761f3d 100644 --- a/test/MC/X86/intel-syntax.s +++ b/test/MC/X86/intel-syntax.s @@ -25,6 +25,8 @@ _main: mov EAX, DWORD PTR [RSP + 4*RAX - 24] // CHECK: movb %dil, (%rdx,%rcx) mov BYTE PTR [RDX + RCX], DIL +// CHECK: movzwl 2(%rcx), %edi + movzx EDI, WORD PTR [RCX + 2] // CHECK: callq _test call _test ret |