summaryrefslogtreecommitdiff
path: root/gcc/config/m32c/addsub.md
diff options
context:
space:
mode:
authordj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-12 21:40:27 +0000
committerdj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-12 21:40:27 +0000
commit71d46ffa838a50985ecf3bb84996835b0f51ebc1 (patch)
tree3c9709b82aeef81ad29374bab01bfada3c2f6841 /gcc/config/m32c/addsub.md
parentea4d28f3282cebbf8935abc5d5e060083301c810 (diff)
downloadgcc-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.md10
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"