operand to be a PLUS expression.
* config/pa/pa.c (pa_secondary_reload): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151646
138bc75d-0d04-0410-961f-
82ee72b054a4
+2009-09-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/predicates.md (symbolic_operand): Require a CONST symbolic
+ operand to be a PLUS expression.
+ * config/pa/pa.c (pa_secondary_reload): Likewise.
+
2009-09-11 Jakub Jelinek <jakub@redhat.com>
* combine.c (propagate_for_debug_subst): Call wrap_constant on top.
break;
case CONST:
op = XEXP (x, 0);
- is_symbolic = (((GET_CODE (XEXP (op, 0)) == SYMBOL_REF
- && !SYMBOL_REF_TLS_MODEL (XEXP (op, 0)))
- || GET_CODE (XEXP (op, 0)) == LABEL_REF)
+ is_symbolic = (GET_CODE (op) == PLUS
+ && ((GET_CODE (XEXP (op, 0)) == SYMBOL_REF
+ && !SYMBOL_REF_TLS_MODEL (XEXP (op, 0)))
+ || GET_CODE (XEXP (op, 0)) == LABEL_REF)
&& GET_CODE (XEXP (op, 1)) == CONST_INT);
break;
default:
return 1;
case CONST:
op = XEXP (op, 0);
- return (((GET_CODE (XEXP (op, 0)) == SYMBOL_REF
- && !SYMBOL_REF_TLS_MODEL (XEXP (op, 0)))
- || GET_CODE (XEXP (op, 0)) == LABEL_REF)
+ return (GET_CODE (op) == PLUS
+ && ((GET_CODE (XEXP (op, 0)) == SYMBOL_REF
+ && !SYMBOL_REF_TLS_MODEL (XEXP (op, 0)))
+ || GET_CODE (XEXP (op, 0)) == LABEL_REF)
&& GET_CODE (XEXP (op, 1)) == CONST_INT);
default:
return 0;