+2006-06-19 Denis Chertykov <denisc@overta.ru>
+
+ * config/avr/libgcc.S : Correct my wrong previous commit.
+
2006-06-19 Roger Sayle <roger@eyesopen.com>
PR target/27861
.section .text.libgcc, "ax", @progbits
.macro mov_l r_dest, r_src
-#if defined (__AVR_ENHANCED__)
+#if defined (__AVR_HAVE_MOVW__)
movw \r_dest, \r_src
#else
mov \r_dest, \r_src
.endm
.macro mov_h r_dest, r_src
-#if defined (__AVR_ENHANCED__)
+#if defined (__AVR_HAVE_MOVW__)
; empty
#else
mov \r_dest, \r_src
cpc r_arg1H,r_arg1L
brne __mulsi3_loop ; exit if multiplier = 0
__mulsi3_exit:
- mov r_arg1HH,r_resHH ; result to return register
- mov r_arg1HL,r_resHL
- mov r_arg1H,r_resH
- mov r_arg1L,r_resL
+ mov_h r_arg1HH,r_resHH ; result to return register
+ mov_l r_arg1HL,r_resHL
+ mov_h r_arg1H,r_resH
+ mov_l r_arg1L,r_resL
ret
#endif /* !defined (__AVR_ENHANCED__) */
#undef r_arg1L
ldi r31, hi8(__data_load_start)
rjmp .do_copy_data_start
.do_copy_data_loop:
-#if defined (__AVR_ENHANCED__)
+#if defined (__AVR_HAVE_LPMX__)
lpm r0, Z+
#else
lpm