From c8d7835b2209abf43846ad5b92a9064082910ed5 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Mon, 26 Jan 2015 19:49:21 +0100 Subject: [PATCH] re PR target/64795 (too many memory references for `lea') PR target/64795 * config/i386/i386.md (*movdi_internal): Also check operand 0 to determine TYPE_LEA operand. (*movsi_internal): Ditto. From-SVN: r220128 --- gcc/ChangeLog | 19 +++++++++++++------ gcc/config/i386/i386.md | 6 ++++-- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bba14a3d0c4..c441f2af51f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2015-01-26 Uros Bizjak + + PR target/64795 + * config/i386/i386.md (*movdi_internal): Also check operand 0 + to determine TYPE_LEA operand. + (*movsi_internal): Ditto. + 2015-01-26 Jakub Jelinek * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add @@ -122,7 +129,7 @@ (*addc_negreg_t): New insn_and_split. (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand. Try to recombine with surrounding insns when splitting. - Add operand order variants. + Add operand order variants. (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New insn_and_split patterns. (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with @@ -1206,7 +1213,7 @@ remove -mgp-direct option. 2015-01-15 Jan Hubicka - + * doc/invoke.texi (--param early-inlining-insns): Update default value. * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14. @@ -2107,7 +2114,7 @@ PR target/64386 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode, - V32HImode. + V32HImode. 2015-01-14 Ilya Tocar @@ -2293,7 +2300,7 @@ 2015-01-13 Andrew Pinski * config/aarch64/aarch64.c (fusion_load_store): Check dest mode - instead of src mode. + instead of src mode. 2015-01-13 Richard Biener @@ -2414,7 +2421,7 @@ * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing example. - + 2015-01-12 Jakub Jelinek PR tree-optimization/64563 @@ -2603,7 +2610,7 @@ [(--param max-inline-insns-recursive)]: Likewise. [(--param max-inline-recursive-depth)]: Likewise. [(-mno-text-section-literals)]: Likewise. - + 2015-01-10 Thomas Schwinge * doc/install.texi: Update for libgomp being renamed from "GNU diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 7577c817e64..5cefa81da96 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -2208,7 +2208,8 @@ (const_string "ssecvt") (eq_attr "alternative" "21,22,23,24") (const_string "mskmov") - (match_operand 1 "pic_32bit_operand") + (and (match_operand 0 "register_operand") + (match_operand 1 "pic_32bit_operand")) (const_string "lea") ] (const_string "imov"))) @@ -2361,7 +2362,8 @@ (const_string "ssemov") (eq_attr "alternative" "13,14") (const_string "mskmov") - (match_operand 1 "pic_32bit_operand") + (and (match_operand 0 "register_operand") + (match_operand 1 "pic_32bit_operand")) (const_string "lea") ] (const_string "imov"))) -- 2.11.4.GIT