From: Uros Bizjak Date: Tue, 2 Feb 2016 16:07:24 +0000 (+0100) Subject: re PR target/67032 (Geode optimizations incorrectly return -NaN) X-Git-Tag: basepoints/gcc-7~1157 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0de7e22ccb83d7e821af71df007b932fa3143cce;p=thirdparty%2Fgcc.git re PR target/67032 (Geode optimizations incorrectly return -NaN) PR target/67032 * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves. From-SVN: r233079 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c2d824e303ee..abf7c62be0d5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-02-02 Uros Bizjak + + PR target/67032 + * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves. + 2016-02-02 Senthil Kumar Selvaraj * 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 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index af5cf5a84636..dbef1fcd530d 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -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 */