diff options
author | denisc <denisc@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-06-18 18:14:06 +0000 |
---|---|---|
committer | denisc <denisc@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-06-18 18:14:06 +0000 |
commit | 0aab73c229b8a0e1287facc8c8f541493250b7a5 (patch) | |
tree | 2b05d8367382dc31146b4d5d39a0a4e06357c077 /gcc/config/avr/avr.md | |
parent | 98ac66519c2a7018925df2a08017034c5cfbd487 (diff) | |
download | gcc-0aab73c229b8a0e1287facc8c8f541493250b7a5.tar.gz |
* config/avr/avr.h (avr_have_movw_lpmx_p): Declare.
(TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and
__AVR_HAVE_LPMX__.
(AVR_HAVE_MOVW) Define.
(ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW.
(ASM_SPEC): Add avr25.
(LINK_SPEC): Add avr25.
* config/avr/avr.c (avr_have_movw_lpmx_p): Add.
(base_arch_s): Add new member 'have_movw_lpmx'.
(avr_arch_types): Init 'have_movw_lpmx'.
(avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24,
attiny44, attiny84, attiny25, attiny45, attiny85, attiny261,
attiny461, attiny861 and at86rf401 in 'avr25' arhitecture.
(avr_override_options): Init 'avr_have_movw_lpmx_p'.
(output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use
AVR_HAVE_MOVW.
(avr_file_start): Do not output '.arh' derective.
* config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__.
(__do_copy_data): Use __AVR_HAVE_LPMX__.
* config/avr/avr.md (mcu_enhanced): Delete.
(mcu_have_movw): Define.
(negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'.
(call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__.
* config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25.
(MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44,
attiny84, attiny25, attiny45, attiny85, attiny261, attiny461,
attiny861 and at86rf401 devices.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114758 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/avr/avr.md')
-rw-r--r-- | gcc/config/avr/avr.md | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md index 97a000d5bb5..35b86cc014d 100644 --- a/gcc/config/avr/avr.md +++ b/gcc/config/avr/avr.md @@ -57,8 +57,8 @@ (define_attr "type" "branch,branch1,arith,xcall" (const_string "arith")) -(define_attr "mcu_enhanced" "yes,no" - (const (if_then_else (symbol_ref "AVR_ENHANCED") +(define_attr "mcu_have_movw" "yes,no" + (const (if_then_else (symbol_ref "AVR_HAVE_MOVW") (const_string "yes") (const_string "no")))) @@ -1455,7 +1455,7 @@ [(set_attr_alternative "length" [(const_int 7) (const_int 8) - (if_then_else (eq_attr "mcu_enhanced" "yes") + (if_then_else (eq_attr "mcu_have_movw" "yes") (const_int 7) (const_int 8))]) (set_attr "cc" "set_czn,set_n,set_czn")]) @@ -1533,7 +1533,7 @@ {mov %A0,%A1\;mov %B0,%B1|movw %A0,%A1}\;clr %C0\;sbrc %B0,7\;com %C0\;mov %D0,%C0" [(set_attr_alternative "length" [(const_int 4) - (if_then_else (eq_attr "mcu_enhanced" "yes") + (if_then_else (eq_attr "mcu_have_movw" "yes") (const_int 5) (const_int 6))]) (set_attr "cc" "set_n,set_n")]) @@ -1570,7 +1570,7 @@ {mov %A0,%A1\;mov %B0,%B1|movw %A0,%A1}\;clr %C0\;clr %D0" [(set_attr_alternative "length" [(const_int 2) - (if_then_else (eq_attr "mcu_enhanced" "yes") + (if_then_else (eq_attr "mcu_have_movw" "yes") (const_int 3) (const_int 4))]) (set_attr "cc" "set_n,set_n")]) @@ -2104,7 +2104,7 @@ return \"icall\"; else if (which_alternative==1) { - if (AVR_ENHANCED) + if (AVR_HAVE_MOVW) return (AS2 (movw, r30, %0) CR_TAB \"icall\"); else @@ -2121,7 +2121,7 @@ [(set_attr "cc" "clobber,clobber,clobber,clobber") (set_attr_alternative "length" [(const_int 1) - (if_then_else (eq_attr "mcu_enhanced" "yes") + (if_then_else (eq_attr "mcu_have_movw" "yes") (const_int 2) (const_int 3)) (if_then_else (eq_attr "mcu_mega" "yes") @@ -2141,7 +2141,7 @@ return \"icall\"; else if (which_alternative==1) { - if (AVR_ENHANCED) + if (AVR_HAVE_MOVW) return (AS2 (movw, r30, %1) CR_TAB \"icall\"); else @@ -2158,7 +2158,7 @@ [(set_attr "cc" "clobber,clobber,clobber,clobber") (set_attr_alternative "length" [(const_int 1) - (if_then_else (eq_attr "mcu_enhanced" "yes") + (if_then_else (eq_attr "mcu_have_movw" "yes") (const_int 2) (const_int 3)) (if_then_else (eq_attr "mcu_mega" "yes") |