public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/105374] New: [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda
@ 2022-04-25 12:08 acoplan at gcc dot gnu.org
  2022-04-25 12:09 ` [Bug tree-optimization/105374] " acoplan at gcc dot gnu.org
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: acoplan at gcc dot gnu.org @ 2022-04-25 12:08 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 105374
           Summary: [12 Regression] ICE in fold_convert_loc, at
                    fold-const.cc:2580 during GIMPLE pass: reassoc since
                    r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: acoplan at gcc dot gnu.org
  Target Milestone: ---

The following fails:

$ cat t.cc
typedef float v4f __attribute__((vector_size(4 * sizeof(float))));
v4f f_x, f_y;
long f() { return (f_x < f_y | f_x <= f_y)[2]; }
$ ./arm-eabi-gcc -c t.cc -march=armv8.1-m.main+mve -mfloat-abi=hard -O
during GIMPLE pass: reassoc
t.cc: In function 'long int f()':
t.cc:3:6: internal compiler error: in fold_convert_loc, at fold-const.cc:2580
    3 | long f() { return (f_x < f_y | f_x <= f_y)[2]; }
      |      ^
0xcb5136 fold_convert_loc(unsigned int, tree_node*, tree_node*)
        /home/alecop01/toolchain/src/gcc/gcc/fold-const.cc:2580
0x12ef522 eliminate_redundant_comparison
        /home/alecop01/toolchain/src/gcc/gcc/tree-ssa-reassoc.cc:2257
0x12ef522 optimize_ops_list
        /home/alecop01/toolchain/src/gcc/gcc/tree-ssa-reassoc.cc:2448
0x12f5a0b reassociate_bb
        /home/alecop01/toolchain/src/gcc/gcc/tree-ssa-reassoc.cc:6737
0x12f8496 reassociate_bb
        /home/alecop01/toolchain/src/gcc/gcc/tree-ssa-reassoc.cc:6899
0x12f8929 do_reassoc
        /home/alecop01/toolchain/src/gcc/gcc/tree-ssa-reassoc.cc:7011
0x12f8929 execute_reassoc
        /home/alecop01/toolchain/src/gcc/gcc/tree-ssa-reassoc.cc:7100
0x12f8929 execute
        /home/alecop01/toolchain/src/gcc/gcc/tree-ssa-reassoc.cc:7141
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Bisection shows the issue started with
r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda :

commit 884f77b4222289510e1df9db2889b60c5df6fcda
Author: Christophe Lyon <christophe.lyon@arm.com>
Date:   Wed Oct 13 10:16:22 2021

    arm: Implement MVE predicates as vectors of booleans

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

* [Bug tree-optimization/105374] [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda
  2022-04-25 12:08 [Bug tree-optimization/105374] New: [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda acoplan at gcc dot gnu.org
@ 2022-04-25 12:09 ` acoplan at gcc dot gnu.org
  2022-04-25 13:43 ` jakub at gcc dot gnu.org
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: acoplan at gcc dot gnu.org @ 2022-04-25 12:09 UTC (permalink / raw)
  To: gcc-bugs

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

Alex Coplan <acoplan at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |12.0
      Known to work|                            |11.3.1
           Keywords|                            |ice-on-valid-code
             Target|                            |arm-eabi

--- Comment #1 from Alex Coplan <acoplan at gcc dot gnu.org> ---
I should have mentioned the testcase is reduced from g++.dg/other/pr95231.C

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

* [Bug tree-optimization/105374] [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda
  2022-04-25 12:08 [Bug tree-optimization/105374] New: [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda acoplan at gcc dot gnu.org
  2022-04-25 12:09 ` [Bug tree-optimization/105374] " acoplan at gcc dot gnu.org
@ 2022-04-25 13:43 ` jakub at gcc dot gnu.org
  2022-04-25 13:44 ` jakub at gcc dot gnu.org
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-04-25 13:43 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
This can (and IMHO should no matter what) be fixed in reassoc by:
--- gcc/tree-ssa-reassoc.cc.jj  2022-04-14 13:46:59.690140053 +0200
+++ gcc/tree-ssa-reassoc.cc     2022-04-25 15:34:03.811473537 +0200
@@ -2254,7 +2254,11 @@ eliminate_redundant_comparison (enum tre
         BIT_AND_EXPR or BIT_IOR_EXPR was of a wider integer type,
         we need to convert.  */
       if (!useless_type_conversion_p (TREE_TYPE (curr->op), TREE_TYPE (t)))
-       t = fold_convert (TREE_TYPE (curr->op), t);
+       {
+         if (!fold_convertible_p (TREE_TYPE (curr->op), t))
+           continue;
+         t = fold_convert (TREE_TYPE (curr->op), t);
+       }

       if (TREE_CODE (t) != INTEGER_CST
          && !operand_equal_p (t, curr->op, 0))

But another question is if we shouldn't actually optimize it rather than
punting out.
The reason why that happens is that while eliminate_redundant_comparison
indirectly passes the V4BImode vector type as TYPE argument, the function
doesn't actually use it and uses truth_type (V4SImode) instead.
truth_type use has been introduced in r0-119133-gae22ac3c62db451bae
but at that point the type argument didn't exist.
That has been only introduced in r10-3154-g5f487a349de62613d7fa429 .
I wonder if we can't just kill the truth_type computation and replace all uses
with type...

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

* [Bug tree-optimization/105374] [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda
  2022-04-25 12:08 [Bug tree-optimization/105374] New: [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda acoplan at gcc dot gnu.org
  2022-04-25 12:09 ` [Bug tree-optimization/105374] " acoplan at gcc dot gnu.org
  2022-04-25 13:43 ` jakub at gcc dot gnu.org
@ 2022-04-25 13:44 ` jakub at gcc dot gnu.org
  2022-04-25 13:47 ` jakub at gcc dot gnu.org
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-04-25 13:44 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |12.0
           Priority|P3                          |P1

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

* [Bug tree-optimization/105374] [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda
  2022-04-25 12:08 [Bug tree-optimization/105374] New: [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda acoplan at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2022-04-25 13:44 ` jakub at gcc dot gnu.org
@ 2022-04-25 13:47 ` jakub at gcc dot gnu.org
  2022-04-25 14:27 ` clyon at gcc dot gnu.org
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-04-25 13:47 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Also, no idea where exactly to put the testcase to and what dg-* directives to
use, arm testcases is something I'm really not familiar with.
Perhaps gcc.target/arm/mve/general
and
/* { dg-do compile } */
/* { dg-require-effective-target arm_v8_1m_mve_ok } */
/* { dg-add-options arm_v8_1m_mve } */
but can -mfloat-abi=hard be just added or does it require some extra magic?

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

* [Bug tree-optimization/105374] [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda
  2022-04-25 12:08 [Bug tree-optimization/105374] New: [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda acoplan at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2022-04-25 13:47 ` jakub at gcc dot gnu.org
@ 2022-04-25 14:27 ` clyon at gcc dot gnu.org
  2022-04-25 15:23 ` clyon at gcc dot gnu.org
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: clyon at gcc dot gnu.org @ 2022-04-25 14:27 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Christophe Lyon <clyon at gcc dot gnu.org> ---
Other MVE tests are in gcc.target/arm/simd/ (eg mve-vcmp-f32.c), maybe it's
best to keep them in the same place?

Regarding the dg-* directives, I suspect you need arm_v8_1m_mve_fp_ok since the
test involves floats.

Thanks for the prompt fix!

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

* [Bug tree-optimization/105374] [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda
  2022-04-25 12:08 [Bug tree-optimization/105374] New: [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda acoplan at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2022-04-25 14:27 ` clyon at gcc dot gnu.org
@ 2022-04-25 15:23 ` clyon at gcc dot gnu.org
  2022-04-25 16:38 ` marxin at gcc dot gnu.org
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: clyon at gcc dot gnu.org @ 2022-04-25 15:23 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Christophe Lyon <clyon at gcc dot gnu.org> ---

> Regarding the dg-* directives, I suspect you need arm_v8_1m_mve_fp_ok since
> the test involves floats.

I was wrong and your proposal of arm_v8_1m_mve_ok looks fine (since actually
there is no ICE with compiling for an FP-capable FPU)

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

* [Bug tree-optimization/105374] [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda
  2022-04-25 12:08 [Bug tree-optimization/105374] New: [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda acoplan at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2022-04-25 15:23 ` clyon at gcc dot gnu.org
@ 2022-04-25 16:38 ` marxin at gcc dot gnu.org
  2022-04-25 16:39 ` marxin at gcc dot gnu.org
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-04-25 16:38 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2022-04-25
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
                 CC|                            |marxin at gcc dot gnu.org

--- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> ---
Btw. started with r12-7338-g884f77b4222289 if that helps.

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

* [Bug tree-optimization/105374] [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda
  2022-04-25 12:08 [Bug tree-optimization/105374] New: [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda acoplan at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2022-04-25 16:38 ` marxin at gcc dot gnu.org
@ 2022-04-25 16:39 ` marxin at gcc dot gnu.org
  2022-04-26  6:33 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-04-25 16:39 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Martin Liška <marxin at gcc dot gnu.org> ---
(In reply to Martin Liška from comment #6)
> Btw. started with r12-7338-g884f77b4222289 if that helps.

Oh, it was already discovered by Jakub.

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

* [Bug tree-optimization/105374] [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda
  2022-04-25 12:08 [Bug tree-optimization/105374] New: [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda acoplan at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2022-04-25 16:39 ` marxin at gcc dot gnu.org
@ 2022-04-26  6:33 ` rguenth at gcc dot gnu.org
  2022-04-26  7:58 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-04-26  6:33 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #2)
> This can (and IMHO should no matter what) be fixed in reassoc by:
> --- gcc/tree-ssa-reassoc.cc.jj	2022-04-14 13:46:59.690140053 +0200
> +++ gcc/tree-ssa-reassoc.cc	2022-04-25 15:34:03.811473537 +0200
> @@ -2254,7 +2254,11 @@ eliminate_redundant_comparison (enum tre
>  	 BIT_AND_EXPR or BIT_IOR_EXPR was of a wider integer type,
>  	 we need to convert.  */
>        if (!useless_type_conversion_p (TREE_TYPE (curr->op), TREE_TYPE (t)))
> -	t = fold_convert (TREE_TYPE (curr->op), t);
> +	{
> +	  if (!fold_convertible_p (TREE_TYPE (curr->op), t))
> +	    continue;
> +	  t = fold_convert (TREE_TYPE (curr->op), t);
> +	}

Note for vectors the "appropriate" way to make a value from a bool is

  bool ? -1 : 0

though I guess the question is whether we know if we want a vector true (-1)
or a scalar true (1) here ...

>  
>        if (TREE_CODE (t) != INTEGER_CST
>  	  && !operand_equal_p (t, curr->op, 0))
> 
> But another question is if we shouldn't actually optimize it rather than
> punting out.

Ideally yes.

> The reason why that happens is that while eliminate_redundant_comparison
> indirectly passes the V4BImode vector type as TYPE argument, the function
> doesn't actually use it and uses truth_type (V4SImode) instead.
> truth_type use has been introduced in r0-119133-gae22ac3c62db451bae
> but at that point the type argument didn't exist.
> That has been only introduced in r10-3154-g5f487a349de62613d7fa429 .
> I wonder if we can't just kill the truth_type computation and replace all
> uses with type...

I guess so - but does that fix anything here?

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

* [Bug tree-optimization/105374] [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda
  2022-04-25 12:08 [Bug tree-optimization/105374] New: [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda acoplan at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2022-04-26  6:33 ` rguenth at gcc dot gnu.org
@ 2022-04-26  7:58 ` cvs-commit at gcc dot gnu.org
  2022-04-26  7:58 ` jakub at gcc dot gnu.org
  2022-04-27  8:20 ` cvs-commit at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-04-26  7:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 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:d4836ac9acd0c991a4fe1dec9438773a2c4eb5ac

commit r12-8263-gd4836ac9acd0c991a4fe1dec9438773a2c4eb5ac
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Tue Apr 26 09:57:34 2022 +0200

    reassoc: Don't call fold_convert if !fold_convertible_p [PR105374]

    As mentioned in the PR, we ICE because maybe_fold_*_comparisons returns
    an expression with V4SImode type and we try to fold_convert it to
    V4BImode, which isn't allowed.

    IMHO no matter whether we change maybe_fold_*_comparisons we should
    play safe on the reassoc side and punt if we can't convert like
    we punt for many other reasons.  This fixes the testcase on ARM.

    Testcase not included, not exactly sure where and what directives it
    should have in gcc.target/arm/ testsuite.  Christophe, do you think you
    could handle that incrementally?

    2022-04-26  Jakub Jelinek  <jakub@redhat.com>

            PR tree-optimization/105374
            * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
            !fold_convertible_p rather than assuming fold_convert must succeed.

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

* [Bug tree-optimization/105374] [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda
  2022-04-25 12:08 [Bug tree-optimization/105374] New: [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda acoplan at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2022-04-26  7:58 ` cvs-commit at gcc dot gnu.org
@ 2022-04-26  7:58 ` jakub at gcc dot gnu.org
  2022-04-27  8:20 ` cvs-commit at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-04-26  7:58 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

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

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

* [Bug tree-optimization/105374] [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda
  2022-04-25 12:08 [Bug tree-optimization/105374] New: [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda acoplan at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2022-04-26  7:58 ` jakub at gcc dot gnu.org
@ 2022-04-27  8:20 ` cvs-commit at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-04-27  8:20 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Christophe Lyon <clyon@gcc.gnu.org>:

https://gcc.gnu.org/g:6c211e70eb9d89db2be630c0d5555d21e4aee144

commit r12-8279-g6c211e70eb9d89db2be630c0d5555d21e4aee144
Author: Christophe Lyon <christophe.lyon@arm.com>
Date:   Tue Apr 26 15:57:02 2022 +0100

    testsuite: Add arm testcase for PR105374

    As discussed in the PR, here is the testcase with the appropriate dg-*
    directives.

    Tested on arm-none-eabi with
    1 -mcpu=cortex-a7/-mfloat-abi=soft/-march=armv7ve+simd
    2 -mcpu=cortex-a7/-mfloat-abi=hard/-march=armv7ve+simd
    3 -mthumb/-mcpu=cortex-a7/-mfloat-abi=hard/-march=armv7ve+simd
    4 -mthumb/-mfloat-abi=soft/-march=armv6s-m
    5 -mthumb/-mfloat-abi=soft/-march=armv7-m
    6 -mthumb/-mfloat-abi=hard/-march=armv7e-m+fp
    7 -mthumb/-mfloat-abi=hard/-march=armv7e-m+fp.dp
    8 -mthumb/-mfloat-abi=hard/-march=armv8-m.main+fp+dsp
    9 -mthumb/-mfloat-abi=hard/-march=armv8.1-m.main+mve.fp+fp.dp
    10 -mthumb/-mfloat-abi=hard/-march=armv8.1-m.main+mve

    The test is UNSUPPORTED with the first three ones (because of
    -mcpu=cortex-a7), ignored with armv6s-m, and PASSes with all the other
    ones, while it used crash without Jakub's fix (r12-8263), ie. FAIL
    with options 5,6,7,8,10. The test passed without Jakub's fix with
    option 9 because the problem happens only with an integer-only MVE.

    2022-04-26  Christophe Lyon  <christophe.lyon@arm.com>

            gcc/testsuite/

            PR tree-optimization/105374
            * gcc.target/arm/simd/pr105374.C: New.

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

end of thread, other threads:[~2022-04-27  8:20 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-25 12:08 [Bug tree-optimization/105374] New: [12 Regression] ICE in fold_convert_loc, at fold-const.cc:2580 during GIMPLE pass: reassoc since r12-7338-g884f77b4222289510e1df9db2889b60c5df6fcda acoplan at gcc dot gnu.org
2022-04-25 12:09 ` [Bug tree-optimization/105374] " acoplan at gcc dot gnu.org
2022-04-25 13:43 ` jakub at gcc dot gnu.org
2022-04-25 13:44 ` jakub at gcc dot gnu.org
2022-04-25 13:47 ` jakub at gcc dot gnu.org
2022-04-25 14:27 ` clyon at gcc dot gnu.org
2022-04-25 15:23 ` clyon at gcc dot gnu.org
2022-04-25 16:38 ` marxin at gcc dot gnu.org
2022-04-25 16:39 ` marxin at gcc dot gnu.org
2022-04-26  6:33 ` rguenth at gcc dot gnu.org
2022-04-26  7:58 ` cvs-commit at gcc dot gnu.org
2022-04-26  7:58 ` jakub at gcc dot gnu.org
2022-04-27  8:20 ` 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).