forked from OSchip/llvm-project
R600/SI: Match fp_to_uint / uint_to_fp for f64
llvm-svn: 209388
This commit is contained in:
parent
6663f8f2c0
commit
c3a73c3087
|
@ -977,8 +977,13 @@ defm V_CVT_F64_F32 : VOP1_64_32 <0x00000010, "V_CVT_F64_F32",
|
|||
//defm V_CVT_F32_UBYTE1 : VOP1_32 <0x00000012, "V_CVT_F32_UBYTE1", []>;
|
||||
//defm V_CVT_F32_UBYTE2 : VOP1_32 <0x00000013, "V_CVT_F32_UBYTE2", []>;
|
||||
//defm V_CVT_F32_UBYTE3 : VOP1_32 <0x00000014, "V_CVT_F32_UBYTE3", []>;
|
||||
//defm V_CVT_U32_F64 : VOP1_32 <0x00000015, "V_CVT_U32_F64", []>;
|
||||
//defm V_CVT_F64_U32 : VOP1_64 <0x00000016, "V_CVT_F64_U32", []>;
|
||||
defm V_CVT_U32_F64 : VOP1_32_64 <0x00000015, "V_CVT_U32_F64",
|
||||
[(set i32:$dst, (fp_to_uint f64:$src0))]
|
||||
>;
|
||||
defm V_CVT_F64_U32 : VOP1_64_32 <0x00000016, "V_CVT_F64_U32",
|
||||
[(set f64:$dst, (uint_to_fp i32:$src0))]
|
||||
>;
|
||||
|
||||
defm V_FRACT_F32 : VOP1_32 <0x00000020, "V_FRACT_F32",
|
||||
[(set f32:$dst, (AMDGPUfract f32:$src0))]
|
||||
>;
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
; RUN: llc -march=r600 -mcpu=SI -verify-machineinstrs < %s | FileCheck -check-prefix=SI %s
|
||||
|
||||
; SI-LABEL: @fp_to_uint_i32_f64
|
||||
; SI: V_CVT_U32_F64_e32
|
||||
define void @fp_to_uint_i32_f64(i32 addrspace(1)* %out, double %in) {
|
||||
%cast = fptoui double %in to i32
|
||||
store i32 %cast, i32 addrspace(1)* %out, align 4
|
||||
ret void
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
; RUN: llc -march=r600 -mcpu=SI -verify-machineinstrs < %s | FileCheck -check-prefix=SI %s
|
||||
|
||||
; SI-LABEL: @uint_to_fp_f64_i32
|
||||
; SI: V_CVT_F64_U32_e32
|
||||
define void @uint_to_fp_f64_i32(double addrspace(1)* %out, i32 %in) {
|
||||
%cast = uitofp i32 %in to double
|
||||
store double %cast, double addrspace(1)* %out, align 8
|
||||
ret void
|
||||
}
|
Loading…
Reference in New Issue