[PATCH] D132634: [AArch64] Add index check before lowerInterleavedStore() uses ShuffleVectorInst's mask
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 30 04:20:59 PDT 2022
dmgreen added a comment.
Thanks - this looks OK to me. Can you add these two extra tests to the new test file, both of which will produce the same output. Then this LGTM.
define void @noundefs(<8 x i32> %a, <8 x i32> %b, ptr %dst) {
BB:
%S = shufflevector <8 x i32> %a, <8 x i32> %b, <16 x i32> <i32 0, i32 8, i32 1, i32 9, i32 2, i32 10, i32 3, i32 11, i32 4, i32 12, i32 5, i32 13, i32 undef, i32 14, i32 7, i32 15>
store <16 x i32> %S, ptr %dst, align 64
ret void
}
define void @undefs(<8 x i32> %a, <8 x i32> %b, ptr %dst) {
BB:
%S = shufflevector <8 x i32> %a, <8 x i32> %b, <16 x i32> <i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 3, i32 11, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 7, i32 15>
store <16 x i32> %S, ptr %dst, align 64
ret void
}
================
Comment at: llvm/test/CodeGen/AArch64/aarch64-shufflevector.ll:1
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc -mtriple=aarch64-linux-gnu -opaque-pointers < %s | FileCheck %s
----------------
aarch64-shufflevector.ll is a bit of a generic name for this test file, considering what it is testing. Maybe change it to be something that mentions interleave stores with undef elements?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D132634/new/
https://reviews.llvm.org/D132634
More information about the llvm-commits
mailing list