diff options
author | Momchil Velikov <momchil.velikov@arm.com> | 2023-11-13 16:01:07 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-13 16:01:07 +0000 |
commit | 96ef623a7525f71184b6111f8389e45260ef13ff (patch) | |
tree | 32a4250611d2c3445cb66f89de50610d6d51d42a /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | dc5bdcbcaaadf3c479a197f9a183c3744f02beb9 (diff) | |
download | llvm-96ef623a7525f71184b6111f8389e45260ef13ff.zip llvm-96ef623a7525f71184b6111f8389e45260ef13ff.tar.gz llvm-96ef623a7525f71184b6111f8389e45260ef13ff.tar.bz2 |
[AArch64] Cast predicate operand of SVE gather loads/scater stores to the parameter type of the intrinsic (NFC) (#71289)
When emitting LLVM IR for gather loads/scatter stores, the predicate
parameter is cast to a type that depends on the loaded, resp. stored
type. That's correct for operation where we have a predicate per lane,
however it is not correct for quadword loads and stores (`LD1Q`, `ST1Q`)
where the predicate is per 128-bit chunk, independent from the ACLE
intrinsic type.
This can be universally handled by cast to the corresponding parameter
type of the intrinsic. The intrinsic itself should be defined in a way
that enforces relations between parameter types.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions