Skip to content

Commit a90c74a

Browse files
committed
AVR: Tidy up code for __[x]load insns.
gcc/ * config/avr/avr.md (*load_<mode>_libgcc, *xload_<mode>_libgcc): Tidy up code.
1 parent 723e0f7 commit a90c74a

File tree

1 file changed

+9
-21
lines changed

1 file changed

+9
-21
lines changed

gcc/config/avr/avr.md

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -536,32 +536,26 @@
536536
;; "load_sf_libgcc"
537537
(define_insn_and_split "load_<mode>_libgcc"
538538
[(set (reg:MOVMODE 22)
539-
(match_operand:MOVMODE 0 "memory_operand" "m,m"))]
539+
(match_operand:MOVMODE 0 "memory_operand" "m"))]
540540
"avr_load_libgcc_p (operands[0])
541541
&& REG_P (XEXP (operands[0], 0))
542542
&& REG_Z == REGNO (XEXP (operands[0], 0))"
543543
"#"
544544
"&& reload_completed"
545545
[(parallel [(set (reg:MOVMODE 22)
546546
(match_dup 0))
547-
(clobber (reg:CC REG_CC))])]
548-
""
549-
[(set_attr "isa" "rjmp,jmp")])
547+
(clobber (reg:CC REG_CC))])])
550548

551549
(define_insn "*load_<mode>_libgcc"
552550
[(set (reg:MOVMODE 22)
553-
(match_operand:MOVMODE 0 "memory_operand" "m,m"))
551+
(match_operand:MOVMODE 0 "memory_operand" "m"))
554552
(clobber (reg:CC REG_CC))]
555553
"avr_load_libgcc_p (operands[0])
556554
&& REG_P (XEXP (operands[0], 0))
557555
&& REG_Z == REGNO (XEXP (operands[0], 0))
558556
&& reload_completed"
559-
{
560-
operands[0] = GEN_INT (<SIZE>);
561-
return "%~call __load_%0";
562-
}
563-
[(set_attr "length" "1,2")
564-
(set_attr "isa" "rjmp,jmp")])
557+
"%~call __load_<SIZE>"
558+
[(set_attr "type" "xcall")])
565559

566560

567561
;; "xload8qi_A"
@@ -657,7 +651,6 @@
657651
;; "xload_si_libgcc" "xload_sq_libgcc" "xload_usq_libgcc" "xload_sa_libgcc" "xload_usa_libgcc"
658652
;; "xload_sf_libgcc"
659653
;; "xload_psi_libgcc"
660-
661654
(define_insn_and_split "xload_<mode>_libgcc"
662655
[(set (reg:MOVMODE 22)
663656
(mem:MOVMODE (lo_sum:PSI (reg:QI 21)
@@ -668,8 +661,8 @@
668661
"#"
669662
"&& reload_completed"
670663
[(parallel [(set (reg:MOVMODE 22)
671-
(mem:MOVMODE (lo_sum:PSI (reg:QI 21)
672-
(reg:HI REG_Z))))
664+
(mem:MOVMODE (lo_sum:PSI (reg:QI 21)
665+
(reg:HI REG_Z))))
673666
(clobber (reg:CC REG_CC))])])
674667

675668
(define_insn "*xload_<mode>_libgcc"
@@ -679,12 +672,7 @@
679672
(clobber (reg:CC REG_CC))]
680673
"avr_xload_libgcc_p (<MODE>mode)
681674
&& reload_completed"
682-
{
683-
rtx x_bytes = GEN_INT (<SIZE>);
684-
685-
output_asm_insn ("%~call __xload_%0", &x_bytes);
686-
return "";
687-
}
675+
"%~call __xload_<SIZE>"
688676
[(set_attr "type" "xcall")])
689677

690678

@@ -2278,7 +2266,7 @@
22782266
[(set (match_operand:PSI 0 "register_operand" "=r")
22792267
(plus:PSI (lshiftrt:PSI (match_operand:PSI 1 "register_operand" "r")
22802268
(const_int 23))
2281-
(match_operand:PSI 2 "register_operand" "0")))]
2269+
(match_operand:PSI 2 "register_operand" "0")))]
22822270
""
22832271
"#"
22842272
"&& reload_completed"

0 commit comments

Comments
 (0)