]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGen/ARM/fmuls.ll
Vendor import of llvm release_34 branch r197841 (effectively, 3.4 RC3):
[FreeBSD/FreeBSD.git] / test / CodeGen / ARM / fmuls.ll
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 -mtriple=arm-eabi -mcpu=cortex-a8 | FileCheck %s -check-prefix=CORTEXA8
4 ; RUN: llc < %s -mtriple=arm-eabi -mcpu=cortex-a8 --enable-unsafe-fp-math | FileCheck %s -check-prefix=CORTEXA8U
5 ; RUN: llc < %s -mtriple=arm-darwin -mcpu=cortex-a8 | FileCheck %s -check-prefix=CORTEXA8U
6 ; RUN: llc < %s -march=arm -mcpu=cortex-a9 | FileCheck %s -check-prefix=CORTEXA9
7
8 define float @test(float %a, float %b) {
9 entry:
10         %0 = fmul float %a, %b
11         ret float %0
12 }
13
14 ; VFP2-LABEL: test:
15 ; VFP2:         vmul.f32        s
16
17 ; NFP1-LABEL: test:
18 ; NFP1:         vmul.f32        d
19 ; NFP0-LABEL: test:
20 ; NFP0:         vmul.f32        s
21
22 ; CORTEXA8-LABEL: test:
23 ; CORTEXA8:     vmul.f32        s
24 ; CORTEXA8U-LABEL: test:
25 ; CORTEXA8U:    vmul.f32        d
26 ; CORTEXA9-LABEL: test:
27 ; CORTEXA9:     vmul.f32        s
28
29 ; VFP2: test2
30 define float @test2(float %a) nounwind {
31 ; CHECK-NOT: mul
32 ; CHECK: mov pc, lr
33   %ret = fmul float %a, 1.0
34   ret float %ret
35 }
36