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

Evan Cheng evan.cheng at apple.com
Sun Jan 15 02:05:33 PST 2006



Changes in directory llvm/lib/Target/X86:

X86InstrInfo.td updated: 1.205 -> 1.206
---
Log message:

Added patterns for 8-bit multiply

---
Diffs of the changes:  (+11 -2)

 X86InstrInfo.td |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)


Index: llvm/lib/Target/X86/X86InstrInfo.td
diff -u llvm/lib/Target/X86/X86InstrInfo.td:1.205 llvm/lib/Target/X86/X86InstrInfo.td:1.206
--- llvm/lib/Target/X86/X86InstrInfo.td:1.205	Fri Jan 13 21:14:10 2006
+++ llvm/lib/Target/X86/X86InstrInfo.td	Sun Jan 15 04:05:20 2006
@@ -682,14 +682,23 @@
 //
 
 // Extra precision multiplication
-def MUL8r  : I<0xF6, MRM4r, (ops R8:$src), "mul{b} $src", []>,
+def MUL8r  : I<0xF6, MRM4r, (ops R8:$src), "mul{b} $src",
+               // FIXME: Used for 8-bit mul, ignore result upper 8 bits.
+               // This probably ought to be moved to a def : Pat<> if the
+               // syntax can be accepted.
+               [(set AL, (mul AL, R8:$src))]>,
              Imp<[AL],[AX]>;               // AL,AH = AL*R8
 def MUL16r : I<0xF7, MRM4r, (ops R16:$src), "mul{w} $src", []>,
              Imp<[AX],[AX,DX]>, OpSize;    // AX,DX = AX*R16
 def MUL32r : I<0xF7, MRM4r, (ops R32:$src), "mul{l} $src", []>,
              Imp<[EAX],[EAX,EDX]>;         // EAX,EDX = EAX*R32
 def MUL8m  : I<0xF6, MRM4m, (ops i8mem :$src),
-               "mul{b} $src", []>, Imp<[AL],[AX]>;          // AL,AH = AL*[mem8]
+               "mul{b} $src",
+               // FIXME: Used for 8-bit mul, ignore result upper 8 bits.
+               // This probably ought to be moved to a def : Pat<> if the
+               // syntax can be accepted.
+               [(set AL, (mul AL, (loadi8 addr:$src)))]>,
+             Imp<[AL],[AX]>;          // AL,AH = AL*[mem8]
 def MUL16m : I<0xF7, MRM4m, (ops i16mem:$src),
                "mul{w} $src", []>, Imp<[AX],[AX,DX]>,
                OpSize; // AX,DX = AX*[mem16]






More information about the llvm-commits mailing list