[llvm] r345015 - [TTI] Add generic cost handling of SK_Reverse shuffles

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 23 02:42:10 PDT 2018


Author: rksimon
Date: Tue Oct 23 02:42:10 2018
New Revision: 345015

URL: http://llvm.org/viewvc/llvm-project?rev=345015&view=rev
Log:
[TTI] Add generic cost handling of SK_Reverse shuffles

These can be treated as a general permute.

This required a fix for missing reverse patterns on ARM

Modified:
    llvm/trunk/include/llvm/CodeGen/BasicTTIImpl.h
    llvm/trunk/lib/Target/ARM/ARMTargetTransformInfo.cpp

Modified: llvm/trunk/include/llvm/CodeGen/BasicTTIImpl.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/BasicTTIImpl.h?rev=345015&r1=345014&r2=345015&view=diff
==============================================================================
--- llvm/trunk/include/llvm/CodeGen/BasicTTIImpl.h (original)
+++ llvm/trunk/include/llvm/CodeGen/BasicTTIImpl.h Tue Oct 23 02:42:10 2018
@@ -555,6 +555,7 @@ public:
                           Type *SubTp) {
     switch (Kind) {
     case TTI::SK_Select:
+    case TTI::SK_Reverse:
     case TTI::SK_Transpose:
     case TTI::SK_PermuteSingleSrc:
     case TTI::SK_PermuteTwoSrc:

Modified: llvm/trunk/lib/Target/ARM/ARMTargetTransformInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMTargetTransformInfo.cpp?rev=345015&r1=345014&r2=345015&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMTargetTransformInfo.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMTargetTransformInfo.cpp Tue Oct 23 02:42:10 2018
@@ -412,6 +412,8 @@ int ARMTTIImpl::getShuffleCost(TTI::Shuf
         {ISD::VECTOR_SHUFFLE, MVT::v2f32, 1},
         {ISD::VECTOR_SHUFFLE, MVT::v2i64, 1},
         {ISD::VECTOR_SHUFFLE, MVT::v2f64, 1},
+        {ISD::VECTOR_SHUFFLE, MVT::v4i16, 1},
+        {ISD::VECTOR_SHUFFLE, MVT::v8i8,  1},
 
         {ISD::VECTOR_SHUFFLE, MVT::v4i32, 2},
         {ISD::VECTOR_SHUFFLE, MVT::v4f32, 2},




More information about the llvm-commits mailing list