[llvm] [X86][GlobalISel] Enable SINCOS with libcall mapping (PR #142438)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 24 04:18:26 PDT 2025


================
@@ -648,6 +650,57 @@ simpleLibcall(MachineInstr &MI, MachineIRBuilder &MIRBuilder, unsigned Size,
                        LocObserver, &MI);
 }
 
+LegalizerHelper::LegalizeResult LegalizerHelper::simpleLibcallSinCos(
+    MachineInstr &MI, MachineIRBuilder &MIRBuilder, unsigned Size, Type *OpType,
+    LostDebugLocObserver &LocObserver) {
+  MachineFunction &MF = *MI.getMF();
+  MachineRegisterInfo &MRI = MF.getRegInfo();
+
+  Register DstSin = MI.getOperand(0).getReg();
+  Register DstCos = MI.getOperand(1).getReg();
+  Register Src = MI.getOperand(2).getReg();
+  LLT DstTy = MRI.getType(DstSin);
+  LLT SrcTy = MRI.getType(Src);
+
+  assert((SrcTy.getSizeInBits() == 32 || SrcTy.getSizeInBits() == 64 ||
+          SrcTy.getSizeInBits() == 80) &&
+         "Unexpected source type for SINCOS.");
----------------
arsenm wrote:

This assert looks unnecessary 

https://github.com/llvm/llvm-project/pull/142438


More information about the llvm-commits mailing list