[PATCH] D96700: [llvm][Aarch64][SVE] Remove extra fmov instruction with certain literals
David Truby via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 15 05:38:47 PST 2021
DavidTruby added inline comments.
================
Comment at: llvm/test/CodeGen/AArch64/sve-intrinsics-dup-x.ll:133-139
+define <vscale x 2 x float> @dup_fmov_imm_f32_2() {
+; CHECK-LABEL: dup_fmov_imm_f32_2:
+; CHECK: mov w8, #1109917696
+; CHECK-NEXT: mov z0.s, w8
+ %out = tail call <vscale x 2 x float> @llvm.aarch64.sve.dup.x.nxv2f32(float 4.200000e+01)
+ ret <vscale x 2 x float> %out
+}
----------------
paulwalker-arm wrote:
> Keep it if you want but this test "vscale x 2 x float" is kind of unnecessary because the intrinsics only expect to operate on/with fully packed vectors. The fact some work with unpacked types is really a quirk due to some reusing the ISD nodes used for stock LLVM IR.
If it's not likely to not be permitted in future I'd probably rather leave it in on the basis that more tests is usually just better in my opinion. I can remove if it's something that shouldn't be allowed/might not be allowed in future though
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D96700/new/
https://reviews.llvm.org/D96700
More information about the llvm-commits
mailing list