[PATCH] D138872: [InstCombine] canonicalize trunc + insert as bitcast + shuffle, part 1

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 30 06:28:04 PST 2022


lebedev.ri added a comment.

In D138872#3960253 <https://reviews.llvm.org/D138872#3960253>, @RKSimon wrote:

> @lebedev.ri Do you mean this pattern?
>
>   define <8 x i16> @src(i64 %a0) {
>     %v = insertelement <2 x i64> poison, i64 %a0, i32 0
>     %r = bitcast <2 x i64> %v to <8 x i16>
>     ret <8 x i16> %r
>   }
>   define <8 x i16> @tgt(i64 %a0) {
>     %v = bitcast i64 %a0 to <4 x i16>
>     %r = shufflevector <4 x i16> %v, <4 x i16> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
>     ret <8 x i16> %r
>   }

I guess?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D138872/new/

https://reviews.llvm.org/D138872



More information about the llvm-commits mailing list