aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorMomchil Velikov <momchil.velikov@arm.com>2023-11-13 16:01:07 +0000
committerGitHub <noreply@github.com>2023-11-13 16:01:07 +0000
commit96ef623a7525f71184b6111f8389e45260ef13ff (patch)
tree32a4250611d2c3445cb66f89de50610d6d51d42a /clang/lib/CodeGen/CodeGenModule.cpp
parentdc5bdcbcaaadf3c479a197f9a183c3744f02beb9 (diff)
downloadllvm-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