projects
/
libfirm
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bb930c3
)
don't do the store-float-conv optimisation with double->unsigned
author
Matthias Braun
<matze@braunis.de>
Tue, 29 Jul 2008 15:05:31 +0000
(15:05 +0000)
committer
Matthias Braun
<matze@braunis.de>
Tue, 29 Jul 2008 15:05:31 +0000
(15:05 +0000)
[r20766]
ir/be/ia32/ia32_transform.c
patch
|
blob
|
history
diff --git
a/ir/be/ia32/ia32_transform.c
b/ir/be/ia32/ia32_transform.c
index
9650aac
..
3879f49
100644
(file)
--- a/
ir/be/ia32/ia32_transform.c
+++ b/
ir/be/ia32/ia32_transform.c
@@
-2374,6
+2374,10
@@
static int is_float_to_int32_conv(const ir_node *node)
if(get_mode_size_bits(mode) != 32 || !ia32_mode_needs_gp_reg(mode))
return 0;
+ /* don't report unsigned as conv to 32bit, because we really need to do
+ * a vfist with 64bit signed in this case */
+ if(!mode_is_signed(mode))
+ return 0;
if(!is_Conv(node))
return 0;