From: Coby Tayree Date: Wed, 27 Sep 2017 10:29:29 +0000 (+0000) Subject: [X86][AsmParser] fix PR32035 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=41219080eeb11e7c2f712aebff40599d467d6178;p=llvm [X86][AsmParser] fix PR32035 Differential Revision: https://reviews.llvm.org/D37473 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314295 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index d42a6e31af4..9f99f408d1d 100644 --- a/lib/Target/X86/X86InstrInfo.td +++ b/lib/Target/X86/X86InstrInfo.td @@ -2769,6 +2769,7 @@ def : MnemonicAlias<"pop", "popq", "att">, Requires<[In64BitMode]>; def : MnemonicAlias<"popf", "popfw", "att">, Requires<[In16BitMode]>; def : MnemonicAlias<"popf", "popfl", "att">, Requires<[In32BitMode]>; def : MnemonicAlias<"popf", "popfq", "att">, Requires<[In64BitMode]>; +def : MnemonicAlias<"popf", "popfq", "intel">, Requires<[In64BitMode]>; def : MnemonicAlias<"popfd", "popfl", "att">; // FIXME: This is wrong for "push reg". "push %bx" should turn into pushw in @@ -2780,6 +2781,7 @@ def : MnemonicAlias<"push", "pushq", "att">, Requires<[In64BitMode]>; def : MnemonicAlias<"pushf", "pushfw", "att">, Requires<[In16BitMode]>; def : MnemonicAlias<"pushf", "pushfl", "att">, Requires<[In32BitMode]>; def : MnemonicAlias<"pushf", "pushfq", "att">, Requires<[In64BitMode]>; +def : MnemonicAlias<"pushf", "pushfq", "intel">, Requires<[In64BitMode]>; def : MnemonicAlias<"pushfd", "pushfl", "att">; def : MnemonicAlias<"popad", "popal", "intel">, Requires<[Not64BitMode]>; diff --git a/test/MC/X86/intel-syntax-encoding.s b/test/MC/X86/intel-syntax-encoding.s index e6ddc87f558..e15f6470cf1 100644 --- a/test/MC/X86/intel-syntax-encoding.s +++ b/test/MC/X86/intel-syntax-encoding.s @@ -61,6 +61,11 @@ // CHECK: encoding: [0xf0] // CHECK: encoding: [0x48,0x01,0x00] +// CHECK: encoding: [0x9c] +// CHECK: encoding: [0x9d] +pushf +popf + LBB0_3: // CHECK: encoding: [0xeb,A] jmp LBB0_3