[PATCH] D155592: [AArch64] Reuse larger DUPLANE if available
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 20 01:42:59 PDT 2023
dmgreen added a comment.
Thanks. Looks pretty good. Do we need to handle the other "indexing" operations in the same way? For example something like this below, which is for fmul. I would guess that the extending operations (umull) are more likely to see the problem, but you can imagine the others in the "AdvSIMD indexed element" section of AArch64InstrInfo.td might all be better using dup_v8i16 now.
define <4 x float> @sel.v8i16(ptr %p, ptr %q, <4 x float> %a, <4 x float> %b, <2 x float> %c) {
%splat = shufflevector <4 x float> %a, <4 x float> poison, <4 x i32> zeroinitializer
%splat2 = shufflevector <4 x float> %a, <4 x float> poison, <2 x i32> zeroinitializer
%r = fmul <4 x float> %b, %splat
%r2 = fmul <2 x float> %c, %splat2
store <2 x float> %r2, ptr %p
ret <4 x float> %r
}
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D155592/new/
https://reviews.llvm.org/D155592
More information about the llvm-commits
mailing list