predicates.md (x86_64_immediate_operand): Remove unneeded truncation to DImode.
authorUros Bizjak <ubizjak@gmail.com>
Tue, 12 Jul 2016 19:23:58 +0000 (21:23 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Tue, 12 Jul 2016 19:23:58 +0000 (21:23 +0200)
* config/i386/predicates.md (x86_64_immediate_operand)
<case CONST_INT>: Remove unneeded truncation to DImode.
<case CONST>: Ditto.
(x86_64_zext_immediate_operand) <case CONST>: Ditto.

From-SVN: r238259

gcc/ChangeLog
gcc/config/i386/predicates.md

index b8db66377f2e4634f95f8aece98aae295cdd0430..6cb8da203fafd278fad3a2f492077c7fca4be320 100644 (file)
@@ -1,3 +1,10 @@
+2016-07-12  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/predicates.md (x86_64_immediate_operand)
+       <case CONST_INT>: Remove unneeded truncation to DImode.
+       <case CONST>: Ditto.
+       (x86_64_zext_immediate_operand) <case CONST>: Ditto.
+
 2016-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
 
        PR target/71805
index 6854c37a74f70b697e00cf6dde01d268cf635554..219674e0317fae2e3cca17461c4c7827fbcd7833 100644 (file)
     {
     case CONST_INT:
       {
-        HOST_WIDE_INT val = trunc_int_for_mode (INTVAL (op), DImode);
+        HOST_WIDE_INT val = INTVAL (op);
         return trunc_int_for_mode (val, SImode) == val;
       }
     case SYMBOL_REF:
        {
          rtx op1 = XEXP (XEXP (op, 0), 0);
          rtx op2 = XEXP (XEXP (op, 0), 1);
-         HOST_WIDE_INT offset;
 
          if (ix86_cmodel == CM_LARGE)
            return false;
          if (!CONST_INT_P (op2))
            return false;
 
-         offset = trunc_int_for_mode (INTVAL (op2), DImode);
+         HOST_WIDE_INT offset = INTVAL (op2);
          if (trunc_int_for_mode (offset, SImode) != offset)
            return false;
 
        {
          rtx op1 = XEXP (XEXP (op, 0), 0);
          rtx op2 = XEXP (XEXP (op, 0), 1);
-         HOST_WIDE_INT offset;
 
          if (ix86_cmodel == CM_LARGE)
            return false;
          if (!CONST_INT_P (op2))
            return false;
 
-         offset = trunc_int_for_mode (INTVAL (op2), DImode);
+         HOST_WIDE_INT offset = INTVAL (op2);
          if (trunc_int_for_mode (offset, SImode) != offset)
            return false;