Fixes BISX.A bug.  Committed.

2014-10-23  DJ Delorie  <d...@redhat.com>

        * config/msp430/msp430.c (msp430_print_operand): 'x' modifier is
        independend of -mlarge.
        * config/msp430/constraints.md (Ys): Update comment.

Index: config/msp430/constraints.md
===================================================================
--- config/msp430/constraints.md        (revision 216597)
+++ config/msp430/constraints.md        (working copy)
@@ -55,13 +55,13 @@
 (define_constraint "Yl"
   "Memory reference, labels only."
   (and (match_code "mem")
        (match_code "label_ref" "0")))
 
 
-;; These are memory references that are safe to use with the X suffix,
+;; These are memory references that are safe to use without the X suffix,
 ;; because we know/assume they need not index across the 64k boundary.
 (define_constraint "Ys"
   "Memory reference, stack only."
   (and (match_code "mem")
        (ior
        (and (match_code "plus" "0")
Index: config/msp430/msp430.c
===================================================================
--- config/msp430/msp430.c      (revision 216597)
+++ config/msp430/msp430.c      (working copy)
@@ -2604,13 +2604,13 @@ msp430_print_operand (FILE * file, rtx o
       /* We don't care which operand we use, but we want 'X' in the MD
         file, so we do it this way.  */
       return;
 
     case 'x':
       /* Similarly, but only for PSImodes.  BIC, for example, needs this.  */
-      if (TARGET_LARGE && GET_MODE (op) == PSImode)
+      if (GET_MODE (op) == PSImode)
        fprintf (file, "X");
       return;
 
     case 'Q':
       /* Likewise, for BR -> BRA.  */
       if (TARGET_LARGE)

Reply via email to