Use static inline to do the right thing when built in C99 mode. Of course,
[llvm/stm8.git] / test / CodeGen / Thumb2 / cortex-fp.ll
blobd06f8a7beeb01a0feddba8a2d515d72985d1bdfa
1 ; RUN: llc < %s -mtriple=thumbv7-apple-darwin10 -march=thumb -mcpu=cortex-m3 | FileCheck %s -check-prefix=CORTEXM3
2 ; RUN: llc < %s -mtriple=thumbv7-apple-darwin10 -march=thumb -mcpu=cortex-m4 | FileCheck %s -check-prefix=CORTEXM4
3 ; RUN: llc < %s -mtriple=thumbv7-apple-darwin10 -march=thumb -mcpu=cortex-a8 | FileCheck %s -check-prefix=CORTEXA8
6 define float @foo(float %a, float %b) {
7 entry:
8 ; CHECK: foo
9 ; CORTEXM3: blx ___mulsf3
10 ; CORTEXM4: vmul.f32  s0, s1, s0
11 ; CORTEXA8: vmul.f32  d0, d1, d0
12   %0 = fmul float %a, %b
13   ret float %0
16 define double @bar(double %a, double %b) {
17 entry:
18 ; CHECK: bar
19   %0 = fmul double %a, %b
20 ; CORTEXM3: blx ___muldf3
21 ; CORTEXM4: blx ___muldf3
22 ; CORTEXA8: vmul.f64  d16, d17, d16
23   ret double %0