mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-07-18 12:29:27 +00:00
implement FLDD
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30802 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d9ae778125
commit
5aca927ae6
@ -104,10 +104,6 @@ def ldr : InstARM<(ops IntRegs:$dst, memri:$addr),
|
|||||||
"ldr $dst, $addr",
|
"ldr $dst, $addr",
|
||||||
[(set IntRegs:$dst, (load iaddr:$addr))]>;
|
[(set IntRegs:$dst, (load iaddr:$addr))]>;
|
||||||
|
|
||||||
def FLDS : InstARM<(ops FPRegs:$dst, IntRegs:$addr),
|
|
||||||
"flds $dst, $addr",
|
|
||||||
[(set FPRegs:$dst, (load IntRegs:$addr))]>;
|
|
||||||
|
|
||||||
def str : InstARM<(ops IntRegs:$src, memri:$addr),
|
def str : InstARM<(ops IntRegs:$src, memri:$addr),
|
||||||
"str $src, $addr",
|
"str $src, $addr",
|
||||||
[(store IntRegs:$src, iaddr:$addr)]>;
|
[(store IntRegs:$src, iaddr:$addr)]>;
|
||||||
@ -205,3 +201,13 @@ def FMULS : InstARM<(ops FPRegs:$dst, FPRegs:$a, FPRegs:$b),
|
|||||||
def FMULD : InstARM<(ops DFPRegs:$dst, DFPRegs:$a, DFPRegs:$b),
|
def FMULD : InstARM<(ops DFPRegs:$dst, DFPRegs:$a, DFPRegs:$b),
|
||||||
"fmuld $dst, $a, $b",
|
"fmuld $dst, $a, $b",
|
||||||
[(set DFPRegs:$dst, (fmul DFPRegs:$a, DFPRegs:$b))]>;
|
[(set DFPRegs:$dst, (fmul DFPRegs:$a, DFPRegs:$b))]>;
|
||||||
|
|
||||||
|
|
||||||
|
// Floating Point Load
|
||||||
|
def FLDS : InstARM<(ops FPRegs:$dst, IntRegs:$addr),
|
||||||
|
"flds $dst, $addr",
|
||||||
|
[(set FPRegs:$dst, (load IntRegs:$addr))]>;
|
||||||
|
|
||||||
|
def FLDD : InstARM<(ops DFPRegs:$dst, IntRegs:$addr),
|
||||||
|
"fldd $dst, $addr",
|
||||||
|
[(set DFPRegs:$dst, (load IntRegs:$addr))]>;
|
||||||
|
@ -29,6 +29,6 @@ add r0, r1, r0
|
|||||||
|
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
|
|
||||||
add an offset to FLDS addressing mode
|
add an offset to FLDS/FLDD addressing mode
|
||||||
|
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
|
@ -3,8 +3,9 @@
|
|||||||
; RUN: llvm-as < %s | llc -march=arm | grep fsitos &&
|
; RUN: llvm-as < %s | llc -march=arm | grep fsitos &&
|
||||||
; RUN: llvm-as < %s | llc -march=arm | grep fmrs &&
|
; RUN: llvm-as < %s | llc -march=arm | grep fmrs &&
|
||||||
; RUN: llvm-as < %s | llc -march=arm | grep fsitod &&
|
; RUN: llvm-as < %s | llc -march=arm | grep fsitod &&
|
||||||
; RUN: llvm-as < %s | llc -march=arm | grep fmrrd | wc -l | grep 3 &&
|
; RUN: llvm-as < %s | llc -march=arm | grep fmrrd | wc -l | grep 4 &&
|
||||||
; RUN: llvm-as < %s | llc -march=arm | grep fmdrr | wc -l | grep 2 &&
|
; RUN: llvm-as < %s | llc -march=arm | grep fmdrr | wc -l | grep 2 &&
|
||||||
|
; RUN: llvm-as < %s | llc -march=arm | grep fldd &&
|
||||||
; RUN: llvm-as < %s | llc -march=arm | grep flds &&
|
; RUN: llvm-as < %s | llc -march=arm | grep flds &&
|
||||||
; RUN: llvm-as < %s | llc -march=arm | grep ".word.*1065353216"
|
; RUN: llvm-as < %s | llc -march=arm | grep ".word.*1065353216"
|
||||||
|
|
||||||
@ -20,6 +21,12 @@ entry:
|
|||||||
ret double %tmp
|
ret double %tmp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double %h(double* %v) {
|
||||||
|
entry:
|
||||||
|
%tmp = load double* %v ; <double> [#uses=1]
|
||||||
|
ret double %tmp
|
||||||
|
}
|
||||||
|
|
||||||
float %h() {
|
float %h() {
|
||||||
entry:
|
entry:
|
||||||
ret float 1.000000e+00
|
ret float 1.000000e+00
|
||||||
|
Loading…
Reference in New Issue
Block a user