[llvm] [AMDGPU] Make `(v2i32 (trunc v2i64:$a))` legal (PR #207761)

Juan Manuel Martinez CaamaƱo via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 9 09:17:17 PDT 2026


================
@@ -3568,6 +3568,20 @@ def : GCNPat <
   (EXTRACT_SUBREG $a, sub0)
 >;
 
+def : GCNPat <
+  (v2i32 (UniformUnaryFrag<trunc> v2i64:$a)),
+  (v2i32 (REG_SEQUENCE SReg_64,
+         (i32 (EXTRACT_SUBREG $a, sub0)), sub0,
+         (i32 (EXTRACT_SUBREG $a, sub2)), sub1))
+>;
+
+def : GCNPat <
+  (v2i32 (DivergentUnaryFrag<trunc> v2i64:$a)),
+  (v2i32 (REG_SEQUENCE VReg_64,
+         (i32 (EXTRACT_SUBREG $a, sub0)), sub0,
+         (i32 (EXTRACT_SUBREG $a, sub2)), sub1))
+>;
----------------
jmmartinez wrote:

Should we enable the pattern on `hasPackedU64Ops` only ?

https://github.com/llvm/llvm-project/pull/207761


More information about the llvm-commits mailing list