================
@@ -6077,6 +6077,8 @@ defm : DUPWithTruncPats<v16i8,  v4i16, v8i16, i32, 
DUPv16i8lane, VecIndex_x2>;
 defm : DUPWithTruncPats<v16i8,  v2i32, v4i32, i32, DUPv16i8lane, VecIndex_x4>;
 defm : DUPWithTruncPats<v8i16,  v2i32, v4i32, i32, DUPv8i16lane, VecIndex_x2>;
 
+defm : DUPWithTruncPats<v4i32,  v2i32, v4i32, i32, DUPv8i16lane, VecIndex_x2>;
----------------
davemgreen wrote:

There isn't really an trunc going on here, If I'm understanding what is going 
on. Can we add a DAG combine for
```
  t38: i32 = extract_vector_elt t36, Constant:i64<0>
t35: v4i32 = AArch64ISD::DUP t38
```
We should be able to turn that into a AArch64ISD::DUPLANE, and it should be 
generally useful to do so I believe.

https://github.com/llvm/llvm-project/pull/66068
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to