61 lines · plain
1; RUN: llc -mtriple=arm-eabi -mcpu=cortex-a9 -mattr=+vfp4 %s -o - | FileCheck %s2 3; CHECK: test14define float @test1(float %x) {5; CHECK-NOT: vfma6; CHECK: vmul.f327; CHECK-NOT: vfma8 %t1 = fmul float %x, 3.09 %t2 = call reassoc float @llvm.fma.f32(float %x, float 2.0, float %t1)10 ret float %t211}12 13; CHECK: test214define float @test2(float %x, float %y) {15; CHECK-NOT: vmul16; CHECK: vfma.f3217; CHECK-NOT: vmul18 %t1 = fmul float %x, 3.019 %t2 = call reassoc float @llvm.fma.f32(float %t1, float 2.0, float %y)20 ret float %t221}22 23; CHECK: test324define float @test3(float %x, float %y) {25; CHECK-NOT: vfma26; CHECK: vadd.f3227; CHECK-NOT: vfma28 %t2 = call float @llvm.fma.f32(float %x, float 1.0, float %y)29 ret float %t230}31 32; CHECK: test433define float @test4(float %x, float %y) {34; CHECK-NOT: vfma35; CHECK: vsub.f3236; CHECK-NOT: vfma37 %t2 = call float @llvm.fma.f32(float %x, float -1.0, float %y)38 ret float %t239}40 41; CHECK: test542define float @test5(float %x) {43; CHECK-NOT: vfma44; CHECK: vmul.f3245; CHECK-NOT: vfma46 %t2 = call reassoc float @llvm.fma.f32(float %x, float 2.0, float %x)47 ret float %t248}49 50; CHECK: test651define float @test6(float %x) {52; CHECK-NOT: vfma53; CHECK: vmul.f3254; CHECK-NOT: vfma55 %t1 = fsub float -0.0, %x56 %t2 = call reassoc float @llvm.fma.f32(float %x, float 5.0, float %t1)57 ret float %t258}59 60declare float @llvm.fma.f32(float, float, float)61