[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
This commit is contained in:
Vladimir Makarov 2017-12-08 23:47:44 +00:00
parent d5910e08a3
commit 4692a78365
4 changed files with 33 additions and 1 deletions

View File

@ -1,3 +1,8 @@
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 Michael Matz <matz@suse.de>
Fix PR tree-optimization/83323

View File

@ -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

View File

@ -1,3 +1,8 @@
2017-12-08 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/83317
* gcc.target/i386/pr83317.c: New test.
2017-12-08 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/81595

View File

@ -0,0 +1,21 @@
/* PR rtl-optimization/83317 */
/* { dg-do compile } */
/* { dg-options "-O1" } */
/* { dg-additional-options "-fPIC" { target fpic } } */
/* { dg-additional-options "-msse2 -mfpmath=sse" { target ia32 } } */
struct S { double a; };
struct S c;
int d, e;
void *buf[64];
extern int setjmp (void **);
void
foo ()
{
setjmp (buf);
struct S g;
if (d)
g.a = __builtin_copysign (e, d);
c = g;
}