diff options
author | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | 2013-02-18 16:29:49 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2013-02-18 16:29:49 +0000 |
commit | 3f587ca3697be53b818d72d06f763cd9d52186e6 (patch) | |
tree | 06762f4094298247605efa4b1469830bbb86c12d | |
parent | ceaca33e28ab08fc6913935bcc50161d211f27b1 (diff) | |
download | gcc-3f587ca3697be53b818d72d06f763cd9d52186e6.zip gcc-3f587ca3697be53b818d72d06f763cd9d52186e6.tar.gz gcc-3f587ca3697be53b818d72d06f763cd9d52186e6.tar.bz2 |
re PR target/56347 (FAIL: gfortran.dg/integer_exponentiation_2.f90 -O2 execution test)
PR target/56347
* config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark
registers %fr12 and %fr12R as call used.
From-SVN: r196123
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/pa/pa.c | 15 |
2 files changed, 20 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4b53af8..e8be788 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,8 @@ -2013-02-18 John David Anglin <dave.anglin@nrc-cnrc.ca> +2013-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR target/56347 + * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark + registers %fr12 and %fr12R as call used. PR target/56214 * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 0d39483..7816eeb 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -10313,6 +10313,21 @@ pa_conditional_register_usage (void) { int i; + if (TARGET_HPUX) + { + /* Work around powf bug in libm. */ + if (TARGET_64BIT) + { + /* Mark %fr12 as call used. */ + call_used_regs[40] = 1; + } + else + { + /* Mark %fr12 and %fr12R as call used. */ + call_used_regs[48] = 1; + call_used_regs[49] = 1; + } + } if (!TARGET_64BIT && !TARGET_PA_11) { for (i = 56; i <= FP_REG_LAST; i++) |