diff options
author | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2017-12-08 23:47:44 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2017-12-08 23:47:44 +0000 |
commit | 4692a783656f005ff9737dfb296b25ed6d5ff114 (patch) | |
tree | 0de658eb07b54957b40ee8134f528d10a59dce9a /gcc/lra-constraints.c | |
parent | d5910e08a35c7bd4c2cd862d16e533fa978f3238 (diff) | |
download | gcc-4692a783656f005ff9737dfb296b25ed6d5ff114.zip gcc-4692a783656f005ff9737dfb296b25ed6d5ff114.tar.gz gcc-4692a783656f005ff9737dfb296b25ed6d5ff114.tar.bz2 |
[multiple changes]
2017-12-08 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/83317
* lra-constraints.c (process_address_1): Add insn code check.
2017-12-08 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/83317
* gcc.target/i386/pr83317.c: New test.
From-SVN: r255517
Diffstat (limited to 'gcc/lra-constraints.c')
-rw-r--r-- | gcc/lra-constraints.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index 3758409..a6600ef 100644 --- a/gcc/lra-constraints.c +++ b/gcc/lra-constraints.c @@ -3222,7 +3222,8 @@ process_address_1 (int nop, bool check_only_p, /* Do not attempt to decompose arbitrary addresses generated by combine for asm operands with loose constraints, e.g 'X'. */ else if (MEM_P (op) - && !(get_constraint_type (cn) == CT_FIXED_FORM + && !(INSN_CODE (curr_insn) < 0 + && get_constraint_type (cn) == CT_FIXED_FORM && constraint_satisfied_p (op, cn))) decompose_mem_address (&ad, op); else if (GET_CODE (op) == SUBREG |