aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.c
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2007-06-05 19:46:23 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2007-06-05 19:46:23 +0000
commit52ff33d0eb56df70238a99b7aa66140609f3abc3 (patch)
treeddb2aff474d2b21b69f98462040e6897f8ebc7ce /gcc/tree-vectorizer.c
parentb08f991d9127706927d639bb51173e4474b976df (diff)
downloadgcc-52ff33d0eb56df70238a99b7aa66140609f3abc3.zip
gcc-52ff33d0eb56df70238a99b7aa66140609f3abc3.tar.gz
gcc-52ff33d0eb56df70238a99b7aa66140609f3abc3.tar.bz2
rs6000.h (FIXED_SCRATCH): Use r0 as a scratch register on SPE targets.
* config/rs6000/rs6000.h (FIXED_SCRATCH): Use r0 as a scratch register on SPE targets. Change documentation to reflect reality. * config/rs6000/rs6000.c (rs6000_conditional_register_usage): Change FIXED_SCRATCH to 14 and document why we're keeping r14 out of the register allocation pool. (rs6000_reg_live_or_pic_offset_p): New function. (rs6000_emit_prologue): Move the actual saving of LR up to free r0 for holding r11. Split saving of SPE 64-bit registers into its own case. Ensure that offsets will always be in-range for 'evstdd' by using r11 as a scratch register to point at the start of the SPE save area. Save r11 if necessary, as it is the static chain register. (rs6000_emit_epilogue): Split restoring of SPE 64-bit registers into its own case. Ensure that offsets will always be in-range for 'evldd' by using r11 as a scratch register to point at the start of the SPE save area. Also adjust r11 when restoring the stack pointer to compensate for pre-loading r11. From-SVN: r125340
Diffstat (limited to 'gcc/tree-vectorizer.c')
0 files changed, 0 insertions, 0 deletions