[all-commits] [llvm/llvm-project] f334db: [llvm][CodeGen] Intrinsic `llvm.powi.*` code gen f...
Zhaoxin Yang via All-commits
all-commits at lists.llvm.org
Wed Dec 18 16:57:53 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f334db92be168876b618db72dc93078ce23ffa89
https://github.com/llvm/llvm-project/commit/f334db92be168876b618db72dc93078ce23ffa89
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
A llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
A llvm/test/CodeGen/LoongArch/lsx/fpowi.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpowi.ll
Log Message:
-----------
[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
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list