public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/64204] New: gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little endian after -mupper-regs patches went in
@ 2014-12-05 21:31 meissner at gcc dot gnu.org
  2014-12-05 21:33 ` [Bug target/64204] " meissner at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: meissner at gcc dot gnu.org @ 2014-12-05 21:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64204

            Bug ID: 64204
           Summary: gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little
                    endian after -mupper-regs patches went in
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: meissner at gcc dot gnu.org
              Host: powerpc64le-unknown-linux-gnu
            Target: powerpc64le-unknown-linux-gnu
             Build: powerpc64le-unknown-linux-gnu

The test gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little endian when it is
compiled without optimization and the target compiler was configured with
--with-cpu=power8.  If you optimize the code, it works, and if you compile it
with the -mno-upper-regs-df option.

The core problem is that an old optimization for Darwin which converts loading
up TFmode constants at RTL generation breaks when DFmode registers can go in
Altivec registers.

While looking at the code, I noticed that we weren't optimizing setting the
TFmode to 0.0L on VSX systems, and added support for that as well.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/64204] gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little endian after -mupper-regs patches went in
  2014-12-05 21:31 [Bug target/64204] New: gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little endian after -mupper-regs patches went in meissner at gcc dot gnu.org
  2014-12-05 21:33 ` [Bug target/64204] " meissner at gcc dot gnu.org
@ 2014-12-05 21:33 ` meissner at gcc dot gnu.org
  2014-12-08 13:35 ` [Bug target/64204] [5 Regression] " rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: meissner at gcc dot gnu.org @ 2014-12-05 21:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64204

--- Comment #1 from Michael Meissner <meissner at gcc dot gnu.org> ---
Created attachment 34206
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34206&action=edit
Proposed patch to fix the problem


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/64204] gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little endian after -mupper-regs patches went in
  2014-12-05 21:31 [Bug target/64204] New: gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little endian after -mupper-regs patches went in meissner at gcc dot gnu.org
@ 2014-12-05 21:33 ` meissner at gcc dot gnu.org
  2014-12-05 21:33 ` meissner at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: meissner at gcc dot gnu.org @ 2014-12-05 21:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64204

Michael Meissner <meissner at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2014-12-05
     Ever confirmed|0                           |1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/64204] [5 Regression] gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little endian after -mupper-regs patches went in
  2014-12-05 21:31 [Bug target/64204] New: gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little endian after -mupper-regs patches went in meissner at gcc dot gnu.org
  2014-12-05 21:33 ` [Bug target/64204] " meissner at gcc dot gnu.org
  2014-12-05 21:33 ` meissner at gcc dot gnu.org
@ 2014-12-08 13:35 ` rguenth at gcc dot gnu.org
  2014-12-09  3:57 ` meissner at gcc dot gnu.org
  2014-12-11 11:48 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-08 13:35 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64204

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |5.0
            Summary|gcc.dg/c11-atomic-2.c fails |[5 Regression]
                   |on powerpc 64-bit little    |gcc.dg/c11-atomic-2.c fails
                   |endian after -mupper-regs   |on powerpc 64-bit little
                   |patches went in             |endian after -mupper-regs
                   |                            |patches went in


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/64204] [5 Regression] gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little endian after -mupper-regs patches went in
  2014-12-05 21:31 [Bug target/64204] New: gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little endian after -mupper-regs patches went in meissner at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2014-12-08 13:35 ` [Bug target/64204] [5 Regression] " rguenth at gcc dot gnu.org
@ 2014-12-09  3:57 ` meissner at gcc dot gnu.org
  2014-12-11 11:48 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: meissner at gcc dot gnu.org @ 2014-12-09  3:57 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64204

--- Comment #2 from Michael Meissner <meissner at gcc dot gnu.org> ---
Author: meissner
Date: Tue Dec  9 03:56:28 2014
New Revision: 218505

URL: https://gcc.gnu.org/viewcvs?rev=218505&root=gcc&view=rev
Log:
2014-12-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

    PR target/64204
    * config/rs6000/rs6000.c (rs6000_emit_move): Do not split TFmode
    constant moves if -mupper-regs-df.

    * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Optimize moving
    0.0L to TFmode.
    (movtd_64bit_nodm): Likewise.
    (mov<mode>_32bit, FMOVE128 case): Likewise.


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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/64204] [5 Regression] gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little endian after -mupper-regs patches went in
  2014-12-05 21:31 [Bug target/64204] New: gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little endian after -mupper-regs patches went in meissner at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2014-12-09  3:57 ` meissner at gcc dot gnu.org
@ 2014-12-11 11:48 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-11 11:48 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64204

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Assuming fixed.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-12-11 11:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-05 21:31 [Bug target/64204] New: gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little endian after -mupper-regs patches went in meissner at gcc dot gnu.org
2014-12-05 21:33 ` [Bug target/64204] " meissner at gcc dot gnu.org
2014-12-05 21:33 ` meissner at gcc dot gnu.org
2014-12-08 13:35 ` [Bug target/64204] [5 Regression] " rguenth at gcc dot gnu.org
2014-12-09  3:57 ` meissner at gcc dot gnu.org
2014-12-11 11:48 ` rguenth at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).