summaryrefslogtreecommitdiff
path: root/cglin.c
diff options
context:
space:
mode:
authorJohn van Groningen2010-12-01 16:30:29 +0000
committerJohn van Groningen2010-12-01 16:30:29 +0000
commit421cda21669df2859a3cf5d7d5e02df7a736750a (patch)
treeb13af72802f00dd93817681e47e155a9f59150f0 /cglin.c
parentchange type of n from long to LONG to prevent c compiler warning on 64 bit linux (diff)
add passing Real parameter as float in ccall for 64 bit windows and linux
Diffstat (limited to 'cglin.c')
-rw-r--r--cglin.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/cglin.c b/cglin.c
index 4a85ea5..2bc784a 100644
--- a/cglin.c
+++ b/cglin.c
@@ -417,6 +417,19 @@ void i_fcvt2s_fr_fr (int register_1,int register_2)
set_float_register_parameter (instruction->instruction_parameters[0],register_1);
set_float_register_parameter (instruction->instruction_parameters[1],register_2);
}
+
+void i_fcvt2s_id_fr (int offset,int register_1,int register_2)
+{
+ struct instruction *instruction;
+
+ instruction=i_new_instruction2 (IFCVT2S);
+
+ instruction->instruction_parameters[0].parameter_type=P_INDIRECT;
+ instruction->instruction_parameters[0].parameter_offset=offset;
+ instruction->instruction_parameters[0].parameter_data.i=register_1;
+
+ set_float_register_parameter (instruction->instruction_parameters[1],register_2);
+}
#endif
#ifdef FP_STACK_OPTIMIZATIONS