1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -O1 -march=sparc | FileCheck %s -check-prefix=NO_ITIN 2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -O1 -march=sparc -mcpu=leon2 | FileCheck %s -check-prefix=LEON2_ITIN 3*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -O1 -march=sparc -mcpu=leon3 | FileCheck %s -check-prefix=LEON3_4_ITIN 4*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -O1 -march=sparc -mcpu=leon4 | FileCheck %s -check-prefix=LEON3_4_ITIN 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker; NO_ITIN-LABEL: f32_ops: 7*9880d681SAndroid Build Coastguard Worker; NO_ITIN: ld 8*9880d681SAndroid Build Coastguard Worker; NO_ITIN-NEXT: ld 9*9880d681SAndroid Build Coastguard Worker; NO_ITIN-NEXT: ld 10*9880d681SAndroid Build Coastguard Worker; NO_ITIN-NEXT: ld 11*9880d681SAndroid Build Coastguard Worker; NO_ITIN-NEXT: fadds 12*9880d681SAndroid Build Coastguard Worker; NO_ITIN-NEXT: fsubs 13*9880d681SAndroid Build Coastguard Worker; NO_ITIN-NEXT: fmuls 14*9880d681SAndroid Build Coastguard Worker; NO_ITIN-NEXT: retl 15*9880d681SAndroid Build Coastguard Worker; NO_ITIN-NEXT: fdivs 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Worker; LEON2_ITIN-LABEL: f32_ops: 18*9880d681SAndroid Build Coastguard Worker; LEON2_ITIN: ld 19*9880d681SAndroid Build Coastguard Worker; LEON2_ITIN-NEXT: ld 20*9880d681SAndroid Build Coastguard Worker; LEON2_ITIN-NEXT: fadds 21*9880d681SAndroid Build Coastguard Worker; LEON2_ITIN-NEXT: ld 22*9880d681SAndroid Build Coastguard Worker; LEON2_ITIN-NEXT: fsubs 23*9880d681SAndroid Build Coastguard Worker; LEON2_ITIN-NEXT: ld 24*9880d681SAndroid Build Coastguard Worker; LEON2_ITIN-NEXT: fmuls 25*9880d681SAndroid Build Coastguard Worker; LEON2_ITIN-NEXT: retl 26*9880d681SAndroid Build Coastguard Worker; LEON2_ITIN-NEXT: fdivs 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Worker; LEON3_4_ITIN-LABEL: f32_ops: 29*9880d681SAndroid Build Coastguard Worker; LEON3_4_ITIN: ld 30*9880d681SAndroid Build Coastguard Worker; LEON3_4_ITIN-NEXT: ld 31*9880d681SAndroid Build Coastguard Worker; LEON3_4_ITIN-NEXT: ld 32*9880d681SAndroid Build Coastguard Worker; LEON3_4_ITIN-NEXT: fadds 33*9880d681SAndroid Build Coastguard Worker; LEON3_4_ITIN-NEXT: ld 34*9880d681SAndroid Build Coastguard Worker; LEON3_4_ITIN-NEXT: fsubs 35*9880d681SAndroid Build Coastguard Worker; LEON3_4_ITIN-NEXT: fmuls 36*9880d681SAndroid Build Coastguard Worker; LEON3_4_ITIN-NEXT: retl 37*9880d681SAndroid Build Coastguard Worker; LEON3_4_ITIN-NEXT: fdivs 38*9880d681SAndroid Build Coastguard Worker 39*9880d681SAndroid Build Coastguard Workerdefine float @f32_ops(float* byval %a, float* byval %b, float* byval %c, float* byval %d) { 40*9880d681SAndroid Build Coastguard Workerentry: 41*9880d681SAndroid Build Coastguard Worker %0 = load float, float* %a, align 8 42*9880d681SAndroid Build Coastguard Worker %1 = load float, float* %b, align 8 43*9880d681SAndroid Build Coastguard Worker %2 = load float, float* %c, align 8 44*9880d681SAndroid Build Coastguard Worker %3 = load float, float* %d, align 8 45*9880d681SAndroid Build Coastguard Worker %4 = fadd float %0, %1 46*9880d681SAndroid Build Coastguard Worker %5 = fsub float %4, %2 47*9880d681SAndroid Build Coastguard Worker %6 = fmul float %5, %3 48*9880d681SAndroid Build Coastguard Worker %7 = fdiv float %6, %4 49*9880d681SAndroid Build Coastguard Worker ret float %7 50*9880d681SAndroid Build Coastguard Worker}