[PATCH] D138519: [AArch64][SME]: Generate streaming-compatible code for int/fp select/vselect
David Sherwood via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 23 05:57:22 PST 2022
david-arm added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:12918
- if (useSVEForFixedLengthVectorVT(Op.getOperand(0).getValueType()))
+ if (useSVEForFixedLengthVectorVT(Op.getOperand(0).getValueType(), Subtarget->forceStreamingCompatibleSVE()))
return LowerFixedLengthVectorSetccToSVE(Op, DAG);
----------------
nit: This looks like it's breaking the 80-character line limit. Can you reformat this please?
================
Comment at: llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll:83
define void @select_v32f16(ptr %a, ptr %b) #0 {
; CHECK-LABEL: select_v32f16:
----------------
Hmm, I don't think there is any value in adding tests for sizes > 256 bits, right? `@select_v16f16` is already testing that we legalise larger types (> 128-bits) correctly. Perhaps you can just remove all tests >256 bits? For example, `@select_v32f16`, `@select_v64f16`, etc.
================
Comment at: llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll:528
define void @select_v16f32(ptr %a, ptr %b) #0 {
; CHECK-LABEL: select_v16f32:
----------------
Same comment as above.
================
Comment at: llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll:969
define void @select_v8f64(ptr %a, ptr %b) #0 {
; CHECK-LABEL: select_v8f64:
----------------
Same comment as above.
================
Comment at: llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll:82
define void @select_v64i8(ptr %a, ptr %b) #0 {
; CHECK-LABEL: select_v64i8:
----------------
Again, I think it's worth deleting all tests > 256 bits.
================
Comment at: llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll:538
define void @select_v32i16(ptr %a, ptr %b) #0 {
; CHECK-LABEL: select_v32i16:
----------------
Same comment as above.
================
Comment at: llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll:994
define void @select_v16i32(ptr %a, ptr %b) #0 {
; CHECK-LABEL: select_v16i32:
----------------
Same comment as above.
================
Comment at: llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll:1447
define void @select_v8i64(ptr %a, ptr %b) #0 {
; CHECK-LABEL: select_v8i64:
----------------
Same comment as above.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D138519/new/
https://reviews.llvm.org/D138519
More information about the llvm-commits
mailing list