public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx
@ 2014-06-02 22:02 schwab@linux-m68k.org
  2014-09-26 21:37 ` [Bug target/61397] [5 " macro@linux-mips.org
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: schwab@linux-m68k.org @ 2014-06-02 22:02 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 61397
           Summary: [4.10 regression] FAIL:
                    gcc.target/powerpc/p8vector-ldst.c scan-assembler
                    lxsdx
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: schwab@linux-m68k.org
                CC: meissner at gcc dot gnu.org, vmakarov at gcc dot gnu.org
            Target: powerpc-*-*

$ gcc/xgcc -B gcc/ ../gcc/gcc/testsuite/gcc.target/powerpc/p8vector-ldst.c -O2
-S -mcpu=power8 -mupper-regs-df -mupper-regs-sf -m32 && grep -c lxsdx
p8vector-ldst.s
0

1e5911a98f7733c3263a6c9dee5ab3ff06dbf57c is the first bad commit
commit 1e5911a98f7733c3263a6c9dee5ab3ff06dbf57c
Author: vmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri May 16 17:37:17 2014 +0000

    2014-05-16  Vladimir Makarov  <vmakarov@redhat.com>

        PR rtl-optimization/60969
        * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
        Calculate costs for this case.


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

* [Bug target/61397] [5 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx
  2014-06-02 22:02 [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx schwab@linux-m68k.org
@ 2014-09-26 21:37 ` macro@linux-mips.org
  2014-11-19 13:45 ` [Bug target/61397] [4.9/5 " rguenth at gcc dot gnu.org
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: macro@linux-mips.org @ 2014-09-26 21:37 UTC (permalink / raw)
  To: gcc-bugs

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

Maciej W. Rozycki <macro@linux-mips.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |macro@linux-mips.org

--- Comment #1 from Maciej W. Rozycki <macro@linux-mips.org> ---
Also in 4.9.1, regressed from 4.9.0.


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

* [Bug target/61397] [4.9/5 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx
  2014-06-02 22:02 [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx schwab@linux-m68k.org
  2014-09-26 21:37 ` [Bug target/61397] [5 " macro@linux-mips.org
@ 2014-11-19 13:45 ` rguenth at gcc dot gnu.org
  2015-02-13 17:16 ` schwab@linux-m68k.org
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-11-19 13:45 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2
      Known to work|                            |4.9.0
            Summary|[5 regression] FAIL:        |[4.9/5 regression] FAIL:
                   |gcc.target/powerpc/p8vector |gcc.target/powerpc/p8vector
                   |-ldst.c scan-assembler      |-ldst.c scan-assembler
                   |lxsdx                       |lxsdx
      Known to fail|                            |4.9.1, 5.0


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

* [Bug target/61397] [4.9/5 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx
  2014-06-02 22:02 [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx schwab@linux-m68k.org
  2014-09-26 21:37 ` [Bug target/61397] [5 " macro@linux-mips.org
  2014-11-19 13:45 ` [Bug target/61397] [4.9/5 " rguenth at gcc dot gnu.org
@ 2015-02-13 17:16 ` schwab@linux-m68k.org
  2015-02-13 17:30 ` meissner at gcc dot gnu.org
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: schwab@linux-m68k.org @ 2015-02-13 17:16 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Andreas Schwab <schwab@linux-m68k.org> ---
c9f03f9b6e7a888a270638c07190513189f8c33d


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

* [Bug target/61397] [4.9/5 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx
  2014-06-02 22:02 [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx schwab@linux-m68k.org
                   ` (2 preceding siblings ...)
  2015-02-13 17:16 ` schwab@linux-m68k.org
@ 2015-02-13 17:30 ` meissner at gcc dot gnu.org
  2015-02-24 10:45 ` jakub at gcc dot gnu.org
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: meissner at gcc dot gnu.org @ 2015-02-13 17:30 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Michael Meissner <meissner at gcc dot gnu.org> ---
I put a LP64 on the test, because it was using 64-bit shifts in order to force
registers to be allocated from the Altivec register set.  If you compile it in
32-bit mode, the emulation of 64-bit shifts/masks can complicate things.


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

* [Bug target/61397] [4.9/5 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx
  2014-06-02 22:02 [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx schwab@linux-m68k.org
                   ` (3 preceding siblings ...)
  2015-02-13 17:30 ` meissner at gcc dot gnu.org
@ 2015-02-24 10:45 ` jakub at gcc dot gnu.org
  2015-02-24 19:27 ` schwab@linux-m68k.org
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-02-24 10:45 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So why exactly are we tracking a regression in a testcase that isn't meant to
be compiled there at all (is undefined behavior with -m32)?
Furthermore, this ICEs for me with older gcc versions (say around r208000) and
errors out in recent gcc versions:
-mupper-regs-sf requires -mpower8-vector


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

* [Bug target/61397] [4.9/5 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx
  2014-06-02 22:02 [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx schwab@linux-m68k.org
                   ` (4 preceding siblings ...)
  2015-02-24 10:45 ` jakub at gcc dot gnu.org
@ 2015-02-24 19:27 ` schwab@linux-m68k.org
  2015-02-24 19:58 ` msebor at gcc dot gnu.org
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: schwab@linux-m68k.org @ 2015-02-24 19:27 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Andreas Schwab <schwab@linux-m68k.org> ---
It wasn't that way when reported.


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

* [Bug target/61397] [4.9/5 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx
  2014-06-02 22:02 [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx schwab@linux-m68k.org
                   ` (5 preceding siblings ...)
  2015-02-24 19:27 ` schwab@linux-m68k.org
@ 2015-02-24 19:58 ` msebor at gcc dot gnu.org
  2015-02-24 20:45 ` meissner at gcc dot gnu.org
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: msebor at gcc dot gnu.org @ 2015-02-24 19:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Martin Sebor <msebor at gcc dot gnu.org> ---
Created attachment 34859
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34859&action=edit
Proposed patch.

I may be missing something but, AFAICS, simply changing the type of the
constants to long long as in the attached patch makes the test pass in both
32-bit and 64-bit modes.

$ /build/gcc-trunk/gcc/xgcc -B/build/gcc-trunk/gcc -Wall
~/fsf/gcc/trunk/gcc/testsuite/gcc.target/powerpc/p8vector-ldst.c -O2 -S
-mcpu=power8 -mupper-regs-df -mupper-regs-sf -m32 && for insn in lxsspx lxsdx
stxsspx stxsdx xsaddsp xsadddp; do if ! grep -q $insn p8vector-ldst.s ; then
echo $insn; fi; done | wc -l
0

$ make -C /build/gcc-trunk RUNTESTFLAGS='powerpc.exp=p8vector-ldst.c' check-c
...
        === gcc Summary ===

# of expected passes        7
/build/gcc-trunk/gcc/xgcc  version 5.0.0 20150221 (experimental) (GCC)


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

* [Bug target/61397] [4.9/5 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx
  2014-06-02 22:02 [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx schwab@linux-m68k.org
                   ` (6 preceding siblings ...)
  2015-02-24 19:58 ` msebor at gcc dot gnu.org
@ 2015-02-24 20:45 ` meissner at gcc dot gnu.org
  2015-02-24 22:02 ` law at redhat dot com
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: meissner at gcc dot gnu.org @ 2015-02-24 20:45 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Michael Meissner <meissner at gcc dot gnu.org> ---
I added the lp64 test when I added the -mupper-regs support and rewrote the
test.

The rationale is I was using a long bit vector to make sure that each floating
point variable got used (in_mask and out_mask each have a bit set for the 40
floating point values, to make sure that each value gets set in ways that the
optimizer can't rearrange things and use less live variables).

If we use long long in doing the masking in 32-bit, we run the risk that you
have to call a function to do long long shifting, and/or, and testing.  So, I
added the && lp64 conditional to the test.

The original version of p8vector-ldst.c no longer works with the -mupper-regs
support, as the compiler will happily move variables into the appropriate
register class without keeping the register there normally.  So, I wrote the
test to have 40 live FP values.

If people feel strongly enough that it needs to work on big endian 32-bit
(little endian powerpc64 no longer supports 32-bit mode), we can rewrite the
test to have 2 separate in_masks and out_masks.

Note as of this writing, the 4.9 branch has the original version of the
p8vector-ldst.c (and no restriction on 32-bit), since the -mupper-regs patches
are not back ported to GCC 4.9.  If the back port of the patches for upper regs
for 4.9 that I have in a branch are applied to the official FSF 4.9 branch,
then the new version of p8vector-ldst.c will be installed.


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

* [Bug target/61397] [4.9/5 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx
  2014-06-02 22:02 [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx schwab@linux-m68k.org
                   ` (7 preceding siblings ...)
  2015-02-24 20:45 ` meissner at gcc dot gnu.org
@ 2015-02-24 22:02 ` law at redhat dot com
  2015-02-24 22:09 ` meissner at gcc dot gnu.org
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: law at redhat dot com @ 2015-02-24 22:02 UTC (permalink / raw)
  To: gcc-bugs

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

Jeffrey A. Law <law at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P2                          |P4
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-02-24
                 CC|                            |law at redhat dot com
     Ever confirmed|0                           |1

--- Comment #9 from Jeffrey A. Law <law at redhat dot com> ---
It seems to me Andreas has a valid point in that the generated for that test
could be improved for the set of options in c#0.  He also has a point that
apparently there was a period of time when we did generate better code.

And while the code exhibits undefined behaviour for -m32, unless someone shows
that undefined behaviour is a factor in the difference in quality of code
regression Andreas saw I would suggest we simply ignore the undefinedness of
that part of the testcase.

So it seems to me that a regression marker is appropriate.  However, it's hard
to see it as worthy of a P2 status.  So I'm  going to downgrade to P4.


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

* [Bug target/61397] [4.9/5 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx
  2014-06-02 22:02 [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx schwab@linux-m68k.org
                   ` (8 preceding siblings ...)
  2015-02-24 22:02 ` law at redhat dot com
@ 2015-02-24 22:09 ` meissner at gcc dot gnu.org
  2015-02-24 22:26 ` law at redhat dot com
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: meissner at gcc dot gnu.org @ 2015-02-24 22:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Michael Meissner <meissner at gcc dot gnu.org> ---
However, before I made the changes that finished the implementation of upper
regs support, the option was not functional for anything other than
power8-ldst.c.  It could not be used for any real program that involved
reloading for the GCC 4.8 and 4.9 releases.  The original power8-ldst.c was
there just to make sure the very minimal support that allowed DFmode to go into
the Altivec registers would still work.

When I picked up the work that went into the 5.0 compiler, the test case no
longer guaranteed that the register was allocated to an Altivec vector register
and that memory accesses to the vector register now tended to involve a copy
to/from the traditional floating point registers.  So, I rewrote the case, to
work with the final code.


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

* [Bug target/61397] [4.9/5 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx
  2014-06-02 22:02 [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx schwab@linux-m68k.org
                   ` (9 preceding siblings ...)
  2015-02-24 22:09 ` meissner at gcc dot gnu.org
@ 2015-02-24 22:26 ` law at redhat dot com
  2015-02-25  6:48 ` meissner at gcc dot gnu.org
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: law at redhat dot com @ 2015-02-24 22:26 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from Jeffrey A. Law <law at redhat dot com> ---
Would you prefer RESOLVED/NOTABUG?  Always happy to do that!  Your call.


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

* [Bug target/61397] [4.9/5 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx
  2014-06-02 22:02 [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx schwab@linux-m68k.org
                   ` (10 preceding siblings ...)
  2015-02-24 22:26 ` law at redhat dot com
@ 2015-02-25  6:48 ` meissner at gcc dot gnu.org
  2015-04-22 11:58 ` [Bug target/61397] [4.9/5/6 " jakub at gcc dot gnu.org
  2015-07-16  9:17 ` rguenth at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: meissner at gcc dot gnu.org @ 2015-02-25  6:48 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from Michael Meissner <meissner at gcc dot gnu.org> ---
Created attachment 34865
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34865&action=edit
Patch that tests the desired functionality for both 32-bit and 64-bit


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

* [Bug target/61397] [4.9/5/6 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx
  2014-06-02 22:02 [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx schwab@linux-m68k.org
                   ` (11 preceding siblings ...)
  2015-02-25  6:48 ` meissner at gcc dot gnu.org
@ 2015-04-22 11:58 ` jakub at gcc dot gnu.org
  2015-07-16  9:17 ` rguenth at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-04-22 11:58 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|5.0                         |5.2

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 5.1 has been released.


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

* [Bug target/61397] [4.9/5/6 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx
  2014-06-02 22:02 [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx schwab@linux-m68k.org
                   ` (12 preceding siblings ...)
  2015-04-22 11:58 ` [Bug target/61397] [4.9/5/6 " jakub at gcc dot gnu.org
@ 2015-07-16  9:17 ` rguenth at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-07-16  9:17 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|5.2                         |5.3

--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 5.2 is being released, adjusting target milestone to 5.3.


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

end of thread, other threads:[~2015-07-16  9:16 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-02 22:02 [Bug target/61397] New: [4.10 regression] FAIL: gcc.target/powerpc/p8vector-ldst.c scan-assembler lxsdx schwab@linux-m68k.org
2014-09-26 21:37 ` [Bug target/61397] [5 " macro@linux-mips.org
2014-11-19 13:45 ` [Bug target/61397] [4.9/5 " rguenth at gcc dot gnu.org
2015-02-13 17:16 ` schwab@linux-m68k.org
2015-02-13 17:30 ` meissner at gcc dot gnu.org
2015-02-24 10:45 ` jakub at gcc dot gnu.org
2015-02-24 19:27 ` schwab@linux-m68k.org
2015-02-24 19:58 ` msebor at gcc dot gnu.org
2015-02-24 20:45 ` meissner at gcc dot gnu.org
2015-02-24 22:02 ` law at redhat dot com
2015-02-24 22:09 ` meissner at gcc dot gnu.org
2015-02-24 22:26 ` law at redhat dot com
2015-02-25  6:48 ` meissner at gcc dot gnu.org
2015-04-22 11:58 ` [Bug target/61397] [4.9/5/6 " jakub at gcc dot gnu.org
2015-07-16  9:17 ` 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).