Commit 9759608c by Segher Boessenkool Committed by Segher Boessenkool

nds32: Fix casesi (PR70668)

Expanders do not have more elements in the operands array than declared
in the pattern.  So, we cannot use operands[5] here.  Instead just
declare and use another rtx.


	PR target/70668
	* config/nds32/nds32.md (casesi): Don't access the operands array
	out of bounds.

From-SVN: r235583
parent e41ebdf1
2016-04-28 Segher Boessenkool <segher@kernel.crashing.org>
PR target/70668
* config/nds32/nds32.md (casesi): Don't access the operands array
out of bounds.
2016-04-28 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (zeroing peephole2): Use general_reg_operand.
......
......@@ -2288,11 +2288,9 @@ create_template:
emit_jump_insn (gen_cbranchsi4 (test, operands[0], operands[2],
operands[4]));
operands[5] = gen_reg_rtx (SImode);
/* Step C, D, E, and F, using another temporary register operands[5]. */
emit_jump_insn (gen_casesi_internal (operands[0],
operands[3],
operands[5]));
/* Step C, D, E, and F, using another temporary register. */
rtx tmp = gen_reg_rtx (SImode);
emit_jump_insn (gen_casesi_internal (operands[0], operands[3], tmp));
DONE;
})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment