diff options
author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2012-05-13 12:33:10 +0000 |
---|---|---|
committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2012-05-13 12:33:10 +0000 |
commit | 1949b0ae7a99a0a962f47cd0b3cb4ae1cd49e28a (patch) | |
tree | 85385feefb7b55b015f354b565a8b65dc8e80acb /compiler/cg64f32.pas | |
parent | 85d6f98a942a3065649b449d5a8a965588350312 (diff) | |
download | fpc-1949b0ae7a99a0a962f47cd0b3cb4ae1cd49e28a.tar.gz |
* moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for
future use by high level code generator targets
o this in turn required that all a_load*_loc* methods are called via
hlcg rather than via cg, since a location can be a subsetref/reg and
and those are no longer handled in tcg
o that then required moving several force_location_* routines into
thlcg because they use a_load_loc*, but did not take tdef size
parameters (which are required by the thlcg a_load_loc* routines)
o the only practical consequence is that from now on, you have to
use hlcg.location_force_mem/reg() (fpureg not yet) and
hlcg.gen_load_loc_cgpara() instead of the removed versions from ncgutil,
and hlcg.a_load*loc*() instead of cg.a_load*loc* if a subsetref/reg
might be involved
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@21287 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/cg64f32.pas')
-rw-r--r-- | compiler/cg64f32.pas | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/compiler/cg64f32.pas b/compiler/cg64f32.pas index cdd77b5da3..e0fa8c1aec 100644 --- a/compiler/cg64f32.pas +++ b/compiler/cg64f32.pas @@ -313,9 +313,9 @@ unit cg64f32; tmpsref.ref.index:=tmpreg; end; tmpsref.bitlen:=32; - cg.a_load_subsetref_reg(list,OS_32,OS_32,tmpsref,destreg.reglo); + hlcg.a_load_subsetref_reg(list,u32inttype,u32inttype,tmpsref,destreg.reglo); inc(tmpsref.ref.offset,4); - cg.a_load_subsetref_reg(list,OS_32,OS_32,tmpsref,destreg.reghi); + hlcg.a_load_subsetref_reg(list,u32inttype,u32inttype,tmpsref,destreg.reghi); end; @@ -342,9 +342,9 @@ unit cg64f32; end; tmpsref:=sref; tmpsref.bitlen:=32; - cg.a_load_reg_subsetref(list,OS_32,OS_32,fromreg.reglo,tmpsref); + hlcg.a_load_reg_subsetref(list,u32inttype,u32inttype,fromreg.reglo,tmpsref); inc(tmpsref.ref.offset,4); - cg.a_load_reg_subsetref(list,OS_32,OS_32,fromreg.reghi,tmpsref); + hlcg.a_load_reg_subsetref(list,u32inttype,u32inttype,fromreg.reghi,tmpsref); end; @@ -360,9 +360,9 @@ unit cg64f32; swap64(a); tmpsref := sref; tmpsref.bitlen := 32; - cg.a_load_const_subsetref(list,OS_32,aint(lo(a)),tmpsref); + hlcg.a_load_const_subsetref(list,u32inttype,aint(lo(a)),tmpsref); inc(tmpsref.ref.offset,4); - cg.a_load_const_subsetref(list,OS_32,aint(hi(a)),tmpsref); + hlcg.a_load_const_subsetref(list,u32inttype,aint(hi(a)),tmpsref); end; |