1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=hexagon -mcpu=hexagonv5 -enable-hexagon-ieee-rnd-near < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; Check that we generate conversion from double precision floating point 3*9880d681SAndroid Build Coastguard Worker; to 32-bit int value in IEEE rounding to the nearest mode in V5. 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker; CHECK: r{{[0-9]+}} = convert_df2w(r{{[0-9]+}}:{{[0-9]+}}) 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Workerdefine i32 @main() nounwind { 8*9880d681SAndroid Build Coastguard Workerentry: 9*9880d681SAndroid Build Coastguard Worker %retval = alloca i32, align 4 10*9880d681SAndroid Build Coastguard Worker %i = alloca i32, align 4 11*9880d681SAndroid Build Coastguard Worker %a = alloca double, align 8 12*9880d681SAndroid Build Coastguard Worker %b = alloca double, align 8 13*9880d681SAndroid Build Coastguard Worker %c = alloca double, align 8 14*9880d681SAndroid Build Coastguard Worker store i32 0, i32* %retval 15*9880d681SAndroid Build Coastguard Worker store double 1.540000e+01, double* %a, align 8 16*9880d681SAndroid Build Coastguard Worker store double 9.100000e+00, double* %b, align 8 17*9880d681SAndroid Build Coastguard Worker %0 = load double, double* %a, align 8 18*9880d681SAndroid Build Coastguard Worker %1 = load double, double* %b, align 8 19*9880d681SAndroid Build Coastguard Worker %add = fadd double %0, %1 20*9880d681SAndroid Build Coastguard Worker store double %add, double* %c, align 8 21*9880d681SAndroid Build Coastguard Worker %2 = load double, double* %c, align 8 22*9880d681SAndroid Build Coastguard Worker %conv = fptosi double %2 to i32 23*9880d681SAndroid Build Coastguard Worker store i32 %conv, i32* %i, align 4 24*9880d681SAndroid Build Coastguard Worker %3 = load i32, i32* %i, align 4 25*9880d681SAndroid Build Coastguard Worker ret i32 %3 26*9880d681SAndroid Build Coastguard Worker} 27