OSDN Git Service

* config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 20 May 2000 23:05:59 +0000 (23:05 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 20 May 2000 23:05:59 +0000 (23:05 +0000)
* config/mn10300/mn10300.c (print_operand): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34062 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/mn10300/mn10300.c
gcc/config/mn10300/mn10300.md

index a1a00b1..fa37460 100644 (file)
@@ -1,5 +1,8 @@
 2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
 
+       * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
+       * config/mn10300/mn10300.c (print_operand): Likewise.
+
        * final.c (split_double): Right shift of negative values is not
        portable.
 
index 8104a50..fcd86a2 100644 (file)
@@ -177,8 +177,12 @@ print_operand (file, x, code)
              }
 
          case CONST_INT:
-           print_operand_address (file, x);
-           break;
+           {
+             rtx low, high;
+             split_double (x, &low, &high);
+             fprintf (file, "%ld", (long)INTVAL (low));
+             break;
+           }
 
          default:
            abort ();
@@ -231,11 +235,13 @@ print_operand (file, x, code)
              }
 
          case CONST_INT:
-           if (INTVAL (x) < 0)
-             print_operand_address (file, GEN_INT (-1));
-           else
-             print_operand_address (file, GEN_INT (0));
-           break;
+           {
+             rtx low, high;
+             split_double (x, &low, &high);
+             fprintf (file, "%ld", (long)INTVAL (high));
+             break;
+           }
+
          default:
            abort ();
          }
index 3accb09..125815b 100644 (file)
       case 11:
        if (GET_CODE (operands[1]) == CONST_INT)
          {
-           val[0] = INTVAL (operands[1]);
-           val[1] = val[0] < 0 ? -1 : 0;
+           rtx low, high;
+           split_double (operands[1], &low, &high);
+           val[0] = INTVAL (low);
+           val[1] = INTVAL (high);
          }
        if (GET_CODE (operands[1]) == CONST_DOUBLE)
          {
       case 11:
        if (GET_CODE (operands[1]) == CONST_INT)
          {
-           val[0] = INTVAL (operands[1]);
-           val[1] = val[0] < 0 ? -1 : 0;
+           rtx low, high;
+           split_double (operands[1], &low, &high);
+           val[0] = INTVAL (low);
+           val[1] = INTVAL (high);
          }
        if (GET_CODE (operands[1]) == CONST_DOUBLE)
          {