[llvm-commits] [llvm] r70720 - in /llvm/trunk/lib/Target/MSP430: MSP430ISelLowering.cpp MSP430ISelLowering.h MSP430InstrInfo.td

Anton Korobeynikov asl at math.spbu.ru
Sun May 3 06:05:00 PDT 2009


Author: asl
Date: Sun May  3 08:05:00 2009
New Revision: 70720

URL: http://llvm.org/viewvc/llvm-project?rev=70720&view=rev
Log:
Add pattern for OR

Modified:
    llvm/trunk/lib/Target/MSP430/MSP430ISelLowering.cpp
    llvm/trunk/lib/Target/MSP430/MSP430ISelLowering.h
    llvm/trunk/lib/Target/MSP430/MSP430InstrInfo.td

Modified: llvm/trunk/lib/Target/MSP430/MSP430ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MSP430ISelLowering.cpp?rev=70720&r1=70719&r2=70720&view=diff

==============================================================================
--- llvm/trunk/lib/Target/MSP430/MSP430ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/MSP430/MSP430ISelLowering.cpp Sun May  3 08:05:00 2009
@@ -54,7 +54,6 @@
   setShiftAmountType(MVT::i8);
 
   setOperationAction(ISD::SRA, MVT::i16, Custom);
-
   setOperationAction(ISD::RET, MVT::Other, Custom);
 }
 

Modified: llvm/trunk/lib/Target/MSP430/MSP430ISelLowering.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MSP430ISelLowering.h?rev=70720&r1=70719&r2=70720&view=diff

==============================================================================
--- llvm/trunk/lib/Target/MSP430/MSP430ISelLowering.h (original)
+++ llvm/trunk/lib/Target/MSP430/MSP430ISelLowering.h Sun May  3 08:05:00 2009
@@ -50,7 +50,6 @@
     SDValue LowerRET(SDValue Op, SelectionDAG &DAG);
     SDValue LowerCCCArguments(SDValue Op, SelectionDAG &DAG);
     SDValue LowerShifts(SDValue Op, SelectionDAG &DAG);
-
   private:
     const MSP430Subtarget &Subtarget;
     const MSP430TargetMachine &TM;

Modified: llvm/trunk/lib/Target/MSP430/MSP430InstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MSP430InstrInfo.td?rev=70720&r1=70719&r2=70720&view=diff

==============================================================================
--- llvm/trunk/lib/Target/MSP430/MSP430InstrInfo.td (original)
+++ llvm/trunk/lib/Target/MSP430/MSP430InstrInfo.td Sun May  3 08:05:00 2009
@@ -152,4 +152,15 @@
                      [(set GR16:$dst, (MSP430rra GR16:$src)),
                       (implicit SR)]>;
 } // Defs = [SR]
+
+let isCommutable = 1 in { // X = OR Y, Z  == X = OR Z, Y
+def OR16rr : Pseudo<(outs GR16:$dst), (ins GR16:$src1, GR16:$src2),
+                    "bis.w\t{$src2, $dst|$dst, $src2}",
+                    [(set GR16:$dst, (or GR16:$src1, GR16:$src2))]>;
+}
+
+def OR16ri : Pseudo<(outs GR16:$dst), (ins GR16:$src1, i16imm:$src2),
+                    "bis.w\t{$src2, $dst|$dst, $src2}",
+                    [(set GR16:$dst, (or GR16:$src1, imm:$src2))]>;
+
 } // isTwoAddress = 1





More information about the llvm-commits mailing list