[llvm] [GlobalISel][AArch64] Add libcall lowering for fpowi. (PR #67114)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 28 03:40:18 PST 2023
================
@@ -979,10 +982,30 @@ LegalizerHelper::libcall(MachineInstr &MI, LostDebugLocObserver &LocObserver) {
return Status;
break;
}
+ case TargetOpcode::G_FPOWI: {
+ LLT LLTy = MRI.getType(GMI.getReg(0));
+ unsigned Size = LLTy.getSizeInBits();
+ Type *HLTy = getFloatTypeForLLT(Ctx, LLTy);
+ Type *ITy =
+ IntegerType::get(Ctx, MRI.getType(GMI.getReg(2)).getSizeInBits());
+ if (!HLTy || (Size != 32 && Size != 64 && Size != 80 && Size != 128)) {
+ LLVM_DEBUG(dbgs() << "No libcall available for type " << LLTy << ".\n");
+ return UnableToLegalize;
+ }
+ auto Libcall = getRTLibDesc(MI.getOpcode(), Size);
+ SmallVector<CallLowering::ArgInfo, 2> Args;
+ Args.push_back({GMI.getReg(1), HLTy, 0});
+ Args.push_back({GMI.getReg(2), ITy, 1});
----------------
arsenm wrote:
Initializer list
https://github.com/llvm/llvm-project/pull/67114
More information about the llvm-commits
mailing list