[llvm] s390x: pattern match saturated truncation (PR #155377)
Ulrich Weigand via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 26 02:16:31 PDT 2025
================
@@ -399,21 +399,28 @@ let Predicates = [FeatureVector] in {
// Widening and narrowing
//===----------------------------------------------------------------------===//
-let Predicates = [FeatureVector] in {
- // Pack
- def VPK : BinaryVRRcGeneric<"vpk", 0xE794>;
- def VPKH : BinaryVRRc<"vpkh", 0xE794, z_pack, v128b, v128h, 1>;
- def VPKF : BinaryVRRc<"vpkf", 0xE794, z_pack, v128h, v128f, 2>;
- def VPKG : BinaryVRRc<"vpkg", 0xE794, z_pack, v128f, v128g, 3>;
+def replicate_i32_min : PatFrag<(ops), (v4i32 (build_vector (i32 -32768), (i32 -32768), (i32 -32768), (i32 -32768)))>;
+def replicate_i32_max : PatFrag<(ops), (v4i32 (build_vector (i32 32768), (i32 32768), (i32 32768), (i32 32768)))>;
----------------
uweigand wrote:
This probably needs to be done along the lines of `vsplat_imm_eq_1` in SystemZOperators.td (and should go there as well).
https://github.com/llvm/llvm-project/pull/155377
More information about the llvm-commits
mailing list