public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/104775] New: [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined
@ 2022-03-03 21:41 jakub at gcc dot gnu.org
  2022-03-03 21:42 ` [Bug target/104775] " jakub at gcc dot gnu.org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-03-03 21:41 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 104775
           Summary: [9/10/11/12 Regression] Failure to assemble on s390x
                    with -fsanitize=undefined
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

struct A {
  virtual long foo () const;
  int a;
};
long
A::foo () const
{
  int sec = a / 0;
  return sec;
}

test with -O2 -w -m64 -march=zEC12 -fsanitize=undefined fails to assemble
Music_Emu.s: Assembler messages:
Music_Emu.s:56: Error: syntax error; missing ')' after base register
Music_Emu.s:56: Error: junk at end of line: `%r12)'
The regression appeared some time between r240000 and r245002 so during GCC 7
development, haven't bisected when exactly.
The problematic assembly line is:
        clgte   %r1,0(%r5,%r12)

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

* [Bug target/104775] [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined
  2022-03-03 21:41 [Bug target/104775] New: [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined jakub at gcc dot gnu.org
@ 2022-03-03 21:42 ` jakub at gcc dot gnu.org
  2022-03-03 21:57 ` jakub at gcc dot gnu.org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-03-03 21:42 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |9.5
                 CC|                            |krebbel at gcc dot gnu.org
           Priority|P3                          |P2
             Target|                            |s390x-linux

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

* [Bug target/104775] [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined
  2022-03-03 21:41 [Bug target/104775] New: [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined jakub at gcc dot gnu.org
  2022-03-03 21:42 ` [Bug target/104775] " jakub at gcc dot gnu.org
@ 2022-03-03 21:57 ` jakub at gcc dot gnu.org
  2022-03-04 13:53 ` jakub at gcc dot gnu.org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-03-03 21:57 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Even simpler testcase, this time C, just -O2 -march=zEC12 is needed:
long a[64];
void bar (void);

void
foo (int x, int y)
{
  if (x != a[y])
    bar ();
  __builtin_trap ();
}

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

* [Bug target/104775] [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined
  2022-03-03 21:41 [Bug target/104775] New: [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined jakub at gcc dot gnu.org
  2022-03-03 21:42 ` [Bug target/104775] " jakub at gcc dot gnu.org
  2022-03-03 21:57 ` jakub at gcc dot gnu.org
@ 2022-03-04 13:53 ` jakub at gcc dot gnu.org
  2022-03-07 10:15 ` cvs-commit at gcc dot gnu.org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-03-04 13:53 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 52562
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52562&action=edit
gcc12-pr104775.patch

This (untested so far) seems to work, but what do I know about the s390
instruction set.

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

* [Bug target/104775] [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined
  2022-03-03 21:41 [Bug target/104775] New: [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined jakub at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2022-03-04 13:53 ` jakub at gcc dot gnu.org
@ 2022-03-07 10:15 ` cvs-commit at gcc dot gnu.org
  2022-03-07 10:15 ` [Bug target/104775] [9/10/11 " jakub at gcc dot gnu.org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-03-07 10:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 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:2472dcaa8cb9e02e902f83d419c3ee7e0f3d9041

commit r12-7513-g2472dcaa8cb9e02e902f83d419c3ee7e0f3d9041
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Mon Mar 7 11:14:04 2022 +0100

    s390: Fix up *cmp_and_trap_unsigned_int<mode> constraints [PR104775]

    The following testcase fails to assemble due to clgte %r6,0(%r1,%r10)
    insn not being accepted by assembler.
    My rough understanding is that in the RSY-b insn format the spot
    in other formats used for index registers is used instead for M3 what
    kind of comparison it is, so this patch follows what other similar
    instructions use for constraint (i.e. one without index register).

    2022-03-07  Jakub Jelinek  <jakub@redhat.com>

            PR target/104775
            * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
            S constraint instead of T in the last alternative.

            * gcc.target/s390/pr104775.c: New test.

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

* [Bug target/104775] [9/10/11 Regression] Failure to assemble on s390x with -fsanitize=undefined
  2022-03-03 21:41 [Bug target/104775] New: [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined jakub at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2022-03-07 10:15 ` cvs-commit at gcc dot gnu.org
@ 2022-03-07 10:15 ` jakub at gcc dot gnu.org
  2022-03-29  5:53 ` cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-03-07 10:15 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |jakub at gcc dot gnu.org
   Last reconfirmed|                            |2022-03-07
             Status|UNCONFIRMED                 |ASSIGNED
     Ever confirmed|0                           |1
            Summary|[9/10/11/12 Regression]     |[9/10/11 Regression]
                   |Failure to assemble on      |Failure to assemble on
                   |s390x with                  |s390x with
                   |-fsanitize=undefined        |-fsanitize=undefined

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed on the trunk so far.

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

* [Bug target/104775] [9/10/11 Regression] Failure to assemble on s390x with -fsanitize=undefined
  2022-03-03 21:41 [Bug target/104775] New: [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined jakub at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2022-03-07 10:15 ` [Bug target/104775] [9/10/11 " jakub at gcc dot gnu.org
@ 2022-03-29  5:53 ` cvs-commit at gcc dot gnu.org
  2022-03-30  8:15 ` [Bug target/104775] [9/10 " jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-03-29  5:53 UTC (permalink / raw)
  To: gcc-bugs

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

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

https://gcc.gnu.org/g:2ef4d28e59e3117dd1457e9ad08b7e1b48ab9830

commit r11-9724-g2ef4d28e59e3117dd1457e9ad08b7e1b48ab9830
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Mon Mar 7 11:14:04 2022 +0100

    s390: Fix up *cmp_and_trap_unsigned_int<mode> constraints [PR104775]

    The following testcase fails to assemble due to clgte %r6,0(%r1,%r10)
    insn not being accepted by assembler.
    My rough understanding is that in the RSY-b insn format the spot
    in other formats used for index registers is used instead for M3 what
    kind of comparison it is, so this patch follows what other similar
    instructions use for constraint (i.e. one without index register).

    2022-03-07  Jakub Jelinek  <jakub@redhat.com>

            PR target/104775
            * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
            S constraint instead of T in the last alternative.

            * gcc.target/s390/pr104775.c: New test.

    (cherry picked from commit 2472dcaa8cb9e02e902f83d419c3ee7e0f3d9041)

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

* [Bug target/104775] [9/10 Regression] Failure to assemble on s390x with -fsanitize=undefined
  2022-03-03 21:41 [Bug target/104775] New: [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined jakub at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2022-03-29  5:53 ` cvs-commit at gcc dot gnu.org
@ 2022-03-30  8:15 ` jakub at gcc dot gnu.org
  2022-05-10  8:24 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-03-30  8:15 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[9/10/11 Regression]        |[9/10 Regression] Failure
                   |Failure to assemble on      |to assemble on s390x with
                   |s390x with                  |-fsanitize=undefined
                   |-fsanitize=undefined        |

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed for 11.3 too.

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

* [Bug target/104775] [9/10 Regression] Failure to assemble on s390x with -fsanitize=undefined
  2022-03-03 21:41 [Bug target/104775] New: [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined jakub at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2022-03-30  8:15 ` [Bug target/104775] [9/10 " jakub at gcc dot gnu.org
@ 2022-05-10  8:24 ` cvs-commit at gcc dot gnu.org
  2022-05-11  6:25 ` cvs-commit at gcc dot gnu.org
  2022-05-11  6:36 ` jakub at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-05-10  8:24 UTC (permalink / raw)
  To: gcc-bugs

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

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

https://gcc.gnu.org/g:2183785c198ef17138985509cedf5051b3d58452

commit r10-10691-g2183785c198ef17138985509cedf5051b3d58452
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Mon Mar 7 11:14:04 2022 +0100

    s390: Fix up *cmp_and_trap_unsigned_int<mode> constraints [PR104775]

    The following testcase fails to assemble due to clgte %r6,0(%r1,%r10)
    insn not being accepted by assembler.
    My rough understanding is that in the RSY-b insn format the spot
    in other formats used for index registers is used instead for M3 what
    kind of comparison it is, so this patch follows what other similar
    instructions use for constraint (i.e. one without index register).

    2022-03-07  Jakub Jelinek  <jakub@redhat.com>

            PR target/104775
            * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
            S constraint instead of T in the last alternative.

            * gcc.target/s390/pr104775.c: New test.

    (cherry picked from commit 2472dcaa8cb9e02e902f83d419c3ee7e0f3d9041)

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

* [Bug target/104775] [9/10 Regression] Failure to assemble on s390x with -fsanitize=undefined
  2022-03-03 21:41 [Bug target/104775] New: [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined jakub at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2022-05-10  8:24 ` cvs-commit at gcc dot gnu.org
@ 2022-05-11  6:25 ` cvs-commit at gcc dot gnu.org
  2022-05-11  6:36 ` jakub at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-05-11  6:25 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

commit r9-10137-ge763af00a24765a395762a2c1ccf9c55fa2fad47
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Mon Mar 7 11:14:04 2022 +0100

    s390: Fix up *cmp_and_trap_unsigned_int<mode> constraints [PR104775]

    The following testcase fails to assemble due to clgte %r6,0(%r1,%r10)
    insn not being accepted by assembler.
    My rough understanding is that in the RSY-b insn format the spot
    in other formats used for index registers is used instead for M3 what
    kind of comparison it is, so this patch follows what other similar
    instructions use for constraint (i.e. one without index register).

    2022-03-07  Jakub Jelinek  <jakub@redhat.com>

            PR target/104775
            * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
            S constraint instead of T in the last alternative.

            * gcc.target/s390/pr104775.c: New test.

    (cherry picked from commit 2472dcaa8cb9e02e902f83d419c3ee7e0f3d9041)

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

* [Bug target/104775] [9/10 Regression] Failure to assemble on s390x with -fsanitize=undefined
  2022-03-03 21:41 [Bug target/104775] New: [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined jakub at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2022-05-11  6:25 ` cvs-commit at gcc dot gnu.org
@ 2022-05-11  6:36 ` jakub at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-05-11  6:36 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed.

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

end of thread, other threads:[~2022-05-11  6:36 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-03 21:41 [Bug target/104775] New: [9/10/11/12 Regression] Failure to assemble on s390x with -fsanitize=undefined jakub at gcc dot gnu.org
2022-03-03 21:42 ` [Bug target/104775] " jakub at gcc dot gnu.org
2022-03-03 21:57 ` jakub at gcc dot gnu.org
2022-03-04 13:53 ` jakub at gcc dot gnu.org
2022-03-07 10:15 ` cvs-commit at gcc dot gnu.org
2022-03-07 10:15 ` [Bug target/104775] [9/10/11 " jakub at gcc dot gnu.org
2022-03-29  5:53 ` cvs-commit at gcc dot gnu.org
2022-03-30  8:15 ` [Bug target/104775] [9/10 " jakub at gcc dot gnu.org
2022-05-10  8:24 ` cvs-commit at gcc dot gnu.org
2022-05-11  6:25 ` cvs-commit at gcc dot gnu.org
2022-05-11  6:36 ` jakub 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).