[llvm] Change `fp128` lowering to use `f128` functions by default (PR #76558)
Trevor Gross via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 28 00:11:37 PDT 2025
================
@@ -425,14 +425,19 @@ define fp128 @qp_sincos(ptr nocapture readonly %a) nounwind {
; CHECK-NEXT: mflr r0
; CHECK-NEXT: stdu r1, -64(r1)
; CHECK-NEXT: std r0, 80(r1)
-; CHECK-NEXT: addi r5, r1, 48
-; CHECK-NEXT: addi r6, r1, 32
-; CHECK-NEXT: lxv v2, 0(r3)
-; CHECK-NEXT: bl sincosf128
+; CHECK-NEXT: stxv v31, 48(r1) # 16-byte Folded Spill
+; CHECK-NEXT: stxv v30, 32(r1) # 16-byte Folded Spill
+; CHECK-NEXT: lxv v31, 0(r3)
+; CHECK-NEXT: vmr v2, v31
+; CHECK-NEXT: bl cosf128
+; CHECK-NEXT: nop
+; CHECK-NEXT: vmr v30, v2
+; CHECK-NEXT: vmr v2, v31
+; CHECK-NEXT: bl sinf128
; CHECK-NEXT: nop
-; CHECK-NEXT: lxv v2, 48(r1)
-; CHECK-NEXT: lxv v3, 32(r1)
-; CHECK-NEXT: xsmulqp v2, v3, v2
+; CHECK-NEXT: xsmulqp v2, v30, v2
+; CHECK-NEXT: lxv v31, 48(r1) # 16-byte Folded Reload
+; CHECK-NEXT: lxv v30, 32(r1) # 16-byte Folded Reload
----------------
tgross35 wrote:
I don't follow this, why was the sin+cos->sincos optimization lost here?
https://github.com/llvm/llvm-project/pull/76558
More information about the llvm-commits
mailing list