aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/pa/pa.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/pa/pa.c')
-rw-r--r--gcc/config/pa/pa.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 0d39483d908..7816eeb54e4 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++)