[llvm-commits] CVS: llvm/lib/Target/X86/X86InstrInfo.td
Evan Cheng
evan.cheng at apple.com
Wed May 31 15:05:24 PDT 2006
Changes in directory llvm/lib/Target/X86:
X86InstrInfo.td updated: 1.272 -> 1.273
---
Log message:
Sign extender
---
Diffs of the changes: (+10 -8)
X86InstrInfo.td | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 deletions(-)
Index: llvm/lib/Target/X86/X86InstrInfo.td
diff -u llvm/lib/Target/X86/X86InstrInfo.td:1.272 llvm/lib/Target/X86/X86InstrInfo.td:1.273
--- llvm/lib/Target/X86/X86InstrInfo.td:1.272 Tue May 30 01:59:36 2006
+++ llvm/lib/Target/X86/X86InstrInfo.td Wed May 31 17:05:11 2006
@@ -706,14 +706,6 @@
def IDIV32m: I<0xF7, MRM7m, (ops i32mem:$src), // EDX:EAX/[mem32] = EAX,EDX
"idiv{l} $src", []>, Imp<[EAX,EDX],[EAX,EDX]>;
-// Sign-extenders for division.
-def CBW : I<0x98, RawFrm, (ops),
- "{cbtw|cbw}", []>, Imp<[AL],[AH]>; // AX = signext(AL)
-def CWD : I<0x99, RawFrm, (ops),
- "{cwtd|cwd}", []>, Imp<[AX],[DX]>; // DX:AX = signext(AX)
-def CDQ : I<0x99, RawFrm, (ops),
- "{cltd|cdq}", []>, Imp<[EAX],[EDX]>; // EDX:EAX = signext(EAX)
-
//===----------------------------------------------------------------------===//
// Two address Instructions...
@@ -2285,6 +2277,16 @@
"movz{wl|x} {$src, $dst|$dst, $src}",
[(set GR32:$dst, (zextloadi32i16 addr:$src))]>, TB;
+def CBW : I<0x98, RawFrm, (ops),
+ "{cbtw|cbw}", []>, Imp<[AL],[AX]>; // AX = signext(AL)
+def CWDE : I<0x98, RawFrm, (ops),
+ "{cwtl|cwde}", []>, Imp<[AX],[EAX]>; // EAX = signext(AX)
+
+def CWD : I<0x99, RawFrm, (ops),
+ "{cwtd|cwd}", []>, Imp<[AX],[AX,DX]>; // DX:AX = signext(AX)
+def CDQ : I<0x99, RawFrm, (ops),
+ "{cltd|cdq}", []>, Imp<[EAX],[EAX,EDX]>; // EDX:EAX = signext(EAX)
+
//===----------------------------------------------------------------------===//
// Miscellaneous Instructions
//===----------------------------------------------------------------------===//
More information about the llvm-commits
mailing list