diff options
author | Zhaoxin Yang <yangzhaoxin@loongson.cn> | 2024-12-19 08:57:31 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-19 08:57:31 +0800 |
commit | f334db92be168876b618db72dc93078ce23ffa89 (patch) | |
tree | 2e6ab54d3093069229127f7423bdc7ffd33c2452 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 2691b964150c77a9e6967423383ad14a7693095e (diff) | |
download | llvm-f334db92be168876b618db72dc93078ce23ffa89.zip llvm-f334db92be168876b618db72dc93078ce23ffa89.tar.gz llvm-f334db92be168876b618db72dc93078ce23ffa89.tar.bz2 |
[llvm][CodeGen] Intrinsic `llvm.powi.*` code gen for vector arguments (#118242)
Scalarize vector FPOWI instead of promoting the type. This allows the
scalar FPOWIs to be visited and converted to libcalls before promoting
the type.
FIXME: This should be done in LegalizeVectorOps/LegalizeDAG, but call
lowering needs the unpromoted EVT.
Without this patch, in some backends, such as RISCV64 and LoongArch64,
the i32 type is illegal and will be promoted. This causes exponent type
check to fail when ISD::FPOWI node generates a libcall.
Fix https://github.com/llvm/llvm-project/issues/118079
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions