Commit 9db27449 by Uros Bizjak Committed by Uros Bizjak

i386.md (tanxf2, [...]): Use op2 instead of operands[2] to avoid access past the end of array.

	* config/i386/i386.md (tanxf2, tan<mode>2, atan<mode>2, log<mode>2,
	log10<mode>2, log2<mode>2, expxf2, exp10xf2, exp2xf2): Use op2
	instead of operands[2] to avoid access past the end of array.

From-SVN: r121106
parent 92d54592
2007-01-24 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (tanxf2, tan<mode>2, atan<mode>2, log<mode>2,
log10<mode>2, log2<mode>2, expxf2, exp10xf2, exp2xf2): Use op2
instead of operands[2] to avoid access past the end of array.
2007-01-24 Richard Sandiford <richard@codesourcery.com>
* reload1.c (emit_reload_insns): Pass the reload register
......
......@@ -15904,9 +15904,9 @@
&& flag_unsafe_math_optimizations"
{
rtx one = gen_reg_rtx (XFmode);
operands[2] = CONST1_RTX (XFmode); /* fld1 */
rtx op2 = CONST1_RTX (XFmode); /* fld1 */
emit_insn (gen_fptanxf4_i387 (one, operands[0], operands[1], operands[2]));
emit_insn (gen_fptanxf4_i387 (one, operands[0], operands[1], op2));
DONE;
})
......@@ -15921,10 +15921,10 @@
rtx op0 = gen_reg_rtx (XFmode);
rtx one = gen_reg_rtx (<MODE>mode);
operands[2] = CONST1_RTX (<MODE>mode); /* fld1 */
rtx op2 = CONST1_RTX (<MODE>mode); /* fld1 */
emit_insn (gen_fptan_extend<mode>xf4_i387 (one, op0,
operands[1], operands[2]));
operands[1], op2));
emit_insn (gen_truncxf<mode>2_i387_noop (operands[0], op0));
DONE;
})
......@@ -16006,10 +16006,10 @@
{
rtx op0 = gen_reg_rtx (XFmode);
operands[2] = gen_reg_rtx (<MODE>mode);
emit_move_insn (operands[2], CONST1_RTX (<MODE>mode)); /* fld1 */
rtx op2 = gen_reg_rtx (<MODE>mode);
emit_move_insn (op2, CONST1_RTX (<MODE>mode)); /* fld1 */
emit_insn (gen_fpatan_extend<mode>xf3_i387 (op0, operands[2], operands[1]));
emit_insn (gen_fpatan_extend<mode>xf3_i387 (op0, op2, operands[1]));
emit_insn (gen_truncxf<mode>2_i387_noop (operands[0], op0));
DONE;
})
......@@ -16139,10 +16139,10 @@
{
rtx op0 = gen_reg_rtx (XFmode);
operands[2] = gen_reg_rtx (XFmode);
emit_move_insn (operands[2], standard_80387_constant_rtx (4)); /* fldln2 */
rtx op2 = gen_reg_rtx (XFmode);
emit_move_insn (op2, standard_80387_constant_rtx (4)); /* fldln2 */
emit_insn (gen_fyl2x_extend<mode>xf3_i387 (op0, operands[1], operands[2]));
emit_insn (gen_fyl2x_extend<mode>xf3_i387 (op0, operands[1], op2));
emit_insn (gen_truncxf<mode>2_i387_noop (operands[0], op0));
DONE;
})
......@@ -16169,10 +16169,10 @@
{
rtx op0 = gen_reg_rtx (XFmode);
operands[2] = gen_reg_rtx (XFmode);
emit_move_insn (operands[2], standard_80387_constant_rtx (3)); /* fldlg2 */
rtx op2 = gen_reg_rtx (XFmode);
emit_move_insn (op2, standard_80387_constant_rtx (3)); /* fldlg2 */
emit_insn (gen_fyl2x_extend<mode>xf3_i387 (op0, operands[1], operands[2]));
emit_insn (gen_fyl2x_extend<mode>xf3_i387 (op0, operands[1], op2));
emit_insn (gen_truncxf<mode>2_i387_noop (operands[0], op0));
DONE;
})
......@@ -16199,10 +16199,10 @@
{
rtx op0 = gen_reg_rtx (XFmode);
operands[2] = gen_reg_rtx (XFmode);
emit_move_insn (operands[2], CONST1_RTX (XFmode)); /* fld1 */
rtx op2 = gen_reg_rtx (XFmode);
emit_move_insn (op2, CONST1_RTX (XFmode)); /* fld1 */
emit_insn (gen_fyl2x_extend<mode>xf3_i387 (op0, operands[1], operands[2]));
emit_insn (gen_fyl2x_extend<mode>xf3_i387 (op0, operands[1], op2));
emit_insn (gen_truncxf<mode>2_i387_noop (operands[0], op0));
DONE;
})
......@@ -16387,10 +16387,10 @@
"TARGET_USE_FANCY_MATH_387
&& flag_unsafe_math_optimizations && !optimize_size"
{
operands[2] = gen_reg_rtx (XFmode);
emit_move_insn (operands[2], standard_80387_constant_rtx (5)); /* fldl2e */
rtx op2 = gen_reg_rtx (XFmode);
emit_move_insn (op2, standard_80387_constant_rtx (5)); /* fldl2e */
emit_insn (gen_expNcorexf3 (operands[0], operands[1], operands[2]));
emit_insn (gen_expNcorexf3 (operands[0], operands[1], op2));
DONE;
})
......@@ -16417,10 +16417,10 @@
"TARGET_USE_FANCY_MATH_387
&& flag_unsafe_math_optimizations && !optimize_size"
{
operands[2] = gen_reg_rtx (XFmode);
emit_move_insn (operands[2], standard_80387_constant_rtx (6)); /* fldl2t */
rtx op2 = gen_reg_rtx (XFmode);
emit_move_insn (op2, standard_80387_constant_rtx (6)); /* fldl2t */
emit_insn (gen_expNcorexf3 (operands[0], operands[1], operands[2]));
emit_insn (gen_expNcorexf3 (operands[0], operands[1], op2));
DONE;
})
......@@ -16447,10 +16447,10 @@
"TARGET_USE_FANCY_MATH_387
&& flag_unsafe_math_optimizations && !optimize_size"
{
operands[2] = gen_reg_rtx (XFmode);
emit_move_insn (operands[2], CONST1_RTX (XFmode)); /* fld1 */
rtx op2 = gen_reg_rtx (XFmode);
emit_move_insn (op2, CONST1_RTX (XFmode)); /* fld1 */
emit_insn (gen_expNcorexf3 (operands[0], operands[1], operands[2]));
emit_insn (gen_expNcorexf3 (operands[0], operands[1], op2));
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