===================================================================
@@ -1,3 +1,12 @@
+2017-01-10 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ Backport from mainline
+ 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.
+
2017-01-09 Andreas Tobler <andreast@gcc.gnu.org>
Backport from mainline
===================================================================
@@ -2289,11 +2289,9 @@
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;
})