diff options
author | dj <dj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-12 21:40:27 +0000 |
---|---|---|
committer | dj <dj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-12 21:40:27 +0000 |
commit | 71d46ffa838a50985ecf3bb84996835b0f51ebc1 (patch) | |
tree | 3c9709b82aeef81ad29374bab01bfada3c2f6841 /gcc/config/m32c/addsub.md | |
parent | ea4d28f3282cebbf8935abc5d5e060083301c810 (diff) | |
download | gcc-71d46ffa838a50985ecf3bb84996835b0f51ebc1.tar.gz |
* config/m32c/addsub.md (addhi3): Add two more alternatives, for
mova with fb, and for fb+0 -> An.
* config/m32c/mov.md (peephole2): Fix enabling logic.
* config/m32c/m32c.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
DTOR_LIST_BEGIN, DTOR_LIST_END, CTORS_SECTION_ASM_OP,
DTORS_SECTION_ASM_OP, INIT_ARRAY_SECTION_ASM_OP,
FINI_ARRAY_SECTION_ASM_OP): Define.
* config/m32c/m32c.c (m32c_legitimize_address): Remove temporary variable.
(m32c_legitimize_reload_address): New logic to reload FB to An.
(m32c_output_reg_push): Add newline.
(m32c_output_reg_pop): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109648 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/m32c/addsub.md')
-rw-r--r-- | gcc/config/m32c/addsub.md | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/config/m32c/addsub.md b/gcc/config/m32c/addsub.md index 57f81acf751..104709c96bb 100644 --- a/gcc/config/m32c/addsub.md +++ b/gcc/config/m32c/addsub.md @@ -36,11 +36,11 @@ (define_insn "addhi3" [(set (match_operand:HI 0 "nonimmediate_operand" - "=SdRhi,SdRhi,??Rmm,??Rmm, SdRhi,??Rmm, Rhi, !Rsp") + "=SdRhi,SdRhi,??Rmm,??Rmm, SdRhi,??Rmm, Rhi, Raw, Raw, !Rsp") (plus:HI (match_operand:HI 1 "general_operand" - "%0,0,0,0, 0,0, Raw, 0") + "%0,0,0,0, 0,0, Raw, Rfb, Rfb, 0") (match_operand:HI 2 "general_operand" - "IU2sSdRhi,?Rmm,IU2sSdRhi,?Rmm, IM2,IM2, IS2IU2, i")))] + "IU2sSdRhi,?Rmm,IU2sSdRhi,?Rmm, IM2,IM2, IS2IU2, I00, IS1, i")))] "" "@ add.w\t%2,%0 @@ -50,8 +50,10 @@ sub.w\t%m2,%0 sub.w\t%m2,%0 mova\t%d2[%1],%0 + stc\t%1,%0 + mova\t%D2[%1],%0 add.w\t%2,%0" - [(set_attr "flags" "oszc,oszc,oszc,oszc,oszc,oszc,oszc,oszc")] + [(set_attr "flags" "oszc,oszc,oszc,oszc,oszc,oszc,oszc,oszc,oszc,oszc")] ) (define_insn "addpsi3" |