[llvm] SystemZ: Add missing predicate for bitconvert patterns (PR #90715)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Wed May 1 02:33:10 PDT 2024
https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/90715
This will prevent accidentally mis-selecting some conversions on targets without vector registers.
>From f273dda96d4cdd500d7241768c8d296ad0c6d3ba Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Tue, 30 Apr 2024 16:07:49 +0200
Subject: [PATCH] SystemZ: Add missing predicate for bitconvert patterns
This will prevent accidentally mis-selecting some conversions
on targets without vector registers.
---
llvm/lib/Target/SystemZ/SystemZInstrVector.td | 2 ++
1 file changed, 2 insertions(+)
diff --git a/llvm/lib/Target/SystemZ/SystemZInstrVector.td b/llvm/lib/Target/SystemZ/SystemZInstrVector.td
index c29c54a6cb79de..c09f48891c1391 100644
--- a/llvm/lib/Target/SystemZ/SystemZInstrVector.td
+++ b/llvm/lib/Target/SystemZ/SystemZInstrVector.td
@@ -1692,6 +1692,7 @@ let Predicates = [FeatureVector] in
// Conversions
//===----------------------------------------------------------------------===//
+let Predicates = [FeatureVector] in {
def : Pat<(v16i8 (bitconvert (v8i16 VR128:$src))), (v16i8 VR128:$src)>;
def : Pat<(v16i8 (bitconvert (v4i32 VR128:$src))), (v16i8 VR128:$src)>;
def : Pat<(v16i8 (bitconvert (v2i64 VR128:$src))), (v16i8 VR128:$src)>;
@@ -1755,6 +1756,7 @@ def : Pat<(i128 (bitconvert (v2i64 VR128:$src))), (i128 VR128:$src)>;
def : Pat<(i128 (bitconvert (v4f32 VR128:$src))), (i128 VR128:$src)>;
def : Pat<(i128 (bitconvert (v2f64 VR128:$src))), (i128 VR128:$src)>;
def : Pat<(i128 (bitconvert (f128 VR128:$src))), (i128 VR128:$src)>;
+} // End Predicates = [FeatureVector]
//===----------------------------------------------------------------------===//
// Replicating scalars
More information about the llvm-commits
mailing list