* fixed location_force_reg() for big endian 32 bit targets and

LOC_SUBSETREF/LOC_CSUBSETREF (fixes test/tregreg4 on sparc and ppc32
    after r14892)

git-svn-id: trunk@14895 -
This commit is contained in:
Jonas Maebe 2010-02-13 11:29:42 +00:00
parent efc3054644
commit 6dd25eb233

View File

@ -604,7 +604,7 @@ implementation
{ MSB first in memory and e.g. byte(word_var) should }
{ return the second byte in this case (JM) }
if (target_info.endian = ENDIAN_BIG) and
(l.loc in [LOC_REFERENCE,LOC_CREFERENCE,LOC_SUBSETREF,LOC_CSUBSETREF]) then
(l.loc in [LOC_REFERENCE,LOC_CREFERENCE]) then
begin
inc(l.reference.offset,TCGSize2Size[l.size]-TCGSize2Size[dst_size]);
l.reference.alignment:=newalignment(l.reference.alignment,TCGSize2Size[l.size]-TCGSize2Size[dst_size]);