public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/98807] New: [11 Regression] wrong code with -O2 -mno-sse2
@ 2021-01-24 15:02 zsojka at seznam dot cz
  2021-01-24 18:19 ` [Bug target/98807] " jakub at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: zsojka at seznam dot cz @ 2021-01-24 15:02 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 98807
           Summary: [11 Regression] wrong code with -O2 -mno-sse2
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu

Created attachment 50044
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50044&action=edit
reduced testcase

Output:
$ x86_64-pc-linux-gnu-gcc -O2 testcase.c && ./a.out
$ x86_64-pc-linux-gnu-gcc -O2 testcase.c -mno-sse2 && ./a.out 
Aborted

$ x86_64-pc-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-amd64/bin/x86_64-pc-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r11-6878-20210123002417-ga8cef3cba69-checking-yes-rtl-df-extra-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/11.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--with-cloog --with-ppl --with-isl --build=x86_64-pc-linux-gnu
--host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu
--with-ld=/usr/bin/x86_64-pc-linux-gnu-ld
--with-as=/usr/bin/x86_64-pc-linux-gnu-as --disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-r11-6878-20210123002417-ga8cef3cba69-checking-yes-rtl-df-extra-amd64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.0.0 20210123 (experimental) (GCC)

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

* [Bug target/98807] [11 Regression] wrong code with -O2 -mno-sse2
  2021-01-24 15:02 [Bug target/98807] New: [11 Regression] wrong code with -O2 -mno-sse2 zsojka at seznam dot cz
@ 2021-01-24 18:19 ` jakub at gcc dot gnu.org
  2021-01-25  9:38 ` rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-01-24 18:19 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1
   Target Milestone|---                         |11.0
   Last reconfirmed|                            |2021-01-24
                 CC|                            |jakub at gcc dot gnu.org
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Started with r11-6468-g01da03c915f086fb9aa36b809c1a06a9f661533b

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

* [Bug target/98807] [11 Regression] wrong code with -O2 -mno-sse2
  2021-01-24 15:02 [Bug target/98807] New: [11 Regression] wrong code with -O2 -mno-sse2 zsojka at seznam dot cz
  2021-01-24 18:19 ` [Bug target/98807] " jakub at gcc dot gnu.org
@ 2021-01-25  9:38 ` rguenth at gcc dot gnu.org
  2021-01-25 10:19 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-01-25  9:38 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Mine.

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

* [Bug target/98807] [11 Regression] wrong code with -O2 -mno-sse2
  2021-01-24 15:02 [Bug target/98807] New: [11 Regression] wrong code with -O2 -mno-sse2 zsojka at seznam dot cz
  2021-01-24 18:19 ` [Bug target/98807] " jakub at gcc dot gnu.org
  2021-01-25  9:38 ` rguenth at gcc dot gnu.org
@ 2021-01-25 10:19 ` rguenth at gcc dot gnu.org
  2021-01-25 12:18 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-01-25 10:19 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Hmm, OK, as I feared.  We use TImode (not BLKmode) for
vector(2) <signed-boolean:64>.  I wonder if we can simplify vector_element_bits
with the constraints we now have in place for bool vector build.  That is,

unsigned int
vector_element_bits (const_tree type)
{
  gcc_checking_assert (VECTOR_TYPE_P (type));
  if (VECTOR_BOOLEAN_TYPE_P (type))
    return TYPE_PRECISION (TREE_TYPE (type));
  return tree_to_uhwi (TYPE_SIZE (TREE_TYPE (type)));
}

looks like it should work and it avoids fragile checking of the mode.

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

* [Bug target/98807] [11 Regression] wrong code with -O2 -mno-sse2
  2021-01-24 15:02 [Bug target/98807] New: [11 Regression] wrong code with -O2 -mno-sse2 zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2021-01-25 10:19 ` rguenth at gcc dot gnu.org
@ 2021-01-25 12:18 ` cvs-commit at gcc dot gnu.org
  2021-01-25 12:18 ` rguenth at gcc dot gnu.org
  2021-01-26  8:34 ` cvs-commit at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-01-25 12:18 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:defc40db9e09ecceb2d71727031fe9579bce1b11

commit r11-6890-gdefc40db9e09ecceb2d71727031fe9579bce1b11
Author: Richard Biener <rguenther@suse.de>
Date:   Mon Jan 25 11:22:28 2021 +0100

    middle-end/98807 - more vector_element_bits fixes

    This simplifies vector_element_bits further, avoiding any mode
    dependence and instead relying on boolean vector construction
    to populate element precision accordingly.

    2021-01-25  Richard Biener  <rguenther@suse.de>

            PR middle-end/98807
            * tree.c (vector_element_bits): Always use precision of
            the element type for boolean vectors.

            * gcc.dg/pr98807.c: New testcase.

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

* [Bug target/98807] [11 Regression] wrong code with -O2 -mno-sse2
  2021-01-24 15:02 [Bug target/98807] New: [11 Regression] wrong code with -O2 -mno-sse2 zsojka at seznam dot cz
                   ` (3 preceding siblings ...)
  2021-01-25 12:18 ` cvs-commit at gcc dot gnu.org
@ 2021-01-25 12:18 ` rguenth at gcc dot gnu.org
  2021-01-26  8:34 ` cvs-commit at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-01-25 12:18 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.

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

* [Bug target/98807] [11 Regression] wrong code with -O2 -mno-sse2
  2021-01-24 15:02 [Bug target/98807] New: [11 Regression] wrong code with -O2 -mno-sse2 zsojka at seznam dot cz
                   ` (4 preceding siblings ...)
  2021-01-25 12:18 ` rguenth at gcc dot gnu.org
@ 2021-01-26  8:34 ` cvs-commit at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-01-26  8:34 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:eb77a934eec8fe52e4c5612f5264127290bc517d

commit r11-6905-geb77a934eec8fe52e4c5612f5264127290bc517d
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Tue Jan 26 09:33:04 2021 +0100

    testsuite: Fix up pr98807.c on i686-linux [PR98807]

    The new testcase FAILs on i686-linux with:
    gcc/testsuite/gcc.dg/pr98807.c: In function 'foo0':
    gcc/testsuite/gcc.dg/pr98807.c:20:1: warning: SSE vector return without SSE
enabled changes the ABI [-Wpsabi]
    gcc/testsuite/gcc.dg/pr98807.c:19:1: note: the ABI for passing parameters
with 16-byte alignment has changed in GCC 4.6
    gcc/testsuite/gcc.dg/pr98807.c:19:1: warning: SSE vector argument without
SSE enabled changes the ABI [-Wpsabi]
    FAIL: gcc.dg/pr98807.c (test for excess errors)

    Adding usual testcase treatment for such cases.

    2021-01-26  Jakub Jelinek  <jakub@redhat.com>

            PR middle-end/98807
            * gcc.dg/pr98807.c: Add -Wno-psabi -w to dg-options.

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

end of thread, other threads:[~2021-01-26  8:34 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-24 15:02 [Bug target/98807] New: [11 Regression] wrong code with -O2 -mno-sse2 zsojka at seznam dot cz
2021-01-24 18:19 ` [Bug target/98807] " jakub at gcc dot gnu.org
2021-01-25  9:38 ` rguenth at gcc dot gnu.org
2021-01-25 10:19 ` rguenth at gcc dot gnu.org
2021-01-25 12:18 ` cvs-commit at gcc dot gnu.org
2021-01-25 12:18 ` rguenth at gcc dot gnu.org
2021-01-26  8:34 ` cvs-commit 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).