From 577d2f2fbd6cd85d55119f6f9de71109f71090c5 Mon Sep 17 00:00:00 2001 From: Krzysztof Parzyszek Date: Fri, 5 Jan 2018 20:49:26 +0000 Subject: [Hexagon] Even simpler patterns for sign- and zero-extending HVX vectors llvm-svn: 321897 --- llvm/lib/Target/Hexagon/HexagonPatterns.td | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) (limited to 'llvm/lib') diff --git a/llvm/lib/Target/Hexagon/HexagonPatterns.td b/llvm/lib/Target/Hexagon/HexagonPatterns.td index eb8ffd6c312..33b347cb6c7 100644 --- a/llvm/lib/Target/Hexagon/HexagonPatterns.td +++ b/llvm/lib/Target/Hexagon/HexagonPatterns.td @@ -2924,22 +2924,10 @@ let Predicates = [UseHVX] in { def HexagonVZERO: SDNode<"HexagonISD::VZERO", SDTVecLeaf>; def vzero: PatFrag<(ops), (HexagonVZERO)>; -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))>; +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)>; let Predicates = [UseHVX] in { def: Pat<(VecI8 vzero), (V6_vd0)>; -- cgit v1.2.3