diff options
author | John van Groningen | 2006-03-24 10:52:33 +0000 |
---|---|---|
committer | John van Groningen | 2006-03-24 10:52:33 +0000 |
commit | 149725317e0cf2cc2e3d91573d810e7ba18c72d8 (patch) | |
tree | 6f707d8b5f3cff0f841a6c3ffc6bfdf994fd6cc2 /cgcode.c | |
parent | improve computation of used registers for reading from arrays, prevents (diff) |
fix entier for 64 bit processors
Diffstat (limited to 'cgcode.c')
-rw-r--r-- | cgcode.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -476,20 +476,18 @@ static void code_monadic_sane_operator (LABEL *label) graph=g_lea (label2); #endif -#ifdef G_A64 s_push_b (s_get_b (0)); +#ifdef G_A64 s_put_b (1,NULL); - insert_basic_block (JSR_BLOCK,0,1+1,r_vector,label); #else - s_push_b (s_get_b (0)); s_put_b (1,s_get_b (2)); # ifdef M68000 s_put_b (2,graph); # else s_put_b (2,NULL); # endif - insert_basic_block (JSR_BLOCK,0,2+1,r_vector,label); #endif + insert_basic_block (JSR_BLOCK,0,SIZE_OF_REAL_IN_STACK_ELEMENTS+1,r_vector,label); #ifdef M68000 new_label=fast_memory_allocate_type (struct block_label); @@ -2014,11 +2012,17 @@ void code_entierR (VOID) code_monadic_sane_operator (entier_real_label); else { #endif +#ifdef G_A64 + s_push_b (s_get_b (0)); + s_put_b (1,NULL); + insert_basic_block (JSR_BLOCK,0,1+1,r_vector,entier_real_label); +#else s_push_b (s_get_b (0)); s_put_b (1,s_get_b (2)); s_put_b (2,NULL); insert_basic_block (JSR_BLOCK,0,2+1,r_vector,entier_real_label); +#endif #ifdef M68000 } #endif |