public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/96506] New: ICE when using an MMA type as a function param
@ 2020-08-06 16:15 bergner at gcc dot gnu.org
  2020-08-06 16:17 ` [Bug target/96506] " bergner at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: bergner at gcc dot gnu.org @ 2020-08-06 16:15 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 96506
           Summary: ICE when using an MMA type as a function param
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: bergner at gcc dot gnu.org
  Target Milestone: ---

We ICE on the following invalid code.  It's invalid because we do not support
passing __vector_quad or __vector_pair as function arguments or as function
return values.

void
foo (void)
{
  __vector_quad v;
  bar (v);
}

bergner@pike:~/gcc/BUGS$ gcc -S -O2 -mcpu=power10 test.c
test.c: In function ‘foo’:
test.c:5:3: warning: implicit declaration of function ‘bar’
[-Wimplicit-function-declaration]
    5 |   bar (v);
      |   ^~~
during RTL pass: reload
test.c:6:1: internal compiler error: maximum number of generated reload insns
per insn achieved (90)
    6 | }
      | ^
0x108ce483 lra_constraints(bool)
        /home/bergner/gcc/gcc-fsf-mainline-base/gcc/lra-constraints.c:4954
0x108aed5f lra(_IO_FILE*)
        /home/bergner/gcc/gcc-fsf-mainline-base/gcc/lra.c:2415
0x1083d49b do_reload
        /home/bergner/gcc/gcc-fsf-mainline-base/gcc/ira.c:5525
0x1083d49b execute
        /home/bergner/gcc/gcc-fsf-mainline-base/gcc/ira.c:5711
Please submit a full bug report,

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

* [Bug target/96506] ICE when using an MMA type as a function param
  2020-08-06 16:15 [Bug target/96506] New: ICE when using an MMA type as a function param bergner at gcc dot gnu.org
@ 2020-08-06 16:17 ` bergner at gcc dot gnu.org
  2020-08-13 18:43 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: bergner at gcc dot gnu.org @ 2020-08-06 16:17 UTC (permalink / raw)
  To: gcc-bugs

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

Peter Bergner <bergner at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2020-08-06
             Status|UNCONFIRMED                 |ASSIGNED
             Target|                            |powerpc*-*
     Ever confirmed|0                           |1
           Keywords|                            |ice-on-invalid-code
           Assignee|unassigned at gcc dot gnu.org      |bergner at gcc dot gnu.org
                 CC|                            |dje at gcc dot gnu.org,
                   |                            |segher at gcc dot gnu.org,
                   |                            |wschmidt at gcc dot gnu.org

--- Comment #1 from Peter Bergner <bergner at gcc dot gnu.org> ---
Confirmed and mine.  This is broken in GCC 10 as well.

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

* [Bug target/96506] ICE when using an MMA type as a function param
  2020-08-06 16:15 [Bug target/96506] New: ICE when using an MMA type as a function param bergner at gcc dot gnu.org
  2020-08-06 16:17 ` [Bug target/96506] " bergner at gcc dot gnu.org
@ 2020-08-13 18:43 ` cvs-commit at gcc dot gnu.org
  2020-08-19  2:42 ` cvs-commit at gcc dot gnu.org
  2020-08-19  2:55 ` bergner at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-08-13 18:43 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Peter Bergner <bergner@gcc.gnu.org>:

https://gcc.gnu.org/g:0ad7e730c142ef6cd0ddc1491a89a7f330caa887

commit r11-2692-g0ad7e730c142ef6cd0ddc1491a89a7f330caa887
Author: Peter Bergner <bergner@linux.ibm.com>
Date:   Thu Aug 13 13:40:39 2020 -0500

    rs6000: ICE when using an MMA type as a function param or return value
[PR96506]

    PR96506 shows a problem where we ICE on illegal usage, namely using MMA
    types for function arguments and return values.  The solution is to flag
    these illegal usages as errors early, before we ICE.

    2020-08-13  Peter Bergner  <bergner@linux.ibm.com>

    gcc/
            PR target/96506
            * config/rs6000/rs6000-call.c (rs6000_promote_function_mode):
Disallow
            MMA types as return values.
            (rs6000_function_arg): Disallow MMA types as function arguments.

    gcc/testsuite/
            PR target/96506
            * gcc.target/powerpc/pr96506.c: New test.

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

* [Bug target/96506] ICE when using an MMA type as a function param
  2020-08-06 16:15 [Bug target/96506] New: ICE when using an MMA type as a function param bergner at gcc dot gnu.org
  2020-08-06 16:17 ` [Bug target/96506] " bergner at gcc dot gnu.org
  2020-08-13 18:43 ` cvs-commit at gcc dot gnu.org
@ 2020-08-19  2:42 ` cvs-commit at gcc dot gnu.org
  2020-08-19  2:55 ` bergner at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-08-19  2:42 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Peter Bergner
<bergner@gcc.gnu.org>:

https://gcc.gnu.org/g:43edad43b2cee17fb7575c40a9dafac3fe79ba1c

commit r10-8641-g43edad43b2cee17fb7575c40a9dafac3fe79ba1c
Author: Peter Bergner <bergner@linux.ibm.com>
Date:   Thu Aug 13 13:40:39 2020 -0500

    rs6000: ICE when using an MMA type as a function param or return value
[PR96506]

    PR96506 shows a problem where we ICE on illegal usage, namely using MMA
    types for function arguments and return values.  The solution is to flag
    these illegal usages as errors early, before we ICE.

    2020-08-13  Peter Bergner  <bergner@linux.ibm.com>

    gcc/
            PR target/96506
            * config/rs6000/rs6000-call.c (rs6000_promote_function_mode):
Disallow
            MMA types as return values.
            (rs6000_function_arg): Disallow MMA types as function arguments.

    gcc/testsuite/
            PR target/96506
            * gcc.target/powerpc/pr96506.c: New test.

    (cherry picked from commit 0ad7e730c142ef6cd0ddc1491a89a7f330caa887)

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

* [Bug target/96506] ICE when using an MMA type as a function param
  2020-08-06 16:15 [Bug target/96506] New: ICE when using an MMA type as a function param bergner at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2020-08-19  2:42 ` cvs-commit at gcc dot gnu.org
@ 2020-08-19  2:55 ` bergner at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: bergner at gcc dot gnu.org @ 2020-08-19  2:55 UTC (permalink / raw)
  To: gcc-bugs

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

Peter Bergner <bergner at gcc dot gnu.org> changed:

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

--- Comment #4 from Peter Bergner <bergner at gcc dot gnu.org> ---
Fixed everywhere.

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

end of thread, other threads:[~2020-08-19  2:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-06 16:15 [Bug target/96506] New: ICE when using an MMA type as a function param bergner at gcc dot gnu.org
2020-08-06 16:17 ` [Bug target/96506] " bergner at gcc dot gnu.org
2020-08-13 18:43 ` cvs-commit at gcc dot gnu.org
2020-08-19  2:42 ` cvs-commit at gcc dot gnu.org
2020-08-19  2:55 ` bergner 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).