summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn van Groningen2013-06-25 09:51:26 +0000
committerJohn van Groningen2013-06-25 09:51:26 +0000
commitd708bcbe51c36723ff7a325e574d46c5e94cad92 (patch)
treebb1f7ff57845a50570be8e5cdccaa418f198653a
parentuse lea when generating position independent code for move descriptor indirect (diff)
use lea when generating position independent code for cmp with descriptor
-rw-r--r--cgaas.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/cgaas.c b/cgaas.c
index 3de682e..7063a66 100644
--- a/cgaas.c
+++ b/cgaas.c
@@ -2123,6 +2123,14 @@ static void as_cmp_instruction (struct instruction *instruction)
switch (parameter_0.parameter_type){
case P_DESCRIPTOR_NUMBER:
+#ifdef LINUX
+ if (pic_flag){
+ as_move_d_r (parameter_0.parameter_data.l,parameter_0.parameter_offset,REGISTER_O0);
+
+ parameter_0.parameter_type=P_REGISTER;
+ parameter_0.parameter_data.reg.r=REGISTER_O0;
+ } else
+#endif
switch (parameter_1.parameter_type){
case P_REGISTER:
as_d_r2 (0201,0070,0075,parameter_0.parameter_data.l,parameter_0.parameter_offset,