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 5 6; NO_ITIN-LABEL: f32_ops: 7; NO_ITIN: ld 8; NO_ITIN-NEXT: ld 9; NO_ITIN-NEXT: ld 10; NO_ITIN-NEXT: ld 11; NO_ITIN-NEXT: fadds 12; NO_ITIN-NEXT: fsubs 13; NO_ITIN-NEXT: fmuls 14; NO_ITIN-NEXT: retl 15; NO_ITIN-NEXT: fdivs 16 17; LEON2_ITIN-LABEL: f32_ops: 18; LEON2_ITIN: ld 19; LEON2_ITIN-NEXT: ld 20; LEON2_ITIN-NEXT: fadds 21; LEON2_ITIN-NEXT: ld 22; LEON2_ITIN-NEXT: fsubs 23; LEON2_ITIN-NEXT: ld 24; LEON2_ITIN-NEXT: fmuls 25; LEON2_ITIN-NEXT: retl 26; LEON2_ITIN-NEXT: fdivs 27 28; LEON3_4_ITIN-LABEL: f32_ops: 29; LEON3_4_ITIN: ld 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 38 39define float @f32_ops(float* byval %a, float* byval %b, float* byval %c, float* byval %d) { 40entry: 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 49 ret float %7 50} 51