From: Tom de Vries Date: Sat, 26 Apr 2014 16:32:56 +0000 (+0000) Subject: Fix out-of-bounds array accesses in ldexpxf3. X-Git-Tag: releases/gcc-5.1.0~7901 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4148ef5ff6d4673423d3e5c7c4bb92944d3f7038;p=thirdparty%2Fgcc.git Fix out-of-bounds array accesses in ldexpxf3. 2014-04-26 Tom de Vries * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds array accesses. From-SVN: r209824 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ccb796432426..26325e56137e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-04-26 Tom de Vries + + * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds + array accesses. + 2014-04-25 Cary Coutant PR debug/60929 diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 7db117c51892..fde0a93e68fb 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -14427,15 +14427,16 @@ "TARGET_USE_FANCY_MATH_387 && flag_unsafe_math_optimizations" { + rtx tmp1, tmp2; if (optimize_insn_for_size_p ()) FAIL; - operands[3] = gen_reg_rtx (XFmode); - operands[4] = gen_reg_rtx (XFmode); + tmp1 = gen_reg_rtx (XFmode); + tmp2 = gen_reg_rtx (XFmode); - emit_insn (gen_floatsixf2 (operands[3], operands[2])); - emit_insn (gen_fscalexf4_i387 (operands[0], operands[4], - operands[1], operands[3])); + emit_insn (gen_floatsixf2 (tmp1, operands[2])); + emit_insn (gen_fscalexf4_i387 (operands[0], tmp2, + operands[1], tmp1)); DONE; })