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 | 60e76292584e231e6f4e92d4af1274984851ebf4 (patch) | |
| tree | 60b4a75f1933bc154f4451c937562741f486d3e5 | |
| parent | cc9c8eb83728649f826e11cfb5c80ddc677adeda (diff) | |
| download | bcm5719-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.td | 3 | ||||
| -rw-r--r-- | llvm/test/MC/X86/x86-32.s | 8 | ||||
| -rw-r--r-- | llvm/test/MC/X86/x86-64.s | 8 |
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 |

