diff options
Diffstat (limited to 'gcc/config/pa/pa.c')
-rw-r--r-- | gcc/config/pa/pa.c | 15 |
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++) |