[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / Hexagon / convertdptoll.ll
blob6b5bf56a248bca4aae690fac31ee72bd54309419
1 ; RUN: llc -march=hexagon -mcpu=hexagonv5  < %s | FileCheck %s
2 ; Check that we generate conversion from double precision floating point
3 ; to 64-bit integer value in IEEE complaint mode in V5.
5 ; CHECK: r{{[0-9]+}}:{{[0-9]+}} = convert_df2d(r{{[0-9]+}}:{{[0-9]+}}):chop
7 define i32 @main() nounwind {
8 entry:
9   %retval = alloca i32, align 4
10   %i = alloca i64, align 8
11   %a = alloca double, align 8
12   %b = alloca double, align 8
13   %c = alloca double, align 8
14   store i32 0, i32* %retval
15   store double 1.540000e+01, double* %a, align 8
16   store double 9.100000e+00, double* %b, align 8
17   %0 = load double, double* %a, align 8
18   %1 = load double, double* %b, align 8
19   %add = fadd double %0, %1
20   store volatile double %add, double* %c, align 8
21   %2 = load volatile double, double* %c, align 8
22   %conv = fptosi double %2 to i64
23   store i64 %conv, i64* %i, align 8
24   %3 = load i64, i64* %i, align 8
25   %conv1 = trunc i64 %3 to i32
26   ret i32 %conv1