brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 6e1c783 Raw
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