diff options
author | Richard Stallman <rms@gnu.org> | 1992-09-03 23:25:40 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-09-03 23:25:40 +0000 |
commit | 39fa3485494de7fae8850e58cc0213cef37683a9 (patch) | |
tree | a3741b5e2396881ff4990b8e3dee0d841fbbc666 /gcc | |
parent | f2a02c3a1d591789634b58af1fe65ead27b5eaad (diff) | |
download | gcc-39fa3485494de7fae8850e58cc0213cef37683a9.zip gcc-39fa3485494de7fae8850e58cc0213cef37683a9.tar.gz gcc-39fa3485494de7fae8850e58cc0213cef37683a9.tar.bz2 |
(setup_save_areas): Don't look at WORDS_BIG_ENDIAN.
From-SVN: r2049
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/caller-save.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/gcc/caller-save.c b/gcc/caller-save.c index cc356c3..4c92159 100644 --- a/gcc/caller-save.c +++ b/gcc/caller-save.c @@ -334,22 +334,16 @@ setup_save_areas (pchanged) = assign_stack_local (regno_save_mode[i][j], GET_MODE_SIZE (regno_save_mode[i][j]), 0); - /* Setup singe word save area just in case... */ + /* Setup single word save area just in case... */ for (k = 0; k < j; k++) { - int offset; - rtx temp; + /* This should not depend on WORDS_BIG_ENDIAN. + The order of words in regs is the same as in memory. */ + rtx temp = gen_rtx (MEM, regno_save_mode[i+k][1], + XEXP (regno_save_mem[i][j], 0)); - if (WORDS_BIG_ENDIAN) - offset = k * UNITS_PER_WORD; - else - offset = - k * UNITS_PER_WORD; - - temp - = gen_rtx(MEM, regno_save_mode[i+k][1], - XEXP (regno_save_mem[i][j], 0)); regno_save_mem[i+k][1] - = adj_offsettable_operand(temp, offset); + = adj_offsettable_operand (temp, k * UNITS_PER_WORD); } *pchanged = 1; } |