projects
/
libfirm
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(from parent 1:
d8d0db4
)
some preliminary long double support
author
Michael Beck
<beck@ipd.info.uni-karlsruhe.de>
Fri, 23 Nov 2007 17:08:56 +0000
(17:08 +0000)
committer
Michael Beck
<beck@ipd.info.uni-karlsruhe.de>
Fri, 23 Nov 2007 17:08:56 +0000
(17:08 +0000)
[r16833]
ir/be/ia32/ia32_x87.c
patch
|
blob
|
history
diff --git
a/ir/be/ia32/ia32_x87.c
b/ir/be/ia32/ia32_x87.c
index
94740b4
..
7b7ce9d
100644
(file)
--- a/
ir/be/ia32/ia32_x87.c
+++ b/
ir/be/ia32/ia32_x87.c
@@
-1213,8
+1213,9
@@
static int sim_store(x87_state *state, ir_node *n, ir_op *op, ir_op *op_p) {
Solution:
- stack not full: push value and fstp
- stack full: fstp value and load again
+ Note that we cannot test on mode_E, because floats might be 96bit ...
*/
- if (
mode == mode_E
|| mode == mode_Ls) {
+ if (
get_mode_size_bits(mode) > 64
|| mode == mode_Ls) {
if (depth < N_x87_REGS) {
/* ok, we have a free register: push + fstp */
x87_create_fpush(state, n, op2_idx, n_ia32_vfst_val);