diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2005-01-14 16:52:43 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2005-01-14 16:52:43 +0000 |
commit | b5a5beb9830357e16ca31590f68a73d59c95678d (patch) | |
tree | a6700108644bd85005bc0a268b641f6d43eaf5ed /gcc | |
parent | 5ca189994ef1475c2ee92ec5425ec5fb884871cf (diff) | |
download | gcc-b5a5beb9830357e16ca31590f68a73d59c95678d.zip gcc-b5a5beb9830357e16ca31590f68a73d59c95678d.tar.gz gcc-b5a5beb9830357e16ca31590f68a73d59c95678d.tar.bz2 |
rs6000.c (rs6000_stack_info): Fix caching of SPE 64-bit register usage.
* config/rs6000/rs6000.c (rs6000_stack_info): Fix caching of SPE
64-bit register usage.
(spe_func_has_64bit_regs_p): Add FIXME note.
[[Split portion of a mixed commit.]]
From-SVN: r93648.2
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 14 |
2 files changed, 16 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ff8610c..d79d9c0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2005-01-14 Aldy Hernandez <aldyh@redhat.com> + * config/rs6000/rs6000.c (rs6000_stack_info): Fix caching of SPE + 64-bit register usage. + (spe_func_has_64bit_regs_p): Add FIXME note. + +2005-01-14 Aldy Hernandez <aldyh@redhat.com> + * config/rs6000/rs6000.c (rs6000_generate_compare): Replace flag_finite_math_only with flag_unsafe_math_optimizations. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index b3c3534..a6a8871 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -12621,10 +12621,9 @@ rs6000_stack_info (void) { /* Cache value so we don't rescan instruction chain over and over. */ if (cfun->machine->insn_chain_scanned_p == 0) - { - cfun->machine->insn_chain_scanned_p = 1; - info_ptr->spe_64bit_regs_used = (int) spe_func_has_64bit_regs_p (); - } + cfun->machine->insn_chain_scanned_p + = spe_func_has_64bit_regs_p () + 1; + info_ptr->spe_64bit_regs_used = cfun->machine->insn_chain_scanned_p - 1; } /* Select which calling sequence. */ @@ -12933,6 +12932,13 @@ spe_func_has_64bit_regs_p (void) { rtx i; + /* FIXME: This should be implemented with attributes... + + (set_attr "spe64" "true")....then, + if (get_spe64(insn)) return true; + + It's the only reliable way to do the stuff below. */ + i = PATTERN (insn); if (GET_CODE (i) == SET) { |