[NDS32] Fix print operand for cctl register.
authorChung-Ju Wu <jasonwucj@gmail.com>
Wed, 25 Apr 2018 11:22:55 +0000 (11:22 +0000)
committerChung-Ju Wu <jasonwucj@gcc.gnu.org>
Wed, 25 Apr 2018 11:22:55 +0000 (11:22 +0000)
gcc/
* config/nds32/nds32.c (nds32_print_operand): Set op_value ealier.

From-SVN: r259643

gcc/ChangeLog
gcc/config/nds32/nds32.c

index 3c41147be5f84e4f93b6c356720d6aa6d174e5d5..3c7e29d2d7d0a3200606e80ce0b549217cefb90f 100644 (file)
@@ -1,3 +1,7 @@
+2018-04-25  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+       * config/nds32/nds32.c (nds32_print_operand): Set op_value ealier.
+
 2018-04-25  Chung-Ju Wu  <jasonwucj@gmail.com>
 
        * config/nds32/nds32.h (ASM_APP_ON): Add missing newline character.
index 8994c13d7b0e6a7cef6e2a9cf4444059a1741962..da8af4c6f1a8e317c2375c17d509b30decbc5163 100644 (file)
@@ -2944,13 +2944,15 @@ nds32_asm_globalize_label (FILE *stream, const char *name)
 static void
 nds32_print_operand (FILE *stream, rtx x, int code)
 {
+  HOST_WIDE_INT op_value = 0;
   HOST_WIDE_INT one_position;
   HOST_WIDE_INT zero_position;
   bool pick_lsb_p = false;
   bool pick_msb_p = false;
   int regno;
 
-  int op_value;
+  if (CONST_INT_P (x))
+    op_value = INTVAL (x);
 
   switch (code)
     {
@@ -3003,7 +3005,6 @@ nds32_print_operand (FILE *stream, rtx x, int code)
     case 'V':
       /* 'x' is supposed to be CONST_INT, get the value.  */
       gcc_assert (CONST_INT_P (x));
-      op_value = INTVAL (x);
 
       /* According to the Andes architecture,
         the system/user register index range is 0 ~ 1023.