[llvm] 02e7479 - [Hexagon] Add patterns for select(i1, Q, Q)
Krzysztof Parzyszek via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 11 09:45:41 PST 2022
Author: Krzysztof Parzyszek
Date: 2022-02-11T09:45:20-08:00
New Revision: 02e7479e6bd36ab1b3124fff76302f125d96b176
URL: https://github.com/llvm/llvm-project/commit/02e7479e6bd36ab1b3124fff76302f125d96b176
DIFF: https://github.com/llvm/llvm-project/commit/02e7479e6bd36ab1b3124fff76302f125d96b176.diff
LOG: [Hexagon] Add patterns for select(i1, Q, Q)
Added:
Modified:
llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
Removed:
################################################################################
diff --git a/llvm/lib/Target/Hexagon/HexagonPatternsHVX.td b/llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
index 0a3dff057ccd..bdd46cfe7152 100644
--- a/llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
+++ b/llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
@@ -738,9 +738,14 @@ let Predicates = [UseHVX] in {
def V2Q: OutPatFrag<(ops node:$Vs), (V6_vandvrt $Vs, (A2_tfrsi -1))>;
-let Predicates = [UseHVX] in
- def: Pat<(select I1:$Pu, VecI1:$Qs, VecI1:$Qt),
+let Predicates = [UseHVX] in {
+ def: Pat<(select I1:$Pu, VecQ8:$Qs, VecQ8:$Qt),
+ (V2Q (PS_vselect $Pu, (Q2V $Qs), (Q2V $Qt)))>;
+ def: Pat<(select I1:$Pu, VecQ16:$Qs, VecQ16:$Qt),
(V2Q (PS_vselect $Pu, (Q2V $Qs), (Q2V $Qt)))>;
+ def: Pat<(select I1:$Pu, VecQ32:$Qs, VecQ32:$Qt),
+ (V2Q (PS_vselect $Pu, (Q2V $Qs), (Q2V $Qt)))>;
+}
let Predicates = [UseHVX] in {
def: Pat<(VecQ8 (qtrue)), (PS_qtrue)>;
More information about the llvm-commits
mailing list