aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2016-02-02 17:07:24 +0100
committerUros Bizjak <uros@gcc.gnu.org>2016-02-02 17:07:24 +0100
commit0de7e22ccb83d7e821af71df007b932fa3143cce (patch)
treeba920be77f81449be0f19db2fe9b8721cb9abe1f /gcc
parentc7088aeac8250400734696d8bb606764880ab5c3 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/config/i386/i386.c14
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 */