add float -> double and double -> float conversion

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30835 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2006-10-09 17:50:29 +00:00
parent f63697de04
commit 2dc0f2b55c
2 changed files with 20 additions and 0 deletions

View File

@ -200,6 +200,11 @@ def FUITOS : InstARM<(ops FPRegs:$dst, FPRegs:$src),
def FUITOD : InstARM<(ops DFPRegs:$dst, FPRegs:$src),
"fuitod $dst, $src", [(set DFPRegs:$dst, (armfuitod FPRegs:$src))]>;
def FCVTDS : InstARM<(ops DFPRegs:$dst, FPRegs:$src),
"fcvtds $dst, $src", [(set DFPRegs:$dst, (fextend FPRegs:$src))]>;
def FCVTSD : InstARM<(ops FPRegs:$dst, DFPRegs:$src),
"fcvtsd $dst, $src", [(set FPRegs:$dst, (fround DFPRegs:$src))]>;
// Floating Point Arithmetic
def FADDS : InstARM<(ops FPRegs:$dst, FPRegs:$a, FPRegs:$b),

View File

@ -0,0 +1,15 @@
; RUN: llvm-as < %s | llc -march=arm &&
; RUN: llvm-as < %s | llc -march=arm | grep fcvtds &&
; RUN: llvm-as < %s | llc -march=arm | grep fcvtsd
float %f(double %x) {
entry:
%tmp1 = cast double %x to float
ret float %tmp1
}
double %g(float %x) {
entry:
%tmp1 = cast float %x to double
ret double %tmp1
}