[llvm-commits] CVS: llvm/lib/Target/X86/X86InstrInfo.def

Chris Lattner lattner at cs.uiuc.edu
Sat Jun 21 12:15:01 PDT 2003


Changes in directory llvm/lib/Target/X86:

X86InstrInfo.def updated: 1.59 -> 1.60

---
Log message:

Add IMULr16 & IMULr32 instructions


---
Diffs of the changes:

Index: llvm/lib/Target/X86/X86InstrInfo.def
diff -u llvm/lib/Target/X86/X86InstrInfo.def:1.59 llvm/lib/Target/X86/X86InstrInfo.def:1.60
--- llvm/lib/Target/X86/X86InstrInfo.def:1.59	Thu Jun 19 14:41:13 2003
+++ llvm/lib/Target/X86/X86InstrInfo.def	Sat Jun 21 12:13:35 2003
@@ -166,22 +166,24 @@
 
 I(MULr8       , "mul",  0xF6,             0, X86II::MRMS4r | X86II::Void, O_AL, O_AX)       // AX   = AL*R8
 I(MULr16      , "mul",  0xF7,             0, X86II::MRMS4r | X86II::Void |                  // DX:AX= AX*R16
-                                              X86II::OpSize, O_AX, T_AXDX)
+                                             X86II::OpSize, O_AX, T_AXDX)
 I(MULr32      , "mul",  0xF7,             0, X86II::MRMS4r | X86II::Void, O_EAX, T_EAXEDX)  // ED:EA= EA*R32
 
+I(IMULr16     , "imul", 0xAF, M_2_ADDR_FLAG, X86II::MRMSrcReg | X86II::TB |                 // R16 *= R16
+                                             X86II::OpSize, NoIR, NoIR)
+I(IMULr32     , "imul", 0xAF, M_2_ADDR_FLAG, X86II::MRMSrcReg | X86II::TB, NoIR, NoIR)      // R32 *= R32
+
 // unsigned division/remainder
 I(DIVr8       , "div",  0xF6,             0, X86II::MRMS6r | X86II::Void, O_AX, O_AX)       // AX/r8= AL&AH
 I(DIVr16      , "div",  0xF7,             0, X86II::MRMS6r | X86II::Void |                  // ED:EA/r16=AX&DX
-                                              X86II::OpSize, T_AXDX, T_AXDX)
-I(DIVr32      , "div",  0xF7,             0, X86II::MRMS6r | X86II::Void, T_EAXEDX,
-                                                                           T_EAXEDX)         // ED:EA/r32=EA&ED
+                                             X86II::OpSize, T_AXDX, T_AXDX)
+I(DIVr32      , "div",  0xF7,             0, X86II::MRMS6r | X86II::Void, T_EAXEDX,T_EAXEDX)// ED:EA/r32=EA&ED
 
 // signed division/remainder
 I(IDIVr8      , "idiv", 0xF6,             0, X86II::MRMS7r | X86II::Void, O_AX, O_AX)       // AX/r8= AL&AH
 I(IDIVr16     , "idiv", 0xF7,             0, X86II::MRMS7r | X86II::Void |                  // DA/r16=AX&DX
-                                              X86II::OpSize, T_AXDX, T_AXDX)
-I(IDIVr32     , "idiv", 0xF7,             0, X86II::MRMS7r | X86II::Void, T_EAXEDX,
-                                                                           T_EAXEDX)         // DA/r32=EAX&DX
+                                             X86II::OpSize, T_AXDX, T_AXDX)
+I(IDIVr32     , "idiv", 0xF7,             0, X86II::MRMS7r | X86II::Void, T_EAXEDX,T_EAXEDX)// DA/r32=EAX&DX
 
 // Logical operators
 I(ANDrr8      , "and",   0x20, M_2_ADDR_FLAG, X86II::MRMDestReg, NoIR, NoIR)                 // R8  &= R8





More information about the llvm-commits mailing list