xref: /aosp_15_r20/external/llvm/test/CodeGen/Mips/2008-07-07-IntDoubleConvertions.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips -mattr=single-float  < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workerdefine double @int2fp(i32 %a) nounwind {
4*9880d681SAndroid Build Coastguard Workerentry:
5*9880d681SAndroid Build Coastguard Worker; CHECK: int2fp
6*9880d681SAndroid Build Coastguard Worker; CHECK: __floatsidf
7*9880d681SAndroid Build Coastguard Worker	sitofp i32 %a to double		; <double>:0 [#uses=1]
8*9880d681SAndroid Build Coastguard Worker	ret double %0
9*9880d681SAndroid Build Coastguard Worker}
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Workerdefine double @uint2double(i32 %a) nounwind {
12*9880d681SAndroid Build Coastguard Workerentry:
13*9880d681SAndroid Build Coastguard Worker; CHECK: uint2double
14*9880d681SAndroid Build Coastguard Worker; CHECK: __floatunsidf
15*9880d681SAndroid Build Coastguard Worker	uitofp i32 %a to double		; <double>:0 [#uses=1]
16*9880d681SAndroid Build Coastguard Worker	ret double %0
17*9880d681SAndroid Build Coastguard Worker}
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard Workerdefine i32 @double2int(double %a) nounwind {
20*9880d681SAndroid Build Coastguard Workerentry:
21*9880d681SAndroid Build Coastguard Worker; CHECK: double2int
22*9880d681SAndroid Build Coastguard Worker; CHECK: __fixdfsi
23*9880d681SAndroid Build Coastguard Worker  fptosi double %a to i32   ; <i32>:0 [#uses=1]
24*9880d681SAndroid Build Coastguard Worker  ret i32 %0
25*9880d681SAndroid Build Coastguard Worker}
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Workerdefine i32 @double2uint(double %a) nounwind {
28*9880d681SAndroid Build Coastguard Workerentry:
29*9880d681SAndroid Build Coastguard Worker; CHECK: double2uint
30*9880d681SAndroid Build Coastguard Worker; CHECK: __fixunsdfsi
31*9880d681SAndroid Build Coastguard Worker  fptoui double %a to i32   ; <i32>:0 [#uses=1]
32*9880d681SAndroid Build Coastguard Worker  ret i32 %0
33*9880d681SAndroid Build Coastguard Worker}
34*9880d681SAndroid Build Coastguard Worker
35