summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarina Yatsina <marina.yatsina@intel.com>2015-12-06 15:31:47 +0000
committerMarina Yatsina <marina.yatsina@intel.com>2015-12-06 15:31:47 +0000
commit1d1aa0b0a859c8c20b12cae18830751cbb3d22bd (patch)
tree5602b3fe778e81caabd6bb48fad68f516b065d87
parent3a5614599a10ad4a58431d739ce49e87ce4e0ee7 (diff)
downloadbcm5719-llvm-1d1aa0b0a859c8c20b12cae18830751cbb3d22bd.tar.gz
bcm5719-llvm-1d1aa0b0a859c8c20b12cae18830751cbb3d22bd.zip
[X86] Add support for loopz, loopnz for Intel syntax
According to x86 spec, loopz and loopnz should be supported for Intel syntax, where loopz is equivalent to loope and loopnz is equivalent to loopne. Differential Revision: http://reviews.llvm.org/D15148 llvm-svn: 254877
-rw-r--r--llvm/lib/Target/X86/X86InstrInfo.td4
-rw-r--r--llvm/test/MC/X86/intel-syntax.s5
2 files changed, 7 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.td b/llvm/lib/Target/X86/X86InstrInfo.td
index 1c21a098bc6..4a4ceaca88f 100644
--- a/llvm/lib/Target/X86/X86InstrInfo.td
+++ b/llvm/lib/Target/X86/X86InstrInfo.td
@@ -2572,8 +2572,8 @@ def : MnemonicAlias<"lret", "lretl", "att">, Requires<[Not16BitMode]>;
def : MnemonicAlias<"leavel", "leave", "att">, Requires<[Not64BitMode]>;
def : MnemonicAlias<"leaveq", "leave", "att">, Requires<[In64BitMode]>;
-def : MnemonicAlias<"loopz", "loope", "att">;
-def : MnemonicAlias<"loopnz", "loopne", "att">;
+def : MnemonicAlias<"loopz", "loope">;
+def : MnemonicAlias<"loopnz", "loopne">;
def : MnemonicAlias<"pop", "popw", "att">, Requires<[In16BitMode]>;
def : MnemonicAlias<"pop", "popl", "att">, Requires<[In32BitMode]>;
diff --git a/llvm/test/MC/X86/intel-syntax.s b/llvm/test/MC/X86/intel-syntax.s
index 71bf6cc0ffd..214d827168b 100644
--- a/llvm/test/MC/X86/intel-syntax.s
+++ b/llvm/test/MC/X86/intel-syntax.s
@@ -741,3 +741,8 @@ fcomip st, st(2)
fucomip st, st(2)
// CHECK: fcompi %st(2)
// CHECK: fucompi %st(2)
+
+loopz _foo
+loopnz _foo
+// CHECK: loope _foo
+// CHECK: loopne _foo
OpenPOWER on IntegriCloud