Commit 95debbf1 by Jeff Law Committed by Jeff Law

ft32.md (ft32_general_movsrc_operand): Disable reg + sym +- const_int addressing modes.

	* config/ft32/ft32.md (ft32_general_movsrc_operand): Disable
	reg + sym +- const_int addressing modes.

From-SVN: r265179
parent 0141ab44
2018-10-12 Jeff Law <law@redhat.com>
* config/ft32/ft32.md (ft32_general_movsrc_operand): Disable
reg + sym +- const_int addressing modes.
2018-10-15 David Malcolm <dmalcolm@redhat.com> 2018-10-15 David Malcolm <dmalcolm@redhat.com>
* common.opt (fdiagnostics-minimum-margin-width=): New option. * common.opt (fdiagnostics-minimum-margin-width=): New option.
...@@ -23,6 +23,11 @@ ...@@ -23,6 +23,11 @@
;; ------------------------------------------------------------------------- ;; -------------------------------------------------------------------------
;; Nonzero if OP can be source of a simple move operation. ;; Nonzero if OP can be source of a simple move operation.
;;
;; The CONST_INT could really be CONST if we were to fix
;; ft32_print_operand_address to format the address correctly.
;; It might require assembler/linker work as well to ensure
;; the right relocation is emitted.
(define_predicate "ft32_general_movsrc_operand" (define_predicate "ft32_general_movsrc_operand"
(match_code "mem,const_int,reg,subreg,symbol_ref,label_ref,const") (match_code "mem,const_int,reg,subreg,symbol_ref,label_ref,const")
...@@ -34,7 +39,7 @@ ...@@ -34,7 +39,7 @@
if (MEM_P (op) if (MEM_P (op)
&& GET_CODE (XEXP (op, 0)) == PLUS && GET_CODE (XEXP (op, 0)) == PLUS
&& GET_CODE (XEXP (XEXP (op, 0), 0)) == REG && GET_CODE (XEXP (XEXP (op, 0), 0)) == REG
&& GET_CODE (XEXP (XEXP (op, 0), 1)) == CONST) && GET_CODE (XEXP (XEXP (op, 0), 1)) == CONST_INT)
return 1; return 1;
return general_operand (op, mode); return general_operand (op, mode);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment