diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2016-02-02 17:07:24 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2016-02-02 17:07:24 +0100 |
commit | 0de7e22ccb83d7e821af71df007b932fa3143cce (patch) | |
tree | ba920be77f81449be0f19db2fe9b8721cb9abe1f /gcc | |
parent | c7088aeac8250400734696d8bb606764880ab5c3 (diff) | |
download | gcc-0de7e22ccb83d7e821af71df007b932fa3143cce.zip gcc-0de7e22ccb83d7e821af71df007b932fa3143cce.tar.gz gcc-0de7e22ccb83d7e821af71df007b932fa3143cce.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 14 |
2 files changed, 13 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c2d824e..abf7c62 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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> diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index af5cf5a..dbef1fc 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 */ |