b5d7781576855aa7957674510a6f34c06d91793a
[oota-llvm.git] / test / Transforms / Float2Int / toolarge.ll
1 ; RUN: opt < %s -float2int -float2int-max-integer-bw=256 -S | FileCheck %s
2
3 ; CHECK-LABEL: @neg_toolarge
4 ; CHECK:  %1 = uitofp i80 %a to fp128
5 ; CHECK:  %2 = fadd fp128 %1, %1
6 ; CHECK:  %3 = fptoui fp128 %2 to i80
7 ; CHECK:  ret i80 %3
8 ; fp128 has a 112-bit mantissa, which can hold an i80. But we only support
9 ; up to i64, so it should fail (even though the max integer bitwidth is 256).
10 define i80 @neg_toolarge(i80 %a) {
11   %1 = uitofp i80 %a to fp128
12   %2 = fadd fp128 %1, %1
13   %3 = fptoui fp128 %2 to i80
14   ret i80 %3
15 }
16