mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 19:29:26 +02:00
- MIPS: removed target-specific real_to_real conversion, generic code handles it just well.
git-svn-id: trunk@25083 -
This commit is contained in:
parent
ac2006898f
commit
e82ecd66f3
@ -40,7 +40,7 @@ type
|
||||
{ procedure second_chararray_to_string;override; }
|
||||
{ procedure second_char_to_string;override; }
|
||||
procedure second_int_to_real; override;
|
||||
procedure second_real_to_real; override;
|
||||
{ procedure second_real_to_real; override; }
|
||||
{ procedure second_cord_to_pointer;override; }
|
||||
{ procedure second_proc_to_procvar;override; }
|
||||
{ procedure second_bool_to_int;override; }
|
||||
@ -207,32 +207,6 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
procedure tMIPSELtypeconvnode.second_real_to_real;
|
||||
const
|
||||
conv_op: array[tfloattype, tfloattype] of tasmop = (
|
||||
{ from: s32 s64 s80 sc80 c64 cur f128 }
|
||||
{ s32 } (A_MOV_S, A_CVT_S_D, A_NONE, A_NONE, A_NONE, A_NONE, A_NONE),
|
||||
{ s64 } (A_CVT_D_S, A_MOV_D, A_NONE, A_NONE, A_NONE, A_NONE, A_NONE),
|
||||
{ s80 } (A_NONE, A_NONE, A_NONE, A_NONE, A_NONE, A_NONE, A_NONE),
|
||||
{ sc80 } (A_NONE, A_NONE, A_NONE, A_NONE, A_NONE, A_NONE, A_NONE),
|
||||
{ c64 } (A_NONE, A_NONE, A_NONE, A_NONE, A_NONE, A_NONE, A_NONE),
|
||||
{ cur } (A_NONE, A_NONE, A_NONE, A_NONE, A_NONE, A_NONE, A_NONE),
|
||||
{ f128 } (A_NONE, A_NONE, A_NONE, A_NONE, A_NONE, A_NONE, A_NONE)
|
||||
);
|
||||
var
|
||||
op: tasmop;
|
||||
begin
|
||||
location_reset(location, LOC_FPUREGISTER, def_cgsize(resultdef));
|
||||
location_force_fpureg(current_asmdata.CurrAsmList, left.location, False);
|
||||
{ Convert value in fpu register from integer to float }
|
||||
op := conv_op[tfloatdef(resultdef).floattype, tfloatdef(left.resultdef).floattype];
|
||||
if op = A_NONE then
|
||||
internalerror(200401121);
|
||||
location.Register := cg.getfpuregister(current_asmdata.CurrAsmList, location.size);
|
||||
current_asmdata.CurrAsmList.concat(taicpu.op_reg_reg(op, location.Register, left.location.Register));
|
||||
end;
|
||||
|
||||
|
||||
procedure tMIPSELtypeconvnode.second_int_to_bool;
|
||||
var
|
||||
hreg1, hreg2: tregister;
|
||||
|
Loading…
Reference in New Issue
Block a user