[llvm] r321902 - Revert r321897: affected testcases were not updated
Krzysztof Parzyszek via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 5 13:50:15 PST 2018
Author: kparzysz
Date: Fri Jan 5 13:50:15 2018
New Revision: 321902
URL: http://llvm.org/viewvc/llvm-project?rev=321902&view=rev
Log:
Revert r321897: affected testcases were not updated
Commit message:
[Hexagon] Even simpler patterns for sign- and zero-extending HVX vectors
Modified:
llvm/trunk/lib/Target/Hexagon/HexagonPatterns.td
Modified: llvm/trunk/lib/Target/Hexagon/HexagonPatterns.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/HexagonPatterns.td?rev=321902&r1=321901&r2=321902&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Hexagon/HexagonPatterns.td (original)
+++ llvm/trunk/lib/Target/Hexagon/HexagonPatterns.td Fri Jan 5 13:50:15 2018
@@ -2924,10 +2924,22 @@ let Predicates = [UseHVX] in {
def HexagonVZERO: SDNode<"HexagonISD::VZERO", SDTVecLeaf>;
def vzero: PatFrag<(ops), (HexagonVZERO)>;
-def VSxtb: OutPatFrag<(ops node:$Vs), (V6_vunpackb $Vs)>;
-def VSxth: OutPatFrag<(ops node:$Vs), (V6_vunpackh $Vs)>;
-def VZxtb: OutPatFrag<(ops node:$Vs), (V6_vunpackub $Vs)>;
-def VZxth: OutPatFrag<(ops node:$Vs), (V6_vunpackuh $Vs)>;
+def VSxtb: OutPatFrag<(ops node:$Vs),
+ (V6_vshuffvdd (HiVec (V6_vsb $Vs)),
+ (LoVec (V6_vsb $Vs)),
+ (A2_tfrsi -2))>;
+def VSxth: OutPatFrag<(ops node:$Vs),
+ (V6_vshuffvdd (HiVec (V6_vsh $Vs)),
+ (LoVec (V6_vsh $Vs)),
+ (A2_tfrsi -4))>;
+def VZxtb: OutPatFrag<(ops node:$Vs),
+ (V6_vshuffvdd (HiVec (V6_vzb $Vs)),
+ (LoVec (V6_vzb $Vs)),
+ (A2_tfrsi -2))>;
+def VZxth: OutPatFrag<(ops node:$Vs),
+ (V6_vshuffvdd (HiVec (V6_vzh $Vs)),
+ (LoVec (V6_vzh $Vs)),
+ (A2_tfrsi -4))>;
let Predicates = [UseHVX] in {
def: Pat<(VecI8 vzero), (V6_vd0)>;
More information about the llvm-commits
mailing list