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 6 define float @test(float %a, float %b) { 7 entry: 8 %0 = fmul float %a, %b 9 ret float %0 10 } 11 12 ; VFP2: test: 13 ; VFP2: vmul.f32 s 14 15 ; NFP1: test: 16 ; NFP1: vmul.f32 d 17 ; NFP0: test: 18 ; NFP0: vmul.f32 s 19 20 ; CORTEXA8: test: 21 ; CORTEXA8: vmul.f32 d 22 ; CORTEXA9: test: 23 ; CORTEXA9: vmul.f32 s{{.}}, s{{.}}, s{{.}} 24 25 ; VFP2: test2 26 define 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