i386.md (tanxf2, [...]): Use op2 instead of operands[2] to avoid access past the...
authorUros Bizjak <ubizjak@gmail.com>
Wed, 24 Jan 2007 11:17:09 +0000 (12:17 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 24 Jan 2007 11:17:09 +0000 (12:17 +0100)
* 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

gcc/ChangeLog
gcc/config/i386/i386.md

index b1946e8..1afc85d 100644 (file)
@@ -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
index 5ca723b..56cf81d 100644 (file)
    && 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;
 })
 
   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;
 })
 {
   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;
 })
 {
   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;
 })
 {
   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;
 })
 {
   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;
 })
   "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;
 })
 
   "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;
 })
 
   "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;
 })