diff options
Diffstat (limited to 'gcc/config/sparc/sparc.c')
-rw-r--r-- | gcc/config/sparc/sparc.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 05b7d27fc01..36757c7ac5c 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -7725,7 +7725,7 @@ output_cbranch (rtx op, rtx dest, int label, int reversed, int annul, if (*labelno && insn && (note = find_reg_note (insn, REG_BR_PROB, NULL_RTX))) { strcpy (p, - ((INTVAL (XEXP (note, 0)) >= REG_BR_PROB_BASE / 2) ^ far) + ((XINT (note, 0) >= REG_BR_PROB_BASE / 2) ^ far) ? ",pt" : ",pn"); p += 3; spaces -= 3; @@ -8196,7 +8196,7 @@ output_v9branch (rtx op, rtx dest, int reg, int label, int reversed, if (insn && (note = find_reg_note (insn, REG_BR_PROB, NULL_RTX))) { strcpy (p, - ((INTVAL (XEXP (note, 0)) >= REG_BR_PROB_BASE / 2) ^ far) + ((XINT (note, 0) >= REG_BR_PROB_BASE / 2) ^ far) ? ",pt" : ",pn"); p += 3; } @@ -8544,6 +8544,16 @@ mems_ok_for_ldd_peep (rtx mem1, rtx mem2, rtx dependent_reg_rtx) return 1; } +/* Return the widened memory access made of MEM1 and MEM2 in MODE. */ + +rtx +widen_mem_for_ldd_peep (rtx mem1, rtx mem2, enum machine_mode mode) +{ + rtx x = widen_memory_access (mem1, mode, 0); + MEM_NOTRAP_P (x) = MEM_NOTRAP_P (mem1) && MEM_NOTRAP_P (mem2); + return x; +} + /* Return 1 if reg is a pseudo, or is the first register in a hard register pair. This makes it suitable for use in ldd and std insns. */ |