From c892ccd49211ec57b732463342b5806bdf68e254 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Thu, 12 Nov 2015 11:55:11 +0000 Subject: [PATCH] re PR target/67265 ([x86] 'asm' operand has impossible constraints with -fstack-check) PR target/67265 * config/i386/i386.c (ix86_adjust_stack_and_probe): Remove obsolete assertion on the CFA register. From-SVN: r230245 --- gcc/ChangeLog | 6 ++++++ gcc/config/i386/i386.c | 2 -- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.target/i386/pr67265-2.c | 9 +++++++++ 4 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.target/i386/pr67265-2.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0a2a9ae2126..ab7d52959f8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-11-12 Eric Botcazou + + PR target/67265 + * config/i386/i386.c (ix86_adjust_stack_and_probe): Remove obsolete + assertion on the CFA register. + 2015-11-12 Ilya Enkovich * expr.c (do_store_flag): Expand vector comparison as diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index d048b19f385..1a6b2fd760e 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -12246,8 +12246,6 @@ ix86_adjust_stack_and_probe (const HOST_WIDE_INT size) release_scratch_register_on_entry (&sr); } - gcc_assert (cfun->machine->fs.cfa_reg != stack_pointer_rtx); - /* Even if the stack pointer isn't the CFA register, we need to correctly describe the adjustments made to it, in particular differentiate the frame-related ones from the frame-unrelated ones. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 20a7deb6017..d3259b6fa38 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2015-11-12 Eric Botcazou + + * gcc.target/i386/pr67265-2.c: New test. + 2015-11-12 Ilya Enkovich * gcc.dg/pr68286.c: New test. diff --git a/gcc/testsuite/gcc.target/i386/pr67265-2.c b/gcc/testsuite/gcc.target/i386/pr67265-2.c new file mode 100644 index 00000000000..a9f2eb460ef --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr67265-2.c @@ -0,0 +1,9 @@ +/* { dg-do compile } */ +/* { dg-options "-O -fstack-check" } */ + +void foo (int n) +{ + volatile char arr[64 * 1024]; + + arr[n] = 1; +} -- 2.30.2