projects
/
libfirm
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
60b2665
)
sparc: Fix constants for double parameter opt
author
Matthias Braun
<matze@braunis.de>
Mon, 9 Jan 2012 12:36:54 +0000
(13:36 +0100)
committer
Matthias Braun
<matze@braunis.de>
Mon, 9 Jan 2012 12:38:41 +0000
(13:38 +0100)
ir/be/sparc/sparc_transform.c
patch
|
blob
|
history
diff --git
a/ir/be/sparc/sparc_transform.c
b/ir/be/sparc/sparc_transform.c
index
fffa4ce
..
e36258c
100644
(file)
--- a/
ir/be/sparc/sparc_transform.c
+++ b/
ir/be/sparc/sparc_transform.c
@@
-1763,15
+1763,18
@@
static void bitcast_float_to_int(dbg_info *dbgi, ir_node *block,
(get_tarval_sub_bits(tv, 1) << 8) |
(get_tarval_sub_bits(tv, 2) << 16) |
(get_tarval_sub_bits(tv, 3) << 24);
(get_tarval_sub_bits(tv, 1) << 8) |
(get_tarval_sub_bits(tv, 2) << 16) |
(get_tarval_sub_bits(tv, 3) << 24);
-
result[0]
= create_int_const(block, val);
+
ir_node *valc
= create_int_const(block, val);
if (bits == 64) {
if (bits == 64) {
- int32_t val = get_tarval_sub_bits(tv, 4) |
+ int32_t val
2
= get_tarval_sub_bits(tv, 4) |
(get_tarval_sub_bits(tv, 5) << 8) |
(get_tarval_sub_bits(tv, 6) << 16) |
(get_tarval_sub_bits(tv, 7) << 24);
(get_tarval_sub_bits(tv, 5) << 8) |
(get_tarval_sub_bits(tv, 6) << 16) |
(get_tarval_sub_bits(tv, 7) << 24);
- result[1] = create_int_const(block, val);
+ ir_node *valc2 = create_int_const(block, val2);
+ result[0] = valc2;
+ result[1] = valc;
} else {
assert(bits == 32);
} else {
assert(bits == 32);
+ result[0] = valc;
result[1] = NULL;
}
} else {
result[1] = NULL;
}
} else {