summaryrefslogtreecommitdiff
path: root/gcc48-rh1402585.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gcc48-rh1402585.patch')
-rw-r--r--gcc48-rh1402585.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc48-rh1402585.patch b/gcc48-rh1402585.patch
new file mode 100644
index 0000000..3aa1cae
--- /dev/null
+++ b/gcc48-rh1402585.patch
@@ -0,0 +1,32 @@
+--- gcc/reload.c (revision 235552)
++++ gcc/reload.c (working copy)
+@@ -4054,14 +4054,14 @@ find_reloads (rtx insn, int replace, int
+ &XEXP (recog_data.operand[i], 0), (rtx*) 0,
+ base_reg_class (VOIDmode, as, MEM, SCRATCH),
+ address_mode,
+- VOIDmode, 0, 0, i, RELOAD_FOR_INPUT);
++ VOIDmode, 0, 0, i, RELOAD_OTHER);
+ rld[operand_reloadnum[i]].inc
+ = GET_MODE_SIZE (GET_MODE (recog_data.operand[i]));
+
+ /* If this operand is an output, we will have made any
+ reloads for its address as RELOAD_FOR_OUTPUT_ADDRESS, but
+ now we are treating part of the operand as an input, so
+- we must change these to RELOAD_FOR_INPUT_ADDRESS. */
++ we must change these to RELOAD_FOR_OTHER_ADDRESS. */
+
+ if (modified[i] == RELOAD_WRITE)
+ {
+@@ -4070,10 +4070,10 @@ find_reloads (rtx insn, int replace, int
+ if (rld[j].opnum == i)
+ {
+ if (rld[j].when_needed == RELOAD_FOR_OUTPUT_ADDRESS)
+- rld[j].when_needed = RELOAD_FOR_INPUT_ADDRESS;
++ rld[j].when_needed = RELOAD_FOR_OTHER_ADDRESS;
+ else if (rld[j].when_needed
+ == RELOAD_FOR_OUTADDR_ADDRESS)
+- rld[j].when_needed = RELOAD_FOR_INPADDR_ADDRESS;
++ rld[j].when_needed = RELOAD_FOR_OTHER_ADDRESS;
+ }
+ }
+ }