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

Nate Begeman natebegeman at mac.com
Fri Jan 13 19:14:26 PST 2006



Changes in directory llvm/lib/Target/X86:

X86ISelLowering.cpp updated: 1.40 -> 1.41
X86InstrInfo.td updated: 1.204 -> 1.205
---
Log message:

bswap implementation


---
Diffs of the changes:  (+5 -1)

 X86ISelLowering.cpp |    2 ++
 X86InstrInfo.td     |    4 +++-
 2 files changed, 5 insertions(+), 1 deletion(-)


Index: llvm/lib/Target/X86/X86ISelLowering.cpp
diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.40 llvm/lib/Target/X86/X86ISelLowering.cpp:1.41
--- llvm/lib/Target/X86/X86ISelLowering.cpp:1.40	Fri Jan 13 13:51:46 2006
+++ llvm/lib/Target/X86/X86ISelLowering.cpp	Fri Jan 13 21:14:10 2006
@@ -109,6 +109,7 @@
   setOperationAction(ISD::READCYCLECOUNTER , MVT::i64  , Custom);
 
   if (!X86DAGIsel) {
+    setOperationAction(ISD::BSWAP          , MVT::i32  , Expand);
     setOperationAction(ISD::ROTL           , MVT::i8   , Expand);
     setOperationAction(ISD::ROTR           , MVT::i8   , Expand);
     setOperationAction(ISD::ROTL           , MVT::i16  , Expand);
@@ -116,6 +117,7 @@
     setOperationAction(ISD::ROTL           , MVT::i32  , Expand);
     setOperationAction(ISD::ROTR           , MVT::i32  , Expand);
   }
+  setOperationAction(ISD::BSWAP            , MVT::i16  , Expand);
 
   setOperationAction(ISD::READIO           , MVT::i1   , Expand);
   setOperationAction(ISD::READIO           , MVT::i8   , Expand);


Index: llvm/lib/Target/X86/X86InstrInfo.td
diff -u llvm/lib/Target/X86/X86InstrInfo.td:1.204 llvm/lib/Target/X86/X86InstrInfo.td:1.205
--- llvm/lib/Target/X86/X86InstrInfo.td:1.204	Fri Jan 13 19:18:49 2006
+++ llvm/lib/Target/X86/X86InstrInfo.td	Fri Jan 13 21:14:10 2006
@@ -518,7 +518,9 @@
 
 let isTwoAddress = 1 in                               // R32 = bswap R32
   def BSWAP32r : I<0xC8, AddRegFrm,
-                   (ops R32:$dst, R32:$src), "bswap{l} $dst", []>, TB;
+                   (ops R32:$dst, R32:$src),
+                   "bswap{l} $dst", 
+                   [(set R32:$dst, (bswap R32:$src))]>, TB;
 
 def XCHG8rr  : I<0x86, MRMDestReg,                    // xchg R8, R8
                  (ops R8:$src1, R8:$src2),






More information about the llvm-commits mailing list