/* Nios II R2 CDX ldwm/stwm/push.h/pop.n instruction patterns.
This file was automatically generated using nios2-ldstwm.sml.
Please do not edit manually.
Copyright (C) 2014-2020 Free Software Foundation, Inc.
Contributed by Mentor Graphics.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 3, or (at your
option) any later version.
GCC is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License and
a copy of the GCC Runtime Library Exception along with this program;
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
(define_insn "*cdx_push_ra_fp"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI FP_REGNO))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 3
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 8) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 8);
return "push.n\\t{ra, fp}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_push_ra"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 2
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 4) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 4);
return "push.n\\t{ra}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_pop_fp_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI FP_REGNO) (match_operand:SI 3 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4"
{
rtx x = XEXP (operands[3], 0);
operands[3] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{fp, ra}, %3";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_pop_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 3"
{
rtx x = XEXP (operands[2], 0);
operands[2] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{ra}, %2";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_push_ra_fp_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI FP_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -12))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 12) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 12);
return "push.n\\t{ra, fp, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_push_ra_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 3
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 8) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 8);
return "push.n\\t{ra, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_pop_r16_fp_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI FP_REGNO) (match_operand:SI 3 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 4 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5"
{
rtx x = XEXP (operands[4], 0);
operands[4] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, fp, ra}, %4";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_pop_r16_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 3 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4"
{
rtx x = XEXP (operands[3], 0);
operands[3] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, ra}, %3";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_push_ra_fp_r17_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI FP_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -12))) (reg:SI 17))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -16))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 16) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 16);
return "push.n\\t{ra, fp, r17, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_push_ra_r17_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI 17))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -12))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 12) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 12);
return "push.n\\t{ra, r17, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_pop_r16_r17_fp_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI FP_REGNO) (match_operand:SI 3 "stack_memory_operand" ""))
(set (reg:SI 17) (match_operand:SI 4 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 5 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6"
{
rtx x = XEXP (operands[5], 0);
operands[5] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, r17, fp, ra}, %5";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_pop_r16_r17_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI 17) (match_operand:SI 3 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 4 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5"
{
rtx x = XEXP (operands[4], 0);
operands[4] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, r17, ra}, %4";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_push_ra_fp_r18_r17_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI FP_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -12))) (reg:SI 18))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -16))) (reg:SI 17))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -20))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 20) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 20);
return "push.n\\t{ra, fp, r18, r17, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_push_ra_r18_r17_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI 18))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -12))) (reg:SI 17))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -16))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 16) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 16);
return "push.n\\t{ra, r18, r17, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_pop_r16_r17_r18_fp_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI FP_REGNO) (match_operand:SI 3 "stack_memory_operand" ""))
(set (reg:SI 18) (match_operand:SI 4 "stack_memory_operand" ""))
(set (reg:SI 17) (match_operand:SI 5 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 6 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7"
{
rtx x = XEXP (operands[6], 0);
operands[6] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, r17, r18, fp, ra}, %6";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_pop_r16_r17_r18_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI 18) (match_operand:SI 3 "stack_memory_operand" ""))
(set (reg:SI 17) (match_operand:SI 4 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 5 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6"
{
rtx x = XEXP (operands[5], 0);
operands[5] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, r17, r18, ra}, %5";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_push_ra_fp_r19_r18_r17_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI FP_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -12))) (reg:SI 19))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -16))) (reg:SI 18))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -20))) (reg:SI 17))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -24))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 24) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 24);
return "push.n\\t{ra, fp, r19, r18, r17, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_push_ra_r19_r18_r17_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI 19))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -12))) (reg:SI 18))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -16))) (reg:SI 17))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -20))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 20) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 20);
return "push.n\\t{ra, r19, r18, r17, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_pop_r16_r17_r18_r19_fp_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI FP_REGNO) (match_operand:SI 3 "stack_memory_operand" ""))
(set (reg:SI 19) (match_operand:SI 4 "stack_memory_operand" ""))
(set (reg:SI 18) (match_operand:SI 5 "stack_memory_operand" ""))
(set (reg:SI 17) (match_operand:SI 6 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 7 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8"
{
rtx x = XEXP (operands[7], 0);
operands[7] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, r17, r18, r19, fp, ra}, %7";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_pop_r16_r17_r18_r19_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI 19) (match_operand:SI 3 "stack_memory_operand" ""))
(set (reg:SI 18) (match_operand:SI 4 "stack_memory_operand" ""))
(set (reg:SI 17) (match_operand:SI 5 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 6 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7"
{
rtx x = XEXP (operands[6], 0);
operands[6] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, r17, r18, r19, ra}, %6";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_push_ra_fp_r20_r19_r18_r17_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI FP_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -12))) (reg:SI 20))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -16))) (reg:SI 19))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -20))) (reg:SI 18))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -24))) (reg:SI 17))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -28))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 28) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 28);
return "push.n\\t{ra, fp, r20, r19, r18, r17, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_push_ra_r20_r19_r18_r17_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI 20))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -12))) (reg:SI 19))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -16))) (reg:SI 18))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -20))) (reg:SI 17))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -24))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 24) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 24);
return "push.n\\t{ra, r20, r19, r18, r17, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_pop_r16_r17_r18_r19_r20_fp_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI FP_REGNO) (match_operand:SI 3 "stack_memory_operand" ""))
(set (reg:SI 20) (match_operand:SI 4 "stack_memory_operand" ""))
(set (reg:SI 19) (match_operand:SI 5 "stack_memory_operand" ""))
(set (reg:SI 18) (match_operand:SI 6 "stack_memory_operand" ""))
(set (reg:SI 17) (match_operand:SI 7 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 8 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9"
{
rtx x = XEXP (operands[8], 0);
operands[8] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, r17, r18, r19, r20, fp, ra}, %8";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_pop_r16_r17_r18_r19_r20_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI 20) (match_operand:SI 3 "stack_memory_operand" ""))
(set (reg:SI 19) (match_operand:SI 4 "stack_memory_operand" ""))
(set (reg:SI 18) (match_operand:SI 5 "stack_memory_operand" ""))
(set (reg:SI 17) (match_operand:SI 6 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 7 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8"
{
rtx x = XEXP (operands[7], 0);
operands[7] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, r17, r18, r19, r20, ra}, %7";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_push_ra_fp_r21_r20_r19_r18_r17_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI FP_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -12))) (reg:SI 21))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -16))) (reg:SI 20))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -20))) (reg:SI 19))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -24))) (reg:SI 18))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -28))) (reg:SI 17))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -32))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 32) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 32);
return "push.n\\t{ra, fp, r21, r20, r19, r18, r17, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_push_ra_r21_r20_r19_r18_r17_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI 21))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -12))) (reg:SI 20))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -16))) (reg:SI 19))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -20))) (reg:SI 18))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -24))) (reg:SI 17))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -28))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 28) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 28);
return "push.n\\t{ra, r21, r20, r19, r18, r17, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_pop_r16_r17_r18_r19_r20_r21_fp_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI FP_REGNO) (match_operand:SI 3 "stack_memory_operand" ""))
(set (reg:SI 21) (match_operand:SI 4 "stack_memory_operand" ""))
(set (reg:SI 20) (match_operand:SI 5 "stack_memory_operand" ""))
(set (reg:SI 19) (match_operand:SI 6 "stack_memory_operand" ""))
(set (reg:SI 18) (match_operand:SI 7 "stack_memory_operand" ""))
(set (reg:SI 17) (match_operand:SI 8 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 9 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10"
{
rtx x = XEXP (operands[9], 0);
operands[9] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, r17, r18, r19, r20, r21, fp, ra}, %9";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_pop_r16_r17_r18_r19_r20_r21_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI 21) (match_operand:SI 3 "stack_memory_operand" ""))
(set (reg:SI 20) (match_operand:SI 4 "stack_memory_operand" ""))
(set (reg:SI 19) (match_operand:SI 5 "stack_memory_operand" ""))
(set (reg:SI 18) (match_operand:SI 6 "stack_memory_operand" ""))
(set (reg:SI 17) (match_operand:SI 7 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 8 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9"
{
rtx x = XEXP (operands[8], 0);
operands[8] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, r17, r18, r19, r20, r21, ra}, %8";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_push_ra_fp_r22_r21_r20_r19_r18_r17_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI FP_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -12))) (reg:SI 22))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -16))) (reg:SI 21))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -20))) (reg:SI 20))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -24))) (reg:SI 19))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -28))) (reg:SI 18))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -32))) (reg:SI 17))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -36))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 36) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 36);
return "push.n\\t{ra, fp, r22, r21, r20, r19, r18, r17, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_push_ra_r22_r21_r20_r19_r18_r17_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI 22))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -12))) (reg:SI 21))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -16))) (reg:SI 20))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -20))) (reg:SI 19))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -24))) (reg:SI 18))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -28))) (reg:SI 17))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -32))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 32) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 32);
return "push.n\\t{ra, r22, r21, r20, r19, r18, r17, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_pop_r16_r17_r18_r19_r20_r21_r22_fp_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI FP_REGNO) (match_operand:SI 3 "stack_memory_operand" ""))
(set (reg:SI 22) (match_operand:SI 4 "stack_memory_operand" ""))
(set (reg:SI 21) (match_operand:SI 5 "stack_memory_operand" ""))
(set (reg:SI 20) (match_operand:SI 6 "stack_memory_operand" ""))
(set (reg:SI 19) (match_operand:SI 7 "stack_memory_operand" ""))
(set (reg:SI 18) (match_operand:SI 8 "stack_memory_operand" ""))
(set (reg:SI 17) (match_operand:SI 9 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 10 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 11"
{
rtx x = XEXP (operands[10], 0);
operands[10] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, r17, r18, r19, r20, r21, r22, fp, ra}, %10";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_pop_r16_r17_r18_r19_r20_r21_r22_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI 22) (match_operand:SI 3 "stack_memory_operand" ""))
(set (reg:SI 21) (match_operand:SI 4 "stack_memory_operand" ""))
(set (reg:SI 20) (match_operand:SI 5 "stack_memory_operand" ""))
(set (reg:SI 19) (match_operand:SI 6 "stack_memory_operand" ""))
(set (reg:SI 18) (match_operand:SI 7 "stack_memory_operand" ""))
(set (reg:SI 17) (match_operand:SI 8 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 9 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10"
{
rtx x = XEXP (operands[9], 0);
operands[9] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, r17, r18, r19, r20, r21, r22, ra}, %9";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_push_ra_fp_r23_r22_r21_r20_r19_r18_r17_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI FP_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -12))) (reg:SI 23))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -16))) (reg:SI 22))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -20))) (reg:SI 21))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -24))) (reg:SI 20))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -28))) (reg:SI 19))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -32))) (reg:SI 18))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -36))) (reg:SI 17))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -40))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 11
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 40) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 40);
return "push.n\\t{ra, fp, r23, r22, r21, r20, r19, r18, r17, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_push_ra_r23_r22_r21_r20_r19_r18_r17_r16"
[(match_parallel 0 ""
[(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -4))) (reg:SI RA_REGNO))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -8))) (reg:SI 23))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -12))) (reg:SI 22))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -16))) (reg:SI 21))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -20))) (reg:SI 20))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -24))) (reg:SI 19))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -28))) (reg:SI 18))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -32))) (reg:SI 17))
(set (mem:SI (plus:SI (reg:SI SP_REGNO) (const_int -36))) (reg:SI 16))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10
&& (-INTVAL (operands[1]) & 3) == 0
&& (-INTVAL (operands[1]) - 36) <= 60"
{
operands[2] = GEN_INT (-INTVAL (operands[1]) - 36);
return "push.n\\t{ra, r23, r22, r21, r20, r19, r18, r17, r16}, %2";
}
[(set_attr "type" "push")])
(define_insn "*cdx_pop_r16_r17_r18_r19_r20_r21_r22_r23_fp_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI FP_REGNO) (match_operand:SI 3 "stack_memory_operand" ""))
(set (reg:SI 23) (match_operand:SI 4 "stack_memory_operand" ""))
(set (reg:SI 22) (match_operand:SI 5 "stack_memory_operand" ""))
(set (reg:SI 21) (match_operand:SI 6 "stack_memory_operand" ""))
(set (reg:SI 20) (match_operand:SI 7 "stack_memory_operand" ""))
(set (reg:SI 19) (match_operand:SI 8 "stack_memory_operand" ""))
(set (reg:SI 18) (match_operand:SI 9 "stack_memory_operand" ""))
(set (reg:SI 17) (match_operand:SI 10 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 11 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 12"
{
rtx x = XEXP (operands[11], 0);
operands[11] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, r17, r18, r19, r20, r21, r22, r23, fp, ra}, %11";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_pop_r16_r17_r18_r19_r20_r21_r22_r23_ra"
[(match_parallel 0 "pop_operation"
[(return)
(set (reg:SI SP_REGNO)
(plus:SI (reg:SI SP_REGNO) (match_operand 1 "const_int_operand" "")))
(set (reg:SI RA_REGNO) (match_operand:SI 2 "stack_memory_operand" ""))
(set (reg:SI 23) (match_operand:SI 3 "stack_memory_operand" ""))
(set (reg:SI 22) (match_operand:SI 4 "stack_memory_operand" ""))
(set (reg:SI 21) (match_operand:SI 5 "stack_memory_operand" ""))
(set (reg:SI 20) (match_operand:SI 6 "stack_memory_operand" ""))
(set (reg:SI 19) (match_operand:SI 7 "stack_memory_operand" ""))
(set (reg:SI 18) (match_operand:SI 8 "stack_memory_operand" ""))
(set (reg:SI 17) (match_operand:SI 9 "stack_memory_operand" ""))
(set (reg:SI 16) (match_operand:SI 10 "stack_memory_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 11"
{
rtx x = XEXP (operands[10], 0);
operands[10] = REG_P (x) ? const0_rtx : XEXP (x, 1);
return "pop.n\\t{r16, r17, r18, r19, r20, r21, r22, r23, ra}, %10";
}
[(set_attr "type" "pop")])
(define_insn "*cdx_ldwm1_inc_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 2 "register_operand" "+&r")
(plus:SI (match_dup 2) (const_int 4)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 2)))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 3"
"ldwm\\t{%1}, (%2)++, writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm1_inc_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 2 "register_operand" "+&r")
(plus:SI (match_dup 2) (const_int 4)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 2)))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 2"
"ldwm\\t{%1}, (%2)++, writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm1_inc_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 2 "register_operand" "r")))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 2"
"ldwm\\t{%1}, (%2)++, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm1_inc"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 2 "register_operand" "r")))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 1"
"ldwm\\t{%1}, (%2)++"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm1_dec_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 2 "register_operand" "+&r")
(plus:SI (match_dup 2) (const_int -4)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 2) (const_int -4))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 3"
"ldwm\\t{%1}, --(%2), writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm1_dec_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 2 "register_operand" "+&r")
(plus:SI (match_dup 2) (const_int -4)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 2) (const_int -4))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 2"
"ldwm\\t{%1}, --(%2), writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm1_dec_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 2 "register_operand" "r") (const_int -4))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 2"
"ldwm\\t{%1}, --(%2), ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm1_dec"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 2 "register_operand" "r") (const_int -4))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 1"
"ldwm\\t{%1}, --(%2)"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm2_inc_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 3 "register_operand" "+&r")
(plus:SI (match_dup 3) (const_int 8)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 3)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 3) (const_int 4))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4"
"ldwm\\t{%1, %2}, (%3)++, writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm2_inc_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 3 "register_operand" "+&r")
(plus:SI (match_dup 3) (const_int 8)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 3)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 3) (const_int 4))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 3"
"ldwm\\t{%1, %2}, (%3)++, writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm2_inc_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 3 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 3) (const_int 4))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 3"
"ldwm\\t{%1, %2}, (%3)++, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm2_inc"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 3 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 3) (const_int 4))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 2"
"ldwm\\t{%1, %2}, (%3)++"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm2_dec_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 3 "register_operand" "+&r")
(plus:SI (match_dup 3) (const_int -8)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 3) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 3) (const_int -8))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4"
"ldwm\\t{%1, %2}, --(%3), writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm2_dec_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 3 "register_operand" "+&r")
(plus:SI (match_dup 3) (const_int -8)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 3) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 3) (const_int -8))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 3"
"ldwm\\t{%1, %2}, --(%3), writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm2_dec_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 3 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 3) (const_int -8))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 3"
"ldwm\\t{%1, %2}, --(%3), ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm2_dec"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 3 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 3) (const_int -8))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 2"
"ldwm\\t{%1, %2}, --(%3)"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm3_inc_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 4 "register_operand" "+&r")
(plus:SI (match_dup 4) (const_int 12)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 4)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int 8))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5"
"ldwm\\t{%1, %2, %3}, (%4)++, writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm3_inc_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 4 "register_operand" "+&r")
(plus:SI (match_dup 4) (const_int 12)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 4)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int 8))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4"
"ldwm\\t{%1, %2, %3}, (%4)++, writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm3_inc_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 4 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int 8))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4"
"ldwm\\t{%1, %2, %3}, (%4)++, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm3_inc"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 4 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int 8))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 3"
"ldwm\\t{%1, %2, %3}, (%4)++"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm3_dec_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 4 "register_operand" "+&r")
(plus:SI (match_dup 4) (const_int -12)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int -12))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5"
"ldwm\\t{%1, %2, %3}, --(%4), writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm3_dec_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 4 "register_operand" "+&r")
(plus:SI (match_dup 4) (const_int -12)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int -12))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4"
"ldwm\\t{%1, %2, %3}, --(%4), writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm3_dec_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 4 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int -12))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4"
"ldwm\\t{%1, %2, %3}, --(%4), ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm3_dec"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 4 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 4) (const_int -12))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 3"
"ldwm\\t{%1, %2, %3}, --(%4)"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm4_inc_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 5 "register_operand" "+&r")
(plus:SI (match_dup 5) (const_int 16)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 5)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int 12))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6"
"ldwm\\t{%1, %2, %3, %4}, (%5)++, writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm4_inc_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 5 "register_operand" "+&r")
(plus:SI (match_dup 5) (const_int 16)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 5)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int 12))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5"
"ldwm\\t{%1, %2, %3, %4}, (%5)++, writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm4_inc_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 5 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int 12))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5"
"ldwm\\t{%1, %2, %3, %4}, (%5)++, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm4_inc"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 5 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int 12))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4"
"ldwm\\t{%1, %2, %3, %4}, (%5)++"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm4_dec_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 5 "register_operand" "+&r")
(plus:SI (match_dup 5) (const_int -16)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int -16))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6"
"ldwm\\t{%1, %2, %3, %4}, --(%5), writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm4_dec_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 5 "register_operand" "+&r")
(plus:SI (match_dup 5) (const_int -16)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int -16))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5"
"ldwm\\t{%1, %2, %3, %4}, --(%5), writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm4_dec_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 5 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int -16))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5"
"ldwm\\t{%1, %2, %3, %4}, --(%5), ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm4_dec"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 5 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 5) (const_int -16))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4"
"ldwm\\t{%1, %2, %3, %4}, --(%5)"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm5_inc_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 6 "register_operand" "+&r")
(plus:SI (match_dup 6) (const_int 20)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 6)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 16))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7"
"ldwm\\t{%1, %2, %3, %4, %5}, (%6)++, writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm5_inc_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 6 "register_operand" "+&r")
(plus:SI (match_dup 6) (const_int 20)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 6)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 16))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6"
"ldwm\\t{%1, %2, %3, %4, %5}, (%6)++, writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm5_inc_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 6 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 16))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6"
"ldwm\\t{%1, %2, %3, %4, %5}, (%6)++, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm5_inc"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 6 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int 16))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5"
"ldwm\\t{%1, %2, %3, %4, %5}, (%6)++"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm5_dec_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 6 "register_operand" "+&r")
(plus:SI (match_dup 6) (const_int -20)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -20))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7"
"ldwm\\t{%1, %2, %3, %4, %5}, --(%6), writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm5_dec_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 6 "register_operand" "+&r")
(plus:SI (match_dup 6) (const_int -20)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -20))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6"
"ldwm\\t{%1, %2, %3, %4, %5}, --(%6), writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm5_dec_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 6 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -20))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6"
"ldwm\\t{%1, %2, %3, %4, %5}, --(%6), ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm5_dec"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 6 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 6) (const_int -20))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5"
"ldwm\\t{%1, %2, %3, %4, %5}, --(%6)"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm6_inc_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 7 "register_operand" "+&r")
(plus:SI (match_dup 7) (const_int 24)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 7)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 20))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8"
"ldwm\\t{%1, %2, %3, %4, %5, %6}, (%7)++, writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm6_inc_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 7 "register_operand" "+&r")
(plus:SI (match_dup 7) (const_int 24)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 7)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 20))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7"
"ldwm\\t{%1, %2, %3, %4, %5, %6}, (%7)++, writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm6_inc_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 7 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 20))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7"
"ldwm\\t{%1, %2, %3, %4, %5, %6}, (%7)++, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm6_inc"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 7 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int 20))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6"
"ldwm\\t{%1, %2, %3, %4, %5, %6}, (%7)++"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm6_dec_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 7 "register_operand" "+&r")
(plus:SI (match_dup 7) (const_int -24)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -24))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8"
"ldwm\\t{%1, %2, %3, %4, %5, %6}, --(%7), writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm6_dec_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 7 "register_operand" "+&r")
(plus:SI (match_dup 7) (const_int -24)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -24))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7"
"ldwm\\t{%1, %2, %3, %4, %5, %6}, --(%7), writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm6_dec_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 7 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -24))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7"
"ldwm\\t{%1, %2, %3, %4, %5, %6}, --(%7), ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm6_dec"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 7 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 7) (const_int -24))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6"
"ldwm\\t{%1, %2, %3, %4, %5, %6}, --(%7)"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm7_inc_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 8 "register_operand" "+&r")
(plus:SI (match_dup 8) (const_int 28)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 8)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 24))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7}, (%8)++, writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm7_inc_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 8 "register_operand" "+&r")
(plus:SI (match_dup 8) (const_int 28)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 8)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 24))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7}, (%8)++, writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm7_inc_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 8 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 24))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7}, (%8)++, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm7_inc"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 8 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int 24))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7}, (%8)++"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm7_dec_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 8 "register_operand" "+&r")
(plus:SI (match_dup 8) (const_int -28)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -28))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7}, --(%8), writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm7_dec_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 8 "register_operand" "+&r")
(plus:SI (match_dup 8) (const_int -28)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -28))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7}, --(%8), writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm7_dec_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 8 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -28))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7}, --(%8), ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm7_dec"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 8 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 8) (const_int -28))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7}, --(%8)"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm8_inc_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 9 "register_operand" "+&r")
(plus:SI (match_dup 9) (const_int 32)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 9)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 28))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8}, (%9)++, writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm8_inc_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 9 "register_operand" "+&r")
(plus:SI (match_dup 9) (const_int 32)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 9)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 28))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8}, (%9)++, writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm8_inc_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 9 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 28))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8}, (%9)++, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm8_inc"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 9 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int 28))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8}, (%9)++"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm8_dec_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 9 "register_operand" "+&r")
(plus:SI (match_dup 9) (const_int -32)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -32))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8}, --(%9), writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm8_dec_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 9 "register_operand" "+&r")
(plus:SI (match_dup 9) (const_int -32)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -32))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8}, --(%9), writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm8_dec_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 9 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -32))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8}, --(%9), ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm8_dec"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 9 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 9) (const_int -32))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8}, --(%9)"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm9_inc_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 10 "register_operand" "+&r")
(plus:SI (match_dup 10) (const_int 36)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 10)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 32))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 11"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9}, (%10)++, writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm9_inc_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 10 "register_operand" "+&r")
(plus:SI (match_dup 10) (const_int 36)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 10)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 32))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9}, (%10)++, writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm9_inc_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 10 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 32))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9}, (%10)++, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm9_inc"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 10 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int 32))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9}, (%10)++"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm9_dec_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 10 "register_operand" "+&r")
(plus:SI (match_dup 10) (const_int -36)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -36))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 11"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9}, --(%10), writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm9_dec_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 10 "register_operand" "+&r")
(plus:SI (match_dup 10) (const_int -36)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -36))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9}, --(%10), writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm9_dec_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 10 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -36))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9}, --(%10), ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm9_dec"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 10 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 10) (const_int -36))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9}, --(%10)"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm10_inc_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 11 "register_operand" "+&r")
(plus:SI (match_dup 11) (const_int 40)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 11)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 32))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 36))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 12"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10}, (%11)++, writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm10_inc_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 11 "register_operand" "+&r")
(plus:SI (match_dup 11) (const_int 40)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 11)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 32))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 36))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 11"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10}, (%11)++, writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm10_inc_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 11 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 32))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 36))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 11"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10}, (%11)++, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm10_inc"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 11 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 32))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int 36))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10}, (%11)++"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm10_dec_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 11 "register_operand" "+&r")
(plus:SI (match_dup 11) (const_int -40)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -36))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -40))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 12"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10}, --(%11), writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm10_dec_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 11 "register_operand" "+&r")
(plus:SI (match_dup 11) (const_int -40)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -36))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -40))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 11"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10}, --(%11), writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm10_dec_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 11 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -36))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -40))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 11"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10}, --(%11), ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm10_dec"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 11 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -36))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 11) (const_int -40))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10}, --(%11)"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm11_inc_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 12 "register_operand" "+&r")
(plus:SI (match_dup 12) (const_int 44)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 12)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 32))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 36))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 40))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 13"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11}, (%12)++, writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm11_inc_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 12 "register_operand" "+&r")
(plus:SI (match_dup 12) (const_int 44)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 12)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 32))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 36))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 40))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 12"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11}, (%12)++, writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm11_inc_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 12 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 32))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 36))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 40))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 12"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11}, (%12)++, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm11_inc"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 12 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 32))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 36))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int 40))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 11"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11}, (%12)++"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm11_dec_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 12 "register_operand" "+&r")
(plus:SI (match_dup 12) (const_int -44)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -36))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -40))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -44))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 13"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11}, --(%12), writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm11_dec_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 12 "register_operand" "+&r")
(plus:SI (match_dup 12) (const_int -44)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -36))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -40))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -44))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 12"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11}, --(%12), writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm11_dec_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 12 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -36))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -40))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -44))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 12"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11}, --(%12), ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm11_dec"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 12 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -36))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -40))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 12) (const_int -44))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 11"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11}, --(%12)"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm12_inc_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 13 "register_operand" "+&r")
(plus:SI (match_dup 13) (const_int 48)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 13)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 32))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 36))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 40))))
(set (match_operand:SI 12 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 44))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 14"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12}, (%13)++, writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm12_inc_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 13 "register_operand" "+&r")
(plus:SI (match_dup 13) (const_int 48)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_dup 13)))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 32))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 36))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 40))))
(set (match_operand:SI 12 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 44))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 13"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12}, (%13)++, writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm12_inc_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 13 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 32))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 36))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 40))))
(set (match_operand:SI 12 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 44))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 13"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12}, (%13)++, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm12_inc"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (match_operand:SI 13 "register_operand" "r")))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 4))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 8))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 12))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 16))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 20))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 24))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 28))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 32))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 36))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 40))))
(set (match_operand:SI 12 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int 44))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 12"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12}, (%13)++"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm12_dec_wb_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 13 "register_operand" "+&r")
(plus:SI (match_dup 13) (const_int -48)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -36))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -40))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -44))))
(set (match_operand:SI 12 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -48))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 14"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12}, --(%13), writeback, ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm12_dec_wb"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 13 "register_operand" "+&r")
(plus:SI (match_dup 13) (const_int -48)))
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -36))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -40))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -44))))
(set (match_operand:SI 12 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -48))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 13"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12}, --(%13), writeback"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm12_dec_ret"
[(match_parallel 0 "ldwm_operation"
[(return)
(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 13 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -36))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -40))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -44))))
(set (match_operand:SI 12 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -48))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 13"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12}, --(%13), ret"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_ldwm12_dec"
[(match_parallel 0 "ldwm_operation"
[(set (match_operand:SI 1 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_operand:SI 13 "register_operand" "r") (const_int -4))))
(set (match_operand:SI 2 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -8))))
(set (match_operand:SI 3 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -12))))
(set (match_operand:SI 4 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -16))))
(set (match_operand:SI 5 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -20))))
(set (match_operand:SI 6 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -24))))
(set (match_operand:SI 7 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -28))))
(set (match_operand:SI 8 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -32))))
(set (match_operand:SI 9 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -36))))
(set (match_operand:SI 10 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -40))))
(set (match_operand:SI 11 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -44))))
(set (match_operand:SI 12 "nios2_hard_register_operand" "")
(mem:SI (plus:SI (match_dup 13) (const_int -48))))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 12"
"ldwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12}, --(%13)"
[(set_attr "type" "ldwm")])
(define_insn "*cdx_stwm1_inc_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 2 "register_operand" "+&r")
(plus:SI (match_dup 2) (const_int 4)))
(set (mem:SI (match_dup 2))
(match_operand:SI 1 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 2"
"stwm\\t{%1}, (%2)++, writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm1_inc"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (match_operand:SI 2 "register_operand" "r"))
(match_operand:SI 1 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 1"
"stwm\\t{%1}, (%2)++"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm1_dec_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 2 "register_operand" "+&r")
(plus:SI (match_dup 2) (const_int -4)))
(set (mem:SI (plus:SI (match_dup 2) (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 2"
"stwm\\t{%1}, --(%2), writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm1_dec"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (plus:SI (match_operand:SI 2 "register_operand" "r") (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 1"
"stwm\\t{%1}, --(%2)"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm2_inc_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 3 "register_operand" "+&r")
(plus:SI (match_dup 3) (const_int 8)))
(set (mem:SI (match_dup 3))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 3) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 3"
"stwm\\t{%1, %2}, (%3)++, writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm2_inc"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (match_operand:SI 3 "register_operand" "r"))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 3) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 2"
"stwm\\t{%1, %2}, (%3)++"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm2_dec_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 3 "register_operand" "+&r")
(plus:SI (match_dup 3) (const_int -8)))
(set (mem:SI (plus:SI (match_dup 3) (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 3) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 3"
"stwm\\t{%1, %2}, --(%3), writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm2_dec"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (plus:SI (match_operand:SI 3 "register_operand" "r") (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 3) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 2"
"stwm\\t{%1, %2}, --(%3)"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm3_inc_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 4 "register_operand" "+&r")
(plus:SI (match_dup 4) (const_int 12)))
(set (mem:SI (match_dup 4))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 4) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 4) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4"
"stwm\\t{%1, %2, %3}, (%4)++, writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm3_inc"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (match_operand:SI 4 "register_operand" "r"))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 4) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 4) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 3"
"stwm\\t{%1, %2, %3}, (%4)++"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm3_dec_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 4 "register_operand" "+&r")
(plus:SI (match_dup 4) (const_int -12)))
(set (mem:SI (plus:SI (match_dup 4) (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 4) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 4) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4"
"stwm\\t{%1, %2, %3}, --(%4), writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm3_dec"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (plus:SI (match_operand:SI 4 "register_operand" "r") (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 4) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 4) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 3"
"stwm\\t{%1, %2, %3}, --(%4)"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm4_inc_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 5 "register_operand" "+&r")
(plus:SI (match_dup 5) (const_int 16)))
(set (mem:SI (match_dup 5))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 5) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 5) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 5) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5"
"stwm\\t{%1, %2, %3, %4}, (%5)++, writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm4_inc"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (match_operand:SI 5 "register_operand" "r"))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 5) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 5) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 5) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4"
"stwm\\t{%1, %2, %3, %4}, (%5)++"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm4_dec_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 5 "register_operand" "+&r")
(plus:SI (match_dup 5) (const_int -16)))
(set (mem:SI (plus:SI (match_dup 5) (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 5) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 5) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 5) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5"
"stwm\\t{%1, %2, %3, %4}, --(%5), writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm4_dec"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (plus:SI (match_operand:SI 5 "register_operand" "r") (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 5) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 5) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 5) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 4"
"stwm\\t{%1, %2, %3, %4}, --(%5)"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm5_inc_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 6 "register_operand" "+&r")
(plus:SI (match_dup 6) (const_int 20)))
(set (mem:SI (match_dup 6))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6"
"stwm\\t{%1, %2, %3, %4, %5}, (%6)++, writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm5_inc"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (match_operand:SI 6 "register_operand" "r"))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5"
"stwm\\t{%1, %2, %3, %4, %5}, (%6)++"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm5_dec_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 6 "register_operand" "+&r")
(plus:SI (match_dup 6) (const_int -20)))
(set (mem:SI (plus:SI (match_dup 6) (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6"
"stwm\\t{%1, %2, %3, %4, %5}, --(%6), writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm5_dec"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (plus:SI (match_operand:SI 6 "register_operand" "r") (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 6) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 5"
"stwm\\t{%1, %2, %3, %4, %5}, --(%6)"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm6_inc_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 7 "register_operand" "+&r")
(plus:SI (match_dup 7) (const_int 24)))
(set (mem:SI (match_dup 7))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int 20)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7"
"stwm\\t{%1, %2, %3, %4, %5, %6}, (%7)++, writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm6_inc"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (match_operand:SI 7 "register_operand" "r"))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int 20)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6"
"stwm\\t{%1, %2, %3, %4, %5, %6}, (%7)++"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm6_dec_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 7 "register_operand" "+&r")
(plus:SI (match_dup 7) (const_int -24)))
(set (mem:SI (plus:SI (match_dup 7) (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int -24)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7"
"stwm\\t{%1, %2, %3, %4, %5, %6}, --(%7), writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm6_dec"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (plus:SI (match_operand:SI 7 "register_operand" "r") (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 7) (const_int -24)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 6"
"stwm\\t{%1, %2, %3, %4, %5, %6}, --(%7)"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm7_inc_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 8 "register_operand" "+&r")
(plus:SI (match_dup 8) (const_int 28)))
(set (mem:SI (match_dup 8))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int 20)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int 24)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7}, (%8)++, writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm7_inc"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (match_operand:SI 8 "register_operand" "r"))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int 20)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int 24)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7}, (%8)++"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm7_dec_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 8 "register_operand" "+&r")
(plus:SI (match_dup 8) (const_int -28)))
(set (mem:SI (plus:SI (match_dup 8) (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int -24)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int -28)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7}, --(%8), writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm7_dec"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (plus:SI (match_operand:SI 8 "register_operand" "r") (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int -24)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 8) (const_int -28)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 7"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7}, --(%8)"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm8_inc_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 9 "register_operand" "+&r")
(plus:SI (match_dup 9) (const_int 32)))
(set (mem:SI (match_dup 9))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int 20)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int 24)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int 28)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8}, (%9)++, writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm8_inc"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (match_operand:SI 9 "register_operand" "r"))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int 20)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int 24)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int 28)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8}, (%9)++"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm8_dec_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 9 "register_operand" "+&r")
(plus:SI (match_dup 9) (const_int -32)))
(set (mem:SI (plus:SI (match_dup 9) (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int -24)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int -28)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int -32)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8}, --(%9), writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm8_dec"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (plus:SI (match_operand:SI 9 "register_operand" "r") (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int -24)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int -28)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 9) (const_int -32)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 8"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8}, --(%9)"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm9_inc_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 10 "register_operand" "+&r")
(plus:SI (match_dup 10) (const_int 36)))
(set (mem:SI (match_dup 10))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 20)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 24)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 28)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 32)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9}, (%10)++, writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm9_inc"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (match_operand:SI 10 "register_operand" "r"))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 20)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 24)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 28)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int 32)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9}, (%10)++"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm9_dec_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 10 "register_operand" "+&r")
(plus:SI (match_dup 10) (const_int -36)))
(set (mem:SI (plus:SI (match_dup 10) (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -24)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -28)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -32)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -36)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9}, --(%10), writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm9_dec"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (plus:SI (match_operand:SI 10 "register_operand" "r") (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -24)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -28)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -32)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 10) (const_int -36)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 9"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9}, --(%10)"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm10_inc_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 11 "register_operand" "+&r")
(plus:SI (match_dup 11) (const_int 40)))
(set (mem:SI (match_dup 11))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 20)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 24)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 28)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 32)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 36)))
(match_operand:SI 10 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 11"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10}, (%11)++, writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm10_inc"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (match_operand:SI 11 "register_operand" "r"))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 20)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 24)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 28)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 32)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int 36)))
(match_operand:SI 10 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10}, (%11)++"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm10_dec_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 11 "register_operand" "+&r")
(plus:SI (match_dup 11) (const_int -40)))
(set (mem:SI (plus:SI (match_dup 11) (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -24)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -28)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -32)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -36)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -40)))
(match_operand:SI 10 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 11"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10}, --(%11), writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm10_dec"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (plus:SI (match_operand:SI 11 "register_operand" "r") (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -24)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -28)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -32)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -36)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 11) (const_int -40)))
(match_operand:SI 10 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 10"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10}, --(%11)"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm11_inc_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 12 "register_operand" "+&r")
(plus:SI (match_dup 12) (const_int 44)))
(set (mem:SI (match_dup 12))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 20)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 24)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 28)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 32)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 36)))
(match_operand:SI 10 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 40)))
(match_operand:SI 11 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 12"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11}, (%12)++, writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm11_inc"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (match_operand:SI 12 "register_operand" "r"))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 20)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 24)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 28)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 32)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 36)))
(match_operand:SI 10 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int 40)))
(match_operand:SI 11 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 11"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11}, (%12)++"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm11_dec_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 12 "register_operand" "+&r")
(plus:SI (match_dup 12) (const_int -44)))
(set (mem:SI (plus:SI (match_dup 12) (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -24)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -28)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -32)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -36)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -40)))
(match_operand:SI 10 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -44)))
(match_operand:SI 11 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 12"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11}, --(%12), writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm11_dec"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (plus:SI (match_operand:SI 12 "register_operand" "r") (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -24)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -28)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -32)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -36)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -40)))
(match_operand:SI 10 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 12) (const_int -44)))
(match_operand:SI 11 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 11"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11}, --(%12)"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm12_inc_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 13 "register_operand" "+&r")
(plus:SI (match_dup 13) (const_int 48)))
(set (mem:SI (match_dup 13))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 20)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 24)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 28)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 32)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 36)))
(match_operand:SI 10 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 40)))
(match_operand:SI 11 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 44)))
(match_operand:SI 12 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 13"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12}, (%13)++, writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm12_inc"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (match_operand:SI 13 "register_operand" "r"))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 4)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 8)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 12)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 16)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 20)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 24)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 28)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 32)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 36)))
(match_operand:SI 10 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 40)))
(match_operand:SI 11 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int 44)))
(match_operand:SI 12 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 12"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12}, (%13)++"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm12_dec_wb"
[(match_parallel 0 "stwm_operation"
[(set (match_operand:SI 13 "register_operand" "+&r")
(plus:SI (match_dup 13) (const_int -48)))
(set (mem:SI (plus:SI (match_dup 13) (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -24)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -28)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -32)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -36)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -40)))
(match_operand:SI 10 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -44)))
(match_operand:SI 11 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -48)))
(match_operand:SI 12 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 13"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12}, --(%13), writeback"
[(set_attr "type" "stwm")])
(define_insn "*cdx_stwm12_dec"
[(match_parallel 0 "stwm_operation"
[(set (mem:SI (plus:SI (match_operand:SI 13 "register_operand" "r") (const_int -4)))
(match_operand:SI 1 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -8)))
(match_operand:SI 2 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -12)))
(match_operand:SI 3 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -16)))
(match_operand:SI 4 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -20)))
(match_operand:SI 5 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -24)))
(match_operand:SI 6 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -28)))
(match_operand:SI 7 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -32)))
(match_operand:SI 8 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -36)))
(match_operand:SI 9 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -40)))
(match_operand:SI 10 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -44)))
(match_operand:SI 11 "nios2_hard_register_operand" ""))
(set (mem:SI (plus:SI (match_dup 13) (const_int -48)))
(match_operand:SI 12 "nios2_hard_register_operand" ""))])]
"TARGET_HAS_CDX && XVECLEN (operands[0], 0) == 12"
"stwm\\t{%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12}, --(%13)"
[(set_attr "type" "stwm")])
(define_peephole2
[(match_scratch:SI 24 "r")
(set (match_operand:SI 0 "register_operand" "")
(match_operand:SI 12 "memory_operand" ""))
(set (match_operand:SI 1 "register_operand" "")
(match_operand:SI 13 "memory_operand" ""))
(set (match_operand:SI 2 "register_operand" "")
(match_operand:SI 14 "memory_operand" ""))
(set (match_operand:SI 3 "register_operand" "")
(match_operand:SI 15 "memory_operand" ""))
(set (match_operand:SI 4 "register_operand" "")
(match_operand:SI 16 "memory_operand" ""))
(set (match_operand:SI 5 "register_operand" "")
(match_operand:SI 17 "memory_operand" ""))
(set (match_operand:SI 6 "register_operand" "")
(match_operand:SI 18 "memory_operand" ""))
(set (match_operand:SI 7 "register_operand" "")
(match_operand:SI 19 "memory_operand" ""))
(set (match_operand:SI 8 "register_operand" "")
(match_operand:SI 20 "memory_operand" ""))
(set (match_operand:SI 9 "register_operand" "")
(match_operand:SI 21 "memory_operand" ""))
(set (match_operand:SI 10 "register_operand" "")
(match_operand:SI 22 "memory_operand" ""))
(set (match_operand:SI 11 "register_operand" "")
(match_operand:SI 23 "memory_operand" ""))
(match_dup 24)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (true, 12, operands[24], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 22 "r")
(set (match_operand:SI 0 "register_operand" "")
(match_operand:SI 11 "memory_operand" ""))
(set (match_operand:SI 1 "register_operand" "")
(match_operand:SI 12 "memory_operand" ""))
(set (match_operand:SI 2 "register_operand" "")
(match_operand:SI 13 "memory_operand" ""))
(set (match_operand:SI 3 "register_operand" "")
(match_operand:SI 14 "memory_operand" ""))
(set (match_operand:SI 4 "register_operand" "")
(match_operand:SI 15 "memory_operand" ""))
(set (match_operand:SI 5 "register_operand" "")
(match_operand:SI 16 "memory_operand" ""))
(set (match_operand:SI 6 "register_operand" "")
(match_operand:SI 17 "memory_operand" ""))
(set (match_operand:SI 7 "register_operand" "")
(match_operand:SI 18 "memory_operand" ""))
(set (match_operand:SI 8 "register_operand" "")
(match_operand:SI 19 "memory_operand" ""))
(set (match_operand:SI 9 "register_operand" "")
(match_operand:SI 20 "memory_operand" ""))
(set (match_operand:SI 10 "register_operand" "")
(match_operand:SI 21 "memory_operand" ""))
(match_dup 22)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (true, 11, operands[22], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 20 "r")
(set (match_operand:SI 0 "register_operand" "")
(match_operand:SI 10 "memory_operand" ""))
(set (match_operand:SI 1 "register_operand" "")
(match_operand:SI 11 "memory_operand" ""))
(set (match_operand:SI 2 "register_operand" "")
(match_operand:SI 12 "memory_operand" ""))
(set (match_operand:SI 3 "register_operand" "")
(match_operand:SI 13 "memory_operand" ""))
(set (match_operand:SI 4 "register_operand" "")
(match_operand:SI 14 "memory_operand" ""))
(set (match_operand:SI 5 "register_operand" "")
(match_operand:SI 15 "memory_operand" ""))
(set (match_operand:SI 6 "register_operand" "")
(match_operand:SI 16 "memory_operand" ""))
(set (match_operand:SI 7 "register_operand" "")
(match_operand:SI 17 "memory_operand" ""))
(set (match_operand:SI 8 "register_operand" "")
(match_operand:SI 18 "memory_operand" ""))
(set (match_operand:SI 9 "register_operand" "")
(match_operand:SI 19 "memory_operand" ""))
(match_dup 20)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (true, 10, operands[20], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 18 "r")
(set (match_operand:SI 0 "register_operand" "")
(match_operand:SI 9 "memory_operand" ""))
(set (match_operand:SI 1 "register_operand" "")
(match_operand:SI 10 "memory_operand" ""))
(set (match_operand:SI 2 "register_operand" "")
(match_operand:SI 11 "memory_operand" ""))
(set (match_operand:SI 3 "register_operand" "")
(match_operand:SI 12 "memory_operand" ""))
(set (match_operand:SI 4 "register_operand" "")
(match_operand:SI 13 "memory_operand" ""))
(set (match_operand:SI 5 "register_operand" "")
(match_operand:SI 14 "memory_operand" ""))
(set (match_operand:SI 6 "register_operand" "")
(match_operand:SI 15 "memory_operand" ""))
(set (match_operand:SI 7 "register_operand" "")
(match_operand:SI 16 "memory_operand" ""))
(set (match_operand:SI 8 "register_operand" "")
(match_operand:SI 17 "memory_operand" ""))
(match_dup 18)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (true, 9, operands[18], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 16 "r")
(set (match_operand:SI 0 "register_operand" "")
(match_operand:SI 8 "memory_operand" ""))
(set (match_operand:SI 1 "register_operand" "")
(match_operand:SI 9 "memory_operand" ""))
(set (match_operand:SI 2 "register_operand" "")
(match_operand:SI 10 "memory_operand" ""))
(set (match_operand:SI 3 "register_operand" "")
(match_operand:SI 11 "memory_operand" ""))
(set (match_operand:SI 4 "register_operand" "")
(match_operand:SI 12 "memory_operand" ""))
(set (match_operand:SI 5 "register_operand" "")
(match_operand:SI 13 "memory_operand" ""))
(set (match_operand:SI 6 "register_operand" "")
(match_operand:SI 14 "memory_operand" ""))
(set (match_operand:SI 7 "register_operand" "")
(match_operand:SI 15 "memory_operand" ""))
(match_dup 16)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (true, 8, operands[16], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 14 "r")
(set (match_operand:SI 0 "register_operand" "")
(match_operand:SI 7 "memory_operand" ""))
(set (match_operand:SI 1 "register_operand" "")
(match_operand:SI 8 "memory_operand" ""))
(set (match_operand:SI 2 "register_operand" "")
(match_operand:SI 9 "memory_operand" ""))
(set (match_operand:SI 3 "register_operand" "")
(match_operand:SI 10 "memory_operand" ""))
(set (match_operand:SI 4 "register_operand" "")
(match_operand:SI 11 "memory_operand" ""))
(set (match_operand:SI 5 "register_operand" "")
(match_operand:SI 12 "memory_operand" ""))
(set (match_operand:SI 6 "register_operand" "")
(match_operand:SI 13 "memory_operand" ""))
(match_dup 14)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (true, 7, operands[14], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 12 "r")
(set (match_operand:SI 0 "register_operand" "")
(match_operand:SI 6 "memory_operand" ""))
(set (match_operand:SI 1 "register_operand" "")
(match_operand:SI 7 "memory_operand" ""))
(set (match_operand:SI 2 "register_operand" "")
(match_operand:SI 8 "memory_operand" ""))
(set (match_operand:SI 3 "register_operand" "")
(match_operand:SI 9 "memory_operand" ""))
(set (match_operand:SI 4 "register_operand" "")
(match_operand:SI 10 "memory_operand" ""))
(set (match_operand:SI 5 "register_operand" "")
(match_operand:SI 11 "memory_operand" ""))
(match_dup 12)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (true, 6, operands[12], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 10 "r")
(set (match_operand:SI 0 "register_operand" "")
(match_operand:SI 5 "memory_operand" ""))
(set (match_operand:SI 1 "register_operand" "")
(match_operand:SI 6 "memory_operand" ""))
(set (match_operand:SI 2 "register_operand" "")
(match_operand:SI 7 "memory_operand" ""))
(set (match_operand:SI 3 "register_operand" "")
(match_operand:SI 8 "memory_operand" ""))
(set (match_operand:SI 4 "register_operand" "")
(match_operand:SI 9 "memory_operand" ""))
(match_dup 10)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (true, 5, operands[10], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 8 "r")
(set (match_operand:SI 0 "register_operand" "")
(match_operand:SI 4 "memory_operand" ""))
(set (match_operand:SI 1 "register_operand" "")
(match_operand:SI 5 "memory_operand" ""))
(set (match_operand:SI 2 "register_operand" "")
(match_operand:SI 6 "memory_operand" ""))
(set (match_operand:SI 3 "register_operand" "")
(match_operand:SI 7 "memory_operand" ""))
(match_dup 8)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (true, 4, operands[8], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 6 "r")
(set (match_operand:SI 0 "register_operand" "")
(match_operand:SI 3 "memory_operand" ""))
(set (match_operand:SI 1 "register_operand" "")
(match_operand:SI 4 "memory_operand" ""))
(set (match_operand:SI 2 "register_operand" "")
(match_operand:SI 5 "memory_operand" ""))
(match_dup 6)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (true, 3, operands[6], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 4 "r")
(set (match_operand:SI 0 "register_operand" "")
(match_operand:SI 2 "memory_operand" ""))
(set (match_operand:SI 1 "register_operand" "")
(match_operand:SI 3 "memory_operand" ""))
(match_dup 4)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (true, 2, operands[4], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 24 "r")
(set (match_operand:SI 12 "memory_operand" "")
(match_operand:SI 0 "register_operand" ""))
(set (match_operand:SI 13 "memory_operand" "")
(match_operand:SI 1 "register_operand" ""))
(set (match_operand:SI 14 "memory_operand" "")
(match_operand:SI 2 "register_operand" ""))
(set (match_operand:SI 15 "memory_operand" "")
(match_operand:SI 3 "register_operand" ""))
(set (match_operand:SI 16 "memory_operand" "")
(match_operand:SI 4 "register_operand" ""))
(set (match_operand:SI 17 "memory_operand" "")
(match_operand:SI 5 "register_operand" ""))
(set (match_operand:SI 18 "memory_operand" "")
(match_operand:SI 6 "register_operand" ""))
(set (match_operand:SI 19 "memory_operand" "")
(match_operand:SI 7 "register_operand" ""))
(set (match_operand:SI 20 "memory_operand" "")
(match_operand:SI 8 "register_operand" ""))
(set (match_operand:SI 21 "memory_operand" "")
(match_operand:SI 9 "register_operand" ""))
(set (match_operand:SI 22 "memory_operand" "")
(match_operand:SI 10 "register_operand" ""))
(set (match_operand:SI 23 "memory_operand" "")
(match_operand:SI 11 "register_operand" ""))
(match_dup 24)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (false, 12, operands[24], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 22 "r")
(set (match_operand:SI 11 "memory_operand" "")
(match_operand:SI 0 "register_operand" ""))
(set (match_operand:SI 12 "memory_operand" "")
(match_operand:SI 1 "register_operand" ""))
(set (match_operand:SI 13 "memory_operand" "")
(match_operand:SI 2 "register_operand" ""))
(set (match_operand:SI 14 "memory_operand" "")
(match_operand:SI 3 "register_operand" ""))
(set (match_operand:SI 15 "memory_operand" "")
(match_operand:SI 4 "register_operand" ""))
(set (match_operand:SI 16 "memory_operand" "")
(match_operand:SI 5 "register_operand" ""))
(set (match_operand:SI 17 "memory_operand" "")
(match_operand:SI 6 "register_operand" ""))
(set (match_operand:SI 18 "memory_operand" "")
(match_operand:SI 7 "register_operand" ""))
(set (match_operand:SI 19 "memory_operand" "")
(match_operand:SI 8 "register_operand" ""))
(set (match_operand:SI 20 "memory_operand" "")
(match_operand:SI 9 "register_operand" ""))
(set (match_operand:SI 21 "memory_operand" "")
(match_operand:SI 10 "register_operand" ""))
(match_dup 22)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (false, 11, operands[22], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 20 "r")
(set (match_operand:SI 10 "memory_operand" "")
(match_operand:SI 0 "register_operand" ""))
(set (match_operand:SI 11 "memory_operand" "")
(match_operand:SI 1 "register_operand" ""))
(set (match_operand:SI 12 "memory_operand" "")
(match_operand:SI 2 "register_operand" ""))
(set (match_operand:SI 13 "memory_operand" "")
(match_operand:SI 3 "register_operand" ""))
(set (match_operand:SI 14 "memory_operand" "")
(match_operand:SI 4 "register_operand" ""))
(set (match_operand:SI 15 "memory_operand" "")
(match_operand:SI 5 "register_operand" ""))
(set (match_operand:SI 16 "memory_operand" "")
(match_operand:SI 6 "register_operand" ""))
(set (match_operand:SI 17 "memory_operand" "")
(match_operand:SI 7 "register_operand" ""))
(set (match_operand:SI 18 "memory_operand" "")
(match_operand:SI 8 "register_operand" ""))
(set (match_operand:SI 19 "memory_operand" "")
(match_operand:SI 9 "register_operand" ""))
(match_dup 20)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (false, 10, operands[20], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 18 "r")
(set (match_operand:SI 9 "memory_operand" "")
(match_operand:SI 0 "register_operand" ""))
(set (match_operand:SI 10 "memory_operand" "")
(match_operand:SI 1 "register_operand" ""))
(set (match_operand:SI 11 "memory_operand" "")
(match_operand:SI 2 "register_operand" ""))
(set (match_operand:SI 12 "memory_operand" "")
(match_operand:SI 3 "register_operand" ""))
(set (match_operand:SI 13 "memory_operand" "")
(match_operand:SI 4 "register_operand" ""))
(set (match_operand:SI 14 "memory_operand" "")
(match_operand:SI 5 "register_operand" ""))
(set (match_operand:SI 15 "memory_operand" "")
(match_operand:SI 6 "register_operand" ""))
(set (match_operand:SI 16 "memory_operand" "")
(match_operand:SI 7 "register_operand" ""))
(set (match_operand:SI 17 "memory_operand" "")
(match_operand:SI 8 "register_operand" ""))
(match_dup 18)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (false, 9, operands[18], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 16 "r")
(set (match_operand:SI 8 "memory_operand" "")
(match_operand:SI 0 "register_operand" ""))
(set (match_operand:SI 9 "memory_operand" "")
(match_operand:SI 1 "register_operand" ""))
(set (match_operand:SI 10 "memory_operand" "")
(match_operand:SI 2 "register_operand" ""))
(set (match_operand:SI 11 "memory_operand" "")
(match_operand:SI 3 "register_operand" ""))
(set (match_operand:SI 12 "memory_operand" "")
(match_operand:SI 4 "register_operand" ""))
(set (match_operand:SI 13 "memory_operand" "")
(match_operand:SI 5 "register_operand" ""))
(set (match_operand:SI 14 "memory_operand" "")
(match_operand:SI 6 "register_operand" ""))
(set (match_operand:SI 15 "memory_operand" "")
(match_operand:SI 7 "register_operand" ""))
(match_dup 16)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (false, 8, operands[16], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 14 "r")
(set (match_operand:SI 7 "memory_operand" "")
(match_operand:SI 0 "register_operand" ""))
(set (match_operand:SI 8 "memory_operand" "")
(match_operand:SI 1 "register_operand" ""))
(set (match_operand:SI 9 "memory_operand" "")
(match_operand:SI 2 "register_operand" ""))
(set (match_operand:SI 10 "memory_operand" "")
(match_operand:SI 3 "register_operand" ""))
(set (match_operand:SI 11 "memory_operand" "")
(match_operand:SI 4 "register_operand" ""))
(set (match_operand:SI 12 "memory_operand" "")
(match_operand:SI 5 "register_operand" ""))
(set (match_operand:SI 13 "memory_operand" "")
(match_operand:SI 6 "register_operand" ""))
(match_dup 14)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (false, 7, operands[14], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 12 "r")
(set (match_operand:SI 6 "memory_operand" "")
(match_operand:SI 0 "register_operand" ""))
(set (match_operand:SI 7 "memory_operand" "")
(match_operand:SI 1 "register_operand" ""))
(set (match_operand:SI 8 "memory_operand" "")
(match_operand:SI 2 "register_operand" ""))
(set (match_operand:SI 9 "memory_operand" "")
(match_operand:SI 3 "register_operand" ""))
(set (match_operand:SI 10 "memory_operand" "")
(match_operand:SI 4 "register_operand" ""))
(set (match_operand:SI 11 "memory_operand" "")
(match_operand:SI 5 "register_operand" ""))
(match_dup 12)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (false, 6, operands[12], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 10 "r")
(set (match_operand:SI 5 "memory_operand" "")
(match_operand:SI 0 "register_operand" ""))
(set (match_operand:SI 6 "memory_operand" "")
(match_operand:SI 1 "register_operand" ""))
(set (match_operand:SI 7 "memory_operand" "")
(match_operand:SI 2 "register_operand" ""))
(set (match_operand:SI 8 "memory_operand" "")
(match_operand:SI 3 "register_operand" ""))
(set (match_operand:SI 9 "memory_operand" "")
(match_operand:SI 4 "register_operand" ""))
(match_dup 10)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (false, 5, operands[10], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 8 "r")
(set (match_operand:SI 4 "memory_operand" "")
(match_operand:SI 0 "register_operand" ""))
(set (match_operand:SI 5 "memory_operand" "")
(match_operand:SI 1 "register_operand" ""))
(set (match_operand:SI 6 "memory_operand" "")
(match_operand:SI 2 "register_operand" ""))
(set (match_operand:SI 7 "memory_operand" "")
(match_operand:SI 3 "register_operand" ""))
(match_dup 8)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (false, 4, operands[8], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 6 "r")
(set (match_operand:SI 3 "memory_operand" "")
(match_operand:SI 0 "register_operand" ""))
(set (match_operand:SI 4 "memory_operand" "")
(match_operand:SI 1 "register_operand" ""))
(set (match_operand:SI 5 "memory_operand" "")
(match_operand:SI 2 "register_operand" ""))
(match_dup 6)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (false, 3, operands[6], operands))
DONE;
else
FAIL;
})
(define_peephole2
[(match_scratch:SI 4 "r")
(set (match_operand:SI 2 "memory_operand" "")
(match_operand:SI 0 "register_operand" ""))
(set (match_operand:SI 3 "memory_operand" "")
(match_operand:SI 1 "register_operand" ""))
(match_dup 4)]
"TARGET_HAS_CDX"
[(const_int 0)]
{
if (gen_ldstwm_peep (false, 2, operands[4], operands))
DONE;
else
FAIL;
})