ft32.md (ft32_general_movsrc_operand): Disable reg + sym +- const_int addressing...
authorJeff Law <law@redhat.com>
Mon, 15 Oct 2018 23:22:05 +0000 (17:22 -0600)
committerJeff Law <law@gcc.gnu.org>
Mon, 15 Oct 2018 23:22:05 +0000 (17:22 -0600)
* config/ft32/ft32.md (ft32_general_movsrc_operand): Disable
reg + sym +- const_int addressing modes.

From-SVN: r265179

gcc/ChangeLog
gcc/config/ft32/predicates.md

index 789e43b238848bafc65c297f45d253ee4ed1d24d..0f4e293d06faaf2bf86fab249160fdc296462102 100644 (file)
@@ -1,3 +1,8 @@
+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>
 
        * common.opt (fdiagnostics-minimum-margin-width=): New option.
index bac2e8ef5aa674e3714ad1eb7b25d2cc7b07efac..0c147ec1aabe3b7f09a83769cb7f3851c2da2bb3 100644 (file)
 ;; -------------------------------------------------------------------------
 
 ;; 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"
   (match_code "mem,const_int,reg,subreg,symbol_ref,label_ref,const")
@@ -34,7 +39,7 @@
   if (MEM_P (op)
       && GET_CODE (XEXP (op, 0)) == PLUS
       && 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 general_operand (op, mode);