Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Integer / fold-fpcast_bt.ll
blob66d0fca268b3b5280ad08856570dbb6894d7fa02
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 3
2 ; RUN: opt -S -passes=instsimplify < %s | FileCheck %s
4 define i60 @test1() {
5 ; CHECK-LABEL: define i60 @test1() {
6 ; CHECK-NEXT:    ret i60 3
8   %fptoui = fptoui float 0x400D9999A0000000 to i60
9   ret i60 %fptoui
12 define float @test2() {
13 ; CHECK-LABEL: define float @test2() {
14 ; CHECK-NEXT:    ret float 1.700000e+01
16   %uitofp = uitofp i60 17 to float
17   ret float %uitofp
20 define i64 @test3() {
21 ; CHECK-LABEL: define i64 @test3() {
22 ; CHECK-NEXT:    ret i64 4614256656431372362
24   ret i64 bitcast (double 0x400921FB4D12D84A to i64)
27 define double @test4() {
28 ; CHECK-LABEL: define double @test4() {
29 ; CHECK-NEXT:    ret double 2.075080e-322
31   ret double bitcast (i64 42 to double)
34 define i30 @test5() {
35 ; CHECK-LABEL: define i30 @test5() {
36 ; CHECK-NEXT:    ret i30 3
38   %fptoui = fptoui float 0x400D9999A0000000 to i30
39   ret i30 %fptoui
42 define float @test6() {
43 ; CHECK-LABEL: define float @test6() {
44 ; CHECK-NEXT:    ret float 1.700000e+01
46   %uitofp = uitofp i30 17 to float
47   ret float %uitofp
50 define i64 @test7() {
51 ; CHECK-LABEL: define i64 @test7() {
52 ; CHECK-NEXT:    ret i64 4614256656431372362
54   ret i64 bitcast (double 0x400921FB4D12D84A to i64)
57 define double @test8() {
58 ; CHECK-LABEL: define double @test8() {
59 ; CHECK-NEXT:    ret double 2.075080e-322
61   ret double bitcast (i64 42 to double)