Hello!

No functional change.

2011-05-05  Uros Bizjak  <ubiz...@gmail.com>

        * config/i386/i386.md (*movdf_internal_rex64): Simplify nested "if"
        conditions.
        (*movdf_internal): Ditto.
        (*movdf_internal_nointeger): Ditto.
        (*movsf_internal): Ditto.

Tested on x86_64-pc-linux-gnu {,-m32} AVX target, committed to mainline SVN.

Uros.
Index: i386.md
===================================================================
--- i386.md     (revision 173395)
+++ i386.md     (working copy)
@@ -1893,15 +1893,15 @@
        {
          if (get_attr_mode (insn) == MODE_V4SF)
            return "%vmovups\t{%1, %0|%0, %1}";
-        else
-          return "%vmovdqu\t{%1, %0|%0, %1}";
+         else
+           return "%vmovdqu\t{%1, %0|%0, %1}";
        }
       else
        {
          if (get_attr_mode (insn) == MODE_V4SF)
            return "%vmovaps\t{%1, %0|%0, %1}";
-        else
-          return "%vmovdqa\t{%1, %0|%0, %1}";
+         else
+           return "%vmovdqa\t{%1, %0|%0, %1}";
        }
     default:
       gcc_unreachable ();
@@ -1956,15 +1956,15 @@
        {
          if (get_attr_mode (insn) == MODE_V4SF)
            return "%vmovups\t{%1, %0|%0, %1}";
-        else
-          return "%vmovdqu\t{%1, %0|%0, %1}";
+         else
+           return "%vmovdqu\t{%1, %0|%0, %1}";
        }
       else
        {
          if (get_attr_mode (insn) == MODE_V4SF)
            return "%vmovaps\t{%1, %0|%0, %1}";
-        else
-          return "%vmovdqa\t{%1, %0|%0, %1}";
+         else
+           return "%vmovdqa\t{%1, %0|%0, %1}";
        }
     default:
       gcc_unreachable ();
@@ -2004,13 +2004,15 @@
       /* Handle broken assemblers that require movd instead of movq.  */
       if (GENERAL_REG_P (operands[0]) || GENERAL_REG_P (operands[1]))
        return "%vmovd\t{%1, %0|%0, %1}";
-      return "%vmovq\t{%1, %0|%0, %1}";
+      else
+       return "%vmovq\t{%1, %0|%0, %1}";
 
     case TYPE_MMXMOV:
       /* Handle broken assemblers that require movd instead of movq.  */
       if (GENERAL_REG_P (operands[0]) || GENERAL_REG_P (operands[1]))
        return "movd\t{%1, %0|%0, %1}";
-      return "movq\t{%1, %0|%0, %1}";
+      else
+       return "movq\t{%1, %0|%0, %1}";
 
     case TYPE_SSELOG1:
       return "%vpxor\t%0, %d0";
@@ -3001,15 +3003,10 @@
        case MODE_DI:
          return "%vmovq\t{%1, %0|%0, %1}";
        case MODE_DF:
-         if (TARGET_AVX)
-           {
-             if (REG_P (operands[0]) && REG_P (operands[1]))
-               return "vmovsd\t{%1, %0, %0|%0, %0, %1}";
-             else
-               return "vmovsd\t{%1, %0|%0, %1}";
-           }
+         if (TARGET_AVX && REG_P (operands[0]) && REG_P (operands[1]))
+           return "vmovsd\t{%1, %0, %0|%0, %0, %1}";
          else
-           return "movsd\t{%1, %0|%0, %1}";
+           return "%vmovsd\t{%1, %0|%0, %1}";
        case MODE_V1DF:
          return "%vmovlpd\t{%1, %d0|%d0, %1}";
        case MODE_V2SF:
@@ -3164,35 +3161,20 @@
        case MODE_DI:
          return "%vmovq\t{%1, %0|%0, %1}";
        case MODE_DF:
-         if (TARGET_AVX)
-           {
-             if (REG_P (operands[0]) && REG_P (operands[1]))
-               return "vmovsd\t{%1, %0, %0|%0, %0, %1}";
-             else
-               return "vmovsd\t{%1, %0|%0, %1}";
-           }
+         if (TARGET_AVX && REG_P (operands[0]) && REG_P (operands[1]))
+           return "vmovsd\t{%1, %0, %0|%0, %0, %1}";
          else
-           return "movsd\t{%1, %0|%0, %1}";
+           return "%vmovsd\t{%1, %0|%0, %1}";
        case MODE_V1DF:
-         if (TARGET_AVX)
-           {
-             if (REG_P (operands[0]))
-               return "vmovlpd\t{%1, %0, %0|%0, %0, %1}";
-             else
-               return "vmovlpd\t{%1, %0|%0, %1}";
-           }
+         if (TARGET_AVX && REG_P (operands[0]))
+           return "vmovlpd\t{%1, %0, %0|%0, %0, %1}";
          else
-           return "movlpd\t{%1, %0|%0, %1}";
+           return "%vmovlpd\t{%1, %0|%0, %1}";
        case MODE_V2SF:
-         if (TARGET_AVX)
-           {
-             if (REG_P (operands[0]))
-               return "vmovlps\t{%1, %0, %0|%0, %0, %1}";
-             else
-               return "vmovlps\t{%1, %0|%0, %1}";
-           }
+         if (TARGET_AVX && REG_P (operands[0]))
+           return "vmovlps\t{%1, %0, %0|%0, %0, %1}";
          else
-           return "movlps\t{%1, %0|%0, %1}";
+           return "%vmovlps\t{%1, %0|%0, %1}";
        default:
          gcc_unreachable ();
        }
@@ -3336,35 +3318,20 @@
        case MODE_DI:
          return "%vmovq\t{%1, %0|%0, %1}";
        case MODE_DF:
-         if (TARGET_AVX)
-           {
-             if (REG_P (operands[0]) && REG_P (operands[1]))
-               return "vmovsd\t{%1, %0, %0|%0, %0, %1}";
-             else
-               return "vmovsd\t{%1, %0|%0, %1}";
-           }
+         if (TARGET_AVX && REG_P (operands[0]) && REG_P (operands[1]))
+           return "vmovsd\t{%1, %0, %0|%0, %0, %1}";
          else
-           return "movsd\t{%1, %0|%0, %1}";
+           return "%vmovsd\t{%1, %0|%0, %1}";
        case MODE_V1DF:
-         if (TARGET_AVX)
-           {
-             if (REG_P (operands[0]))
-               return "vmovlpd\t{%1, %0, %0|%0, %0, %1}";
-             else
-               return "vmovlpd\t{%1, %0|%0, %1}";
-           }
+         if (TARGET_AVX && REG_P (operands[0]))
+           return "vmovlpd\t{%1, %0, %0|%0, %0, %1}";
          else
-           return "movlpd\t{%1, %0|%0, %1}";
+           return "%vmovlpd\t{%1, %0|%0, %1}";
        case MODE_V2SF:
-         if (TARGET_AVX)
-           {
-             if (REG_P (operands[0]))
-               return "vmovlps\t{%1, %0, %0|%0, %0, %1}";
-             else
-               return "vmovlps\t{%1, %0|%0, %1}";
-           }
+         if (TARGET_AVX && REG_P (operands[0]))
+           return "vmovlps\t{%1, %0, %0|%0, %0, %1}";
          else
-           return "movlps\t{%1, %0|%0, %1}";
+           return "%vmovlps\t{%1, %0|%0, %1}";
        default:
          gcc_unreachable ();
        }
@@ -3483,15 +3450,10 @@
       else
        return "%vmovss\t{%1, %d0|%d0, %1}";
     case 7:
-      if (TARGET_AVX)
-        {
-         if (REG_P (operands[1]))
-           return "vmovss\t{%1, %0, %0|%0, %0, %1}";
-         else
-           return "vmovss\t{%1, %0|%0, %1}";
-       }
+      if (TARGET_AVX && REG_P (operands[1]))
+       return "vmovss\t{%1, %0, %0|%0, %0, %1}";
       else
-       return "movss\t{%1, %0|%0, %1}";
+       return "%vmovss\t{%1, %0|%0, %1}";
     case 8:
       return "%vmovss\t{%1, %0|%0, %1}";
 

Reply via email to