From f815c87d9bdecbfc2892c7cc244ffe8e583dc3da Mon Sep 17 00:00:00 2001 From: Marina Yatsina Date: Tue, 11 Aug 2015 11:28:10 +0000 Subject: [PATCH 1/1] [X86] Fix REPE, REPZ, REPNZ for intel syntax REPE, REPZ, REPNZ, REPNE should have mnemonics for Intel syntax as well. Currently using these instructions causes compilation errors for Intel syntax. Differential Revision: http://reviews.llvm.org/D11794 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244584 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrInfo.td | 6 +++--- test/MC/X86/intel-syntax.s | 13 +++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index 8e1d5b76d2e..fff094ddf43 100644 --- a/lib/Target/X86/X86InstrInfo.td +++ b/lib/Target/X86/X86InstrInfo.td @@ -2540,9 +2540,9 @@ def : MnemonicAlias<"pusha", "pushaw", "att">, Requires<[In16BitMode]>; def : MnemonicAlias<"popa", "popal", "att">, Requires<[In32BitMode]>; def : MnemonicAlias<"pusha", "pushal", "att">, Requires<[In32BitMode]>; -def : MnemonicAlias<"repe", "rep", "att">; -def : MnemonicAlias<"repz", "rep", "att">; -def : MnemonicAlias<"repnz", "repne", "att">; +def : MnemonicAlias<"repe", "rep">; +def : MnemonicAlias<"repz", "rep">; +def : MnemonicAlias<"repnz", "repne">; def : MnemonicAlias<"ret", "retw", "att">, Requires<[In16BitMode]>; def : MnemonicAlias<"ret", "retl", "att">, Requires<[In32BitMode]>; diff --git a/test/MC/X86/intel-syntax.s b/test/MC/X86/intel-syntax.s index 98bec04f50f..8be9642bc5c 100644 --- a/test/MC/X86/intel-syntax.s +++ b/test/MC/X86/intel-syntax.s @@ -688,3 +688,16 @@ imul rbx, 123 // CHECK: imulw $123, %bx // CHECK: imull $123, %ebx // CHECK: imulq $123, %rbx + +repe cmpsb +repz cmpsb +repne cmpsb +repnz cmpsb +// CHECK: rep +// CHECK: cmpsb %es:(%rdi), (%rsi) +// CHECK: rep +// CHECK: cmpsb %es:(%rdi), (%rsi) +// CHECK: repne +// CHECK: cmpsb %es:(%rdi), (%rsi) +// CHECK: repne +// CHECK: cmpsb %es:(%rdi), (%rsi) -- 2.34.1