xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/bitcast.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=x86
2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=x86-64
3*9880d681SAndroid Build Coastguard Worker; PR1033
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerdefine i64 @test1(double %t) {
6*9880d681SAndroid Build Coastguard Worker        %u = bitcast double %t to i64           ; <i64> [#uses=1]
7*9880d681SAndroid Build Coastguard Worker        ret i64 %u
8*9880d681SAndroid Build Coastguard Worker}
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Workerdefine double @test2(i64 %t) {
11*9880d681SAndroid Build Coastguard Worker        %u = bitcast i64 %t to double           ; <double> [#uses=1]
12*9880d681SAndroid Build Coastguard Worker        ret double %u
13*9880d681SAndroid Build Coastguard Worker}
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Workerdefine i32 @test3(float %t) {
16*9880d681SAndroid Build Coastguard Worker        %u = bitcast float %t to i32            ; <i32> [#uses=1]
17*9880d681SAndroid Build Coastguard Worker        ret i32 %u
18*9880d681SAndroid Build Coastguard Worker}
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Workerdefine float @test4(i32 %t) {
21*9880d681SAndroid Build Coastguard Worker        %u = bitcast i32 %t to float            ; <float> [#uses=1]
22*9880d681SAndroid Build Coastguard Worker        ret float %u
23*9880d681SAndroid Build Coastguard Worker}
24*9880d681SAndroid Build Coastguard Worker
25