summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2011-02-22 00:43:07 +0000
committerJoerg Sonnenberger <joerg@bec.de>2011-02-22 00:43:07 +0000
commit60e76292584e231e6f4e92d4af1274984851ebf4 (patch)
tree60b4a75f1933bc154f4451c937562741f486d3e5
parentcc9c8eb83728649f826e11cfb5c80ddc677adeda (diff)
downloadbcm5719-llvm-60e76292584e231e6f4e92d4af1274984851ebf4.tar.gz
bcm5719-llvm-60e76292584e231e6f4e92d4af1274984851ebf4.zip
Recognize loopz and loopnz as aliases for loope and loopne.
From Dimitry Andric. llvm-svn: 126168
-rw-r--r--llvm/lib/Target/X86/X86InstrInfo.td3
-rw-r--r--llvm/test/MC/X86/x86-32.s8
-rw-r--r--llvm/test/MC/X86/x86-64.s8
3 files changed, 19 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.td b/llvm/lib/Target/X86/X86InstrInfo.td
index 87dc4bece74..f832a7c85a8 100644
--- a/llvm/lib/Target/X86/X86InstrInfo.td
+++ b/llvm/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/llvm/test/MC/X86/x86-32.s b/llvm/test/MC/X86/x86-32.s
index de6b96389ea..723983da6de 100644
--- a/llvm/test/MC/X86/x86-32.s
+++ b/llvm/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/llvm/test/MC/X86/x86-64.s b/llvm/test/MC/X86/x86-64.s
index 4e3499055bd..456c21a1c7d 100644
--- a/llvm/test/MC/X86/x86-64.s
+++ b/llvm/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
OpenPOWER on IntegriCloud