Revert the "XFAIL" for the rotate_ops.ll testcase. Instead, mark ISD::ROTR
authorBill Wendling <isanbard@gmail.com>
Sun, 31 Aug 2008 02:59:23 +0000 (02:59 +0000)
committerBill Wendling <isanbard@gmail.com>
Sun, 31 Aug 2008 02:59:23 +0000 (02:59 +0000)
instructions in CellSPU as "Expand" so that they won't be generated. I added a
"FIXME" so that this hack can be addressed and reverted once ISD::ROTR is
supported in the .td files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55582 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/CellSPU/SPUISelLowering.cpp
test/CodeGen/CellSPU/rotate_ops.ll

index 4e93ea14b1c3601d5ae2c342a0626946b4368192..72fad2c13beb16630eb775685b434603a47037d0 100644 (file)
@@ -202,9 +202,13 @@ SPUTargetLowering::SPUTargetLowering(SPUTargetMachine &TM)
 
   // SPU can do rotate right and left, so legalize it... but customize for i8
   // because instructions don't exist.
-  setOperationAction(ISD::ROTR, MVT::i32,    Legal);
-  setOperationAction(ISD::ROTR, MVT::i16,    Legal);
-  setOperationAction(ISD::ROTR, MVT::i8,     Custom);
+
+  // FIXME: Change from "expand" to appropriate type once ROTR is supported in
+  //        .td files.
+  setOperationAction(ISD::ROTR, MVT::i32,    Expand /*Legal*/);
+  setOperationAction(ISD::ROTR, MVT::i16,    Expand /*Legal*/);
+  setOperationAction(ISD::ROTR, MVT::i8,     Expand /*Custom*/);
+
   setOperationAction(ISD::ROTL, MVT::i32,    Legal);
   setOperationAction(ISD::ROTL, MVT::i16,    Legal);
   setOperationAction(ISD::ROTL, MVT::i8,     Custom);
index 9c7ebeb97dd8d7eb11078ca2f471eaa4b16e0ab9..e308172486a597ebf417cac96f959daf2ee50d0b 100644 (file)
@@ -8,11 +8,6 @@
 ; RUN grep rothi.*,.3    %t1.s | count 1
 ; RUN: grep andhi        %t1.s | count 4
 ; RUN: grep shlhi        %t1.s | count 4
-; XFAIL: *
-
-;; FIXME: ROTR hasn't been implemented in CellSPU! It's marked as a "legal"
-;;        operation, but if used, the code generator complains that it can't
-;;        be selected.
 
 target datalayout = "E-p:32:32:128-f64:64:128-f32:32:128-i64:32:128-i32:32:128-i16:16:128-i8:8:128-i1:8:128-a0:0:128-v128:128:128-s0:128:128"
 target triple = "spu"