diff options
author | Bill Wendling <isanbard@gmail.com> | 2008-08-31 02:59:23 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2008-08-31 02:59:23 +0000 |
commit | 9440e35b9875757e5556a01f585aa6b2dd9a0c48 (patch) | |
tree | fcb79c0caf3fa59d4d0b0ed7e822f2d493fea33c /lib/Target/CellSPU | |
parent | 3156b62855667566bf48641252526b57a8c46a49 (diff) | |
download | external_llvm-9440e35b9875757e5556a01f585aa6b2dd9a0c48.zip external_llvm-9440e35b9875757e5556a01f585aa6b2dd9a0c48.tar.gz external_llvm-9440e35b9875757e5556a01f585aa6b2dd9a0c48.tar.bz2 |
Revert the "XFAIL" for the rotate_ops.ll testcase. Instead, mark ISD::ROTR
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
Diffstat (limited to 'lib/Target/CellSPU')
-rw-r--r-- | lib/Target/CellSPU/SPUISelLowering.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/Target/CellSPU/SPUISelLowering.cpp b/lib/Target/CellSPU/SPUISelLowering.cpp index 4e93ea1..72fad2c 100644 --- a/lib/Target/CellSPU/SPUISelLowering.cpp +++ b/lib/Target/CellSPU/SPUISelLowering.cpp @@ -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); |