diff options
author | Joerg Sonnenberger <joerg@bec.de> | 2011-02-22 00:43:07 +0000 |
---|---|---|
committer | Joerg Sonnenberger <joerg@bec.de> | 2011-02-22 00:43:07 +0000 |
commit | d86f482e4a9d71596e4f81afb0f7912ab3e40a7f (patch) | |
tree | ed28fd185af335d0d8c71796f393e6e94734d8af | |
parent | 87ca0e077d91b96a765b3b24cadfa8891026a33a (diff) |
Recognize loopz and loopnz as aliases for loope and loopne.
From Dimitry Andric.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126168 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86InstrInfo.td | 3 | ||||
-rw-r--r-- | test/MC/X86/x86-32.s | 8 | ||||
-rw-r--r-- | test/MC/X86/x86-64.s | 8 |
3 files changed, 19 insertions, 0 deletions
diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index 87dc4bece7..f832a7c85a 100644 --- a/lib/Target/X86/X86InstrInfo.td +++ b/lib/Target/X86/X86InstrInfo.td @@ -1296,6 +1296,9 @@ def : MnemonicAlias<"lret", "lretl">; def : MnemonicAlias<"leavel", "leave">, Requires<[In32BitMode]>; def : MnemonicAlias<"leaveq", "leave">, Requires<[In64BitMode]>; +def : MnemonicAlias<"loopz", "loope">; +def : MnemonicAlias<"loopnz", "loopne">; + def : MnemonicAlias<"pop", "popl">, Requires<[In32BitMode]>; def : MnemonicAlias<"pop", "popq">, Requires<[In64BitMode]>; def : MnemonicAlias<"popf", "popfl">, Requires<[In32BitMode]>; diff --git a/test/MC/X86/x86-32.s b/test/MC/X86/x86-32.s index de6b96389e..723983da6d 100644 --- a/test/MC/X86/x86-32.s +++ b/test/MC/X86/x86-32.s @@ -808,3 +808,11 @@ pshufw $90, %mm4, %mm0 // CHECK: ud2b // CHECK: encoding: [0x0f,0xb9] ud2b + +// CHECK: loope 0 +// CHECK: encoding: [0xe1,A] + loopz 0 + +// CHECK: loopne 0 +// CHECK: encoding: [0xe0,A] + loopnz 0 diff --git a/test/MC/X86/x86-64.s b/test/MC/X86/x86-64.s index 4e3499055b..456c21a1c7 100644 --- a/test/MC/X86/x86-64.s +++ b/test/MC/X86/x86-64.s @@ -946,3 +946,11 @@ movdqu %xmm0, %xmm1 // CHECK: movdqu %xmm0, %xmm1 # encoding: [0xf3,0x0f,0x6f,0x // PR8935 xgetbv // CHECK: xgetbv # encoding: [0x0f,0x01,0xd0] xsetbv // CHECK: xsetbv # encoding: [0x0f,0x01,0xd1] + +// CHECK: loope 0 +// CHECK: encoding: [0xe1,A] + loopz 0 + +// CHECK: loopne 0 +// CHECK: encoding: [0xe0,A] + loopnz 0 |