diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/ARM/ARMInstrInfo.td | 13 | ||||
-rw-r--r-- | lib/Target/ARM/README.txt | 2 |
2 files changed, 12 insertions, 3 deletions
diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td index e427050440..ff9d9e7a03 100644 --- a/lib/Target/ARM/ARMInstrInfo.td +++ b/lib/Target/ARM/ARMInstrInfo.td @@ -286,13 +286,22 @@ def FDIVD : DFPBinOp<"fdivd", fdiv>; // Floating Point Load def FLDS : InstARM<(ops FPRegs:$dst, IntRegs:$addr), - "flds $dst, $addr", + "flds $dst, [$addr]", [(set FPRegs:$dst, (load IntRegs:$addr))]>; def FLDD : InstARM<(ops DFPRegs:$dst, IntRegs:$addr), - "fldd $dst, $addr", + "fldd $dst, [$addr]", [(set DFPRegs:$dst, (load IntRegs:$addr))]>; +// Floating Point Store +def FSTS : InstARM<(ops FPRegs:$src, IntRegs:$addr), + "fsts $src, [$addr]", + [(store FPRegs:$src, IntRegs:$addr)]>; + +def FSTD : InstARM<(ops DFPRegs:$src, IntRegs:$addr), + "fstd $src, [$addr]", + [(store DFPRegs:$src, IntRegs:$addr)]>; + def : Pat<(ARMcall tglobaladdr:$dst), (bl tglobaladdr:$dst)>; diff --git a/lib/Target/ARM/README.txt b/lib/Target/ARM/README.txt index 9e846565c8..3f0e4f951d 100644 --- a/lib/Target/ARM/README.txt +++ b/lib/Target/ARM/README.txt @@ -29,7 +29,7 @@ add r0, r1, r0 ---------------------------------------------------------- -add an offset to FLDS/FLDD addressing mode +add an offset to FLDS/FLDD/FSTD/FSTS addressing mode ---------------------------------------------------------- |