Optimize AVX check in *movsf_internal.
authorH.J. Lu <hongjiu.lu@intel.com>
Tue, 7 Jun 2011 14:53:58 +0000 (14:53 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Tue, 7 Jun 2011 14:53:58 +0000 (07:53 -0700)
2011-06-07  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.md (*movsf_internal): Optimize AVX check.

From-SVN: r174750

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

index 1e19906d9d1ba0b6a8755e1e4b69f999caaa7352..f823caf8410d17bc7b3a07f51007a54d5cf5906f 100644 (file)
@@ -1,3 +1,7 @@
+2011-06-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.md (*movsf_internal): Optimize AVX check.
+
 2011-06-07  Sergey Grechanik  <mouseentity@ispras.ru>
 
        * config/arm/arm.c (coproc_secondary_reload_class): Return NO_REGS for
index 58de87b17521a58f4f9ba048ea701647d37efc78..3e18e7a2af1f190fe31a3dc58ad63b727ba47a46 100644 (file)
     case 6:
       if (get_attr_mode (insn) == MODE_V4SF)
        return "%vmovaps\t{%1, %0|%0, %1}";
+      if (TARGET_AVX)
+       return "vmovss\t{%1, %0, %0|%0, %0, %1}";
 
     case 7:
     case 8:
-      if (TARGET_AVX && REG_P (operands[0]) && REG_P (operands[1]))
-       return "vmovss\t{%1, %0, %0|%0, %0, %1}";
       return "%vmovss\t{%1, %0|%0, %1}";
 
     case 9: