]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/67032 (Geode optimizations incorrectly return -NaN)
authorUros Bizjak <uros@gcc.gnu.org>
Tue, 2 Feb 2016 16:07:24 +0000 (17:07 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Tue, 2 Feb 2016 16:07:24 +0000 (17:07 +0100)
PR target/67032
* config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.

From-SVN: r233079

gcc/ChangeLog
gcc/config/i386/i386.c

index c2d824e303ee5f73d2459619b8a2f62f4c28cae5..abf7c62be0d530de43b596cda2b8fa968862e113 100644 (file)
@@ -1,3 +1,8 @@
+2016-02-02  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/67032
+       * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
+
 2016-02-02  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
 
        * config/avr/avr.c (avr_option_override): Set
@@ -84,7 +89,7 @@
 
        PR tree-optimization/67921
        * fold-const.c (split_tree): New parameters.  Convert pointer
-       type variable part to proper type before negating. 
+       type variable part to proper type before negating.
        (fold_binary_loc): Pass new arguments to split_tree.
 
 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
index af5cf5a8463693141b7211966cde379c01dece33..dbef1fcd530d96d39bf04d1bd940e983608fbd7c 100644 (file)
@@ -595,17 +595,17 @@ struct processor_costs geode_cost = {
   {4, 6, 6},                           /* cost of storing fp registers
                                           in SFmode, DFmode and XFmode */
 
-  1,                                   /* cost of moving MMX register */
-  {1, 1},                              /* cost of loading MMX registers
+  2,                                   /* cost of moving MMX register */
+  {2, 2},                              /* cost of loading MMX registers
                                           in SImode and DImode */
-  {1, 1},                              /* cost of storing MMX registers
+  {2, 2},                              /* cost of storing MMX registers
                                           in SImode and DImode */
-  1,                                   /* cost of moving SSE register */
-  {1, 1, 1},                           /* cost of loading SSE registers
+  2,                                   /* cost of moving SSE register */
+  {2, 2, 8},                           /* cost of loading SSE registers
                                           in SImode, DImode and TImode */
-  {1, 1, 1},                           /* cost of storing SSE registers
+  {2, 2, 8},                           /* cost of storing SSE registers
                                           in SImode, DImode and TImode */
-  1,                                   /* MMX or SSE register to integer */
+  3,                                   /* MMX or SSE register to integer */
   64,                                  /* size of l1 cache.  */
   128,                                 /* size of l2 cache.  */
   32,                                  /* size of prefetch block */