[PATCH] D140895: [WIP][Clang][RISCV] Remove default tail-undisturbed for vector reduction intrinsics
Yueh-Ting (eop) Chen via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 3 06:56:06 PST 2023
eopXD created this revision.
Herald added subscribers: sunshaoce, VincentWu, vkmr, frasercrmck, evandro, luismarques, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, shiva0217, kito-cheng, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, arichardson.
Herald added a project: All.
eopXD requested review of this revision.
Herald added subscribers: cfe-commits, pcwang-thead, MaskRay.
Herald added a project: clang.
The destination parameter is removed for non-policy unmasked intrinsics,
they are now tail agnostic. The non-policy masked intrinsics are tail
agnostic and masked undisturbed, just like normal instructions like
vadd.
This is the first commit of a patch-set that aims to remove the
`IsPrototypeDefaultTU` special case for the rvv-intrinsics.
The patch-set work towards the simplification proposal [0] of Nick
Knight, the plan is that after this patch-set, all non-policy
intrinsics will be aligned with default policy behavior of tail
agnostic and mask unsidturbed. Then the next patch-set will aim
towards changing non-policy intrinsics to tail agnostic and mask
agnostic.
[0] https://gist.github.com/nick-knight/6cb0b74b351a25323dfb1821d3a269b9
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D140895
Files:
clang/include/clang/Basic/riscv_vector.td
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredmax.c
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredmin.c
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredsum.c
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwredsum.c
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredand.c
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredmax.c
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredmin.c
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredor.c
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredsum.c
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredxor.c
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwredsum.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vfredmax.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vfredmin.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vfredsum.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vfwredsum.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vredand.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vredmax.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vredmin.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vredor.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vredsum.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vredxor.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vwredsum.c
More information about the cfe-commits
mailing list