aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2007-01-24 12:17:09 +0100
committerUros Bizjak <uros@gcc.gnu.org>2007-01-24 12:17:09 +0100
commit9db27449884f6c83ff2862450620ca979b541427 (patch)
tree0b077a2b8c174d8d9acccb241ece3ece332b6e3d /gcc
parent92d545925396fd4588681b0fec6d7d4477eb6aec (diff)
downloadgcc-9db27449884f6c83ff2862450620ca979b541427.zip
gcc-9db27449884f6c83ff2862450620ca979b541427.tar.gz
gcc-9db27449884f6c83ff2862450620ca979b541427.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.md50
2 files changed, 31 insertions, 25 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b1946e8..1afc85d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+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
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 5ca723b..56cf81d 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -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;
})