[Bug target/68865] [6 regression] gcc.dg/atomic/c11-atomic-exec-2.c fails since r231165

2015-12-14 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68865

Segher Boessenkool  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Segher Boessenkool  ---
Fixed.

[Bug target/68865] [6 regression] gcc.dg/atomic/c11-atomic-exec-2.c fails since r231165

2015-12-14 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68865

--- Comment #4 from Segher Boessenkool  ---
Author: segher
Date: Mon Dec 14 16:13:33 2015
New Revision: 231621

URL: https://gcc.gnu.org/viewcvs?rev=231621=gcc=rev
Log:
rs6000: Fix a mistake in cstore_si_as_di (PR68865, PR68879)

convert_move does not know how to zero-extend a constant integer to the
target mode -- simply because it does not know the source mode.  As a
result, 32-bit SImode with the high bit set would be effectively sign-
extended instead of zero-extended.

This patch fixes it.


PR target/68865
PR target/68879
* config/rs6000/rs6000.md (cstore_si_as_di): Force all operands
into registers.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.md

[Bug target/68865] [6 regression] gcc.dg/atomic/c11-atomic-exec-2.c fails since r231165

2015-12-12 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68865

Segher Boessenkool  changed:

   What|Removed |Added

 CC||anton at samba dot org

--- Comment #3 from Segher Boessenkool  ---
*** Bug 68879 has been marked as a duplicate of this bug. ***

[Bug target/68865] [6 regression] gcc.dg/atomic/c11-atomic-exec-2.c fails since r231165

2015-12-11 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68865

--- Comment #2 from Bill Schmidt  ---
That's very possible.  No doubt r231165 just caused it to come out of the
woodwork again.  However, I verified that it didn't ICE with r230600 - r231164,
so something about r231165 managed to trigger the issue.

Thanks for looking at it!

[Bug target/68865] [6 regression] gcc.dg/atomic/c11-atomic-exec-2.c fails since r231165

2015-12-11 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68865

Segher Boessenkool  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-12-11
 Ever confirmed|0   |1

--- Comment #1 from Segher Boessenkool  ---
It used to ICE before this patch.  It has for a long time.
This isn't the patch you are looking for.

I'll take a look though, sure.  Simplified testcase:

===
static void __attribute__ ((noinline))
testit (void)
{
  static volatile _Atomic unsigned int a = (unsigned int) (-70);
  if ((a /= (-10)) != (unsigned int) ((unsigned int) (-70) / (-10)))
abort ();
}

int
main (void)
{
  testit ();

  exit (0);
}
===

(compile with -O2 -latomic).

[Bug target/68865] [6 regression] gcc.dg/atomic/c11-atomic-exec-2.c fails since r231165

2015-12-11 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68865

Bill Schmidt  changed:

   What|Removed |Added

   Target Milestone|--- |6.0