diff options
author | Camil Staps | 2016-11-15 21:32:29 +0000 |
---|---|---|
committer | Camil Staps | 2016-11-15 21:32:29 +0000 |
commit | c82f389a019426aaa9363325388c61736b333545 (patch) | |
tree | f56c388a85769801bbd52e5c587201b7bb9cca26 | |
parent | Fix distance of 8 before lazy entries of higher order functions (diff) |
Optimisation: pc can be Rd operand for ldr; nop at node entry not needed
-rw-r--r-- | cgthumb2was.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/cgthumb2was.c b/cgthumb2was.c index 21dcedd..dade5a1 100644 --- a/cgthumb2was.c +++ b/cgthumb2was.c @@ -401,10 +401,6 @@ static void w_as_define_code_label (LABEL *label) w_as_label (label->label_name); w_as_colon(); w_as_newline(); - - if (label->label_flags & NODE_ENTRY_LABEL) { - w_as_instruction_without_parameters ("nop"); - } } static void w_as_internal_label (int label_number) @@ -2353,10 +2349,7 @@ static void w_as_fmovel_instruction (struct instruction *instruction) static void w_as_rts_instruction (void) { w_as_opcode ("ldr"); - fprintf (assembly_file,"lr,[sp],#4"); - w_as_newline_after_instruction(); - w_as_opcode ("mov"); - fprintf (assembly_file,"pc,lr"); + fprintf (assembly_file,"pc,[sp],#4"); w_as_newline_after_instruction(); write_float_constants(); |