mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-17 18:31:04 +00:00
Switch the canonical FMA term operand order to match both the comment I wrote and the usual LLVM convention.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157708 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
85ef6f4c99
commit
f917d20561
@ -5771,7 +5771,7 @@ SDValue DAGCombiner::visitFMA(SDNode *N) {
|
|||||||
return DAG.getNode(ISD::FADD, N->getDebugLoc(), VT, N0, N2);
|
return DAG.getNode(ISD::FADD, N->getDebugLoc(), VT, N0, N2);
|
||||||
|
|
||||||
// Canonicalize (fma c, x, y) -> (fma x, c, y)
|
// Canonicalize (fma c, x, y) -> (fma x, c, y)
|
||||||
if (!N0CFP && N1CFP)
|
if (N0CFP && !N1CFP)
|
||||||
return DAG.getNode(ISD::FMA, N->getDebugLoc(), VT, N1, N0, N2);
|
return DAG.getNode(ISD::FMA, N->getDebugLoc(), VT, N1, N0, N2);
|
||||||
|
|
||||||
return SDValue();
|
return SDValue();
|
||||||
|
@ -192,7 +192,7 @@ define float @test_fma_const_fold(float %a, float %b) nounwind {
|
|||||||
define float @test_fma_canonicalize(float %a, float %b) nounwind {
|
define float @test_fma_canonicalize(float %a, float %b) nounwind {
|
||||||
; CHECK: test_fma_canonicalize
|
; CHECK: test_fma_canonicalize
|
||||||
; CHECK: vmov.f32 s0
|
; CHECK: vmov.f32 s0
|
||||||
; CHECK: vfma.f32 s2, s0, s1
|
; CHECK: vfma.f32 s2, s1, s0
|
||||||
%ret = call float @llvm.fma.f32(float 2.0, float %a, float %b)
|
%ret = call float @llvm.fma.f32(float 2.0, float %a, float %b)
|
||||||
ret float %ret
|
ret float %ret
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user