Optimize AVX check in *movsf_internal.
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 7 Jun 2011 14:53:58 +0000 (14:53 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 7 Jun 2011 14:53:58 +0000 (14:53 +0000)
2011-06-07  H.J. Lu  <hongjiu.lu@intel.com>

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

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

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

index 1e19906..f823caf 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 58de87b..3e18e7a 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: