1 ; RUN: llc < %s -O1 -march=sparc | FileCheck %s -check-prefix=NO_ITIN
2 ; RUN: llc < %s -O1 -march=sparc -mcpu=leon2 | FileCheck %s -check-prefix=LEON2_ITIN
3 ; RUN: llc < %s -O1 -march=sparc -mcpu=leon3 | FileCheck %s -check-prefix=LEON3_4_ITIN
4 ; RUN: llc < %s -O1 -march=sparc -mcpu=leon4 | FileCheck %s -check-prefix=LEON3_4_ITIN
6 ; NO_ITIN-LABEL: f32_ops:
17 ; LEON2_ITIN-LABEL: f32_ops:
20 ; LEON2_ITIN-NEXT: fadds
22 ; LEON2_ITIN-NEXT: fsubs
24 ; LEON2_ITIN-NEXT: fmuls
25 ; LEON2_ITIN-NEXT: retl
26 ; LEON2_ITIN-NEXT: fdivs
28 ; LEON3_4_ITIN-LABEL: f32_ops:
30 ; LEON3_4_ITIN-NEXT: ld
31 ; LEON3_4_ITIN-NEXT: ld
32 ; LEON3_4_ITIN-NEXT: fadds
33 ; LEON3_4_ITIN-NEXT: ld
34 ; LEON3_4_ITIN-NEXT: fsubs
35 ; LEON3_4_ITIN-NEXT: fmuls
36 ; LEON3_4_ITIN-NEXT: retl
37 ; LEON3_4_ITIN-NEXT: fdivs
39 define float @f32_ops(float* byval %a, float* byval %b, float* byval %c, float* byval %d) {
41 %0 = load float, float* %a, align 8
42 %1 = load float, float* %b, align 8
43 %2 = load float, float* %c, align 8
44 %3 = load float, float* %d, align 8
45 %4 = fadd float %0, %1
46 %5 = fsub float %4, %2
47 %6 = fmul float %5, %3
48 %7 = fdiv float %6, %4