Reenable use of TBAA during CodeGen
[oota-llvm.git] / test / CodeGen / SystemZ / fp-conv-12.ll
1 ; Test conversion of floating-point values to unsigned i64s (z10 only).
2 ;
3 ; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z10 | FileCheck %s
4
5 ; z10 doesn't have native support for unsigned fp-to-i64 conversions;
6 ; they were added in z196 as the Convert to Logical family of instructions.
7 ; Convert via signed i64s instead.
8
9 ; Test f32->i64.
10 define i64 @f1(float %f) {
11 ; CHECK-LABEL: f1:
12 ; CHECK: cebr
13 ; CHECK: sebr
14 ; CHECK: cgebr
15 ; CHECK: xihf
16 ; CHECK: br %r14
17   %conv = fptoui float %f to i64
18   ret i64 %conv
19 }
20
21 ; Test f64->i64.
22 define i64 @f2(double %f) {
23 ; CHECK-LABEL: f2:
24 ; CHECK: cdbr
25 ; CHECK: sdbr
26 ; CHECK: cgdbr
27 ; CHECK: xihf
28 ; CHECK: br %r14
29   %conv = fptoui double %f to i64
30   ret i64 %conv
31 }
32
33 ; Test f128->i64.
34 define i64 @f3(fp128 *%src) {
35 ; CHECK-LABEL: f3:
36 ; CHECK: cxbr
37 ; CHECK: sxbr
38 ; CHECK: cgxbr
39 ; CHECK: xihf
40 ; CHECK: br %r14
41   %f = load fp128 *%src
42   %conv = fptoui fp128 %f to i64
43   ret i64 %conv
44 }