1; RUN: llc < %s -march=arm -mattr=+vfp2 | FileCheck %s -check-prefix=VFP2 2; RUN: llc < %s -march=arm -mattr=+neon | FileCheck %s -check-prefix=NFP0 3; RUN: llc < %s -march=arm -mcpu=cortex-a8 | FileCheck %s -check-prefix=CORTEXA8 4; RUN: llc < %s -march=arm -mcpu=cortex-a9 | FileCheck %s -check-prefix=CORTEXA9 5 6define float @test(float %a, float %b) { 7entry: 8 %0 = fmul float %a, %b 9 ret float %0 10} 11 12; VFP2: test: 13; VFP2: vmul.f32 s0, s1, s0 14 15; NFP1: test: 16; NFP1: vmul.f32 d0, d1, d0 17; NFP0: test: 18; NFP0: vmul.f32 s0, s1, s0 19 20; CORTEXA8: test: 21; CORTEXA8: vmul.f32 d0, d1, d0 22; CORTEXA9: test: 23; CORTEXA9: vmul.f32 s{{.}}, s{{.}}, s{{.}} 24 25; VFP2: test2 26define float @test2(float %a) nounwind { 27; CHECK-NOT: mul 28; CHECK: mov pc, lr 29 %ret = fmul float %a, 1.0 30 ret float %ret 31} 32 33