[PATCH] D108200: [llvm][sve] Lowering for VLS masked extending loads
Paul Walker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 17 04:30:07 PDT 2021
paulwalker-arm added inline comments.
================
Comment at: llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll:501-502
+; VBITS_GE_512: ptrue [[PG0:p[0-9]+]].h, vl32
+; VBITS_GE_512-NEXT: ld1b { [[Z0:z[0-9]+]].h }, p0/z, [x0]
+; VBITS_GE_512-NEXT: ld1h { [[Z1:z[0-9]+]].h }, p0/z, [x1]
+; VBITS_GE_512-NEXT: cmpeq [[PG1:p[0-9]+]].h, [[PG0]]/z, [[Z0]].h, [[Z1]].h
----------------
Why is `p0` hardcoded? Should this be `[[PG0]]`?
Also I think these should be `VBITS_GE_512-DAG` as the order of the loads can be switched,
================
Comment at: llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll:503
+; VBITS_GE_512-NEXT: ld1h { [[Z1:z[0-9]+]].h }, p0/z, [x1]
+; VBITS_GE_512-NEXT: cmpeq [[PG1:p[0-9]+]].h, [[PG0]]/z, [[Z0]].h, [[Z1]].h
+; VBITS_GE_512-NEXT: ld1sb { [[Z0]].h }, [[PG3]]/z, [x0]
----------------
This sets `PG` but no following instructions use it.
================
Comment at: llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll:504-505
+; VBITS_GE_512-NEXT: cmpeq [[PG1:p[0-9]+]].h, [[PG0]]/z, [[Z0]].h, [[Z1]].h
+; VBITS_GE_512-NEXT: ld1sb { [[Z0]].h }, [[PG3]]/z, [x0]
+; VBITS_GE_512-NEXT: st1h { [[Z0]].h }, [[PG2]], [x8]
+; VBITS_GE_512-NEXT: ret
----------------
`PG3` and `PG2` are not set within this function.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D108200/new/
https://reviews.llvm.org/D108200
More information about the llvm-commits
mailing list