public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
@ 2021-12-09 10:42 asolokha at gmx dot com
  2021-12-10  1:49 ` [Bug target/103623] " linkw at gcc dot gnu.org
                   ` (35 more replies)
  0 siblings, 36 replies; 37+ messages in thread
From: asolokha at gmx dot com @ 2021-12-09 10:42 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 103623
           Summary: error: unable to generate reloads (ICE in
                    curr_insn_transform, at lra-constraints.c:4132), or
                    error: insn does not satisfy its constraints (ICE in
                    extract_constrain_insn_cached, at recog.c:2682)
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-*-linux-gnu

1. gcc 12.0.0 20211205 snapshot (g:c9419faef0bfaf31e6a6f744baa064892e0d105c)
ICEs when compiling the following testcase, extracted from
gcc/testsuite/gcc.target/powerpc/pack02.c, w/ -mcpu=401 (which is inadequate
for this, of course):

#define PACK __builtin_pack_longdouble
#define UNPACK __builtin_unpack_longdouble
#define LDOUBLE long double

int
main (void)
{
  double high = __builtin_pow (2.0, 60);
  double low  = 2.0;
  LDOUBLE a = ((LDOUBLE)high) + ((LDOUBLE)low);
  double x0 = UNPACK (a, 0);

  if (high != x0)
    __builtin_abort ();

  return 0;
}

% powerpc-e300c3-linux-gnu-gcc-12.0.0 -mcpu=401 ofgmx8m0.c
ofgmx8m0.c: In function 'main':
ofgmx8m0.c:17:1: error: unable to generate reloads for:
   17 | }
      | ^
(insn 23 22 24 2 (set (mem/c:DF (plus:SI (reg/f:SI 110 sfp)
                (const_int 40 [0x28])) [2 x0+0 S8 A64])
        (unspec:DF [
                (reg:TF 125)
                (const_int 0 [0])
            ] UNSPEC_UNPACK_128BIT)) "ofgmx8m0.c":11:15 1061 {unpacktf_nodm}
     (expr_list:REG_DEAD (reg:TF 125)
        (nil)))
during RTL pass: reload
ofgmx8m0.c:17:1: internal compiler error: in curr_insn_transform, at
lra-constraints.c:4132
0x6ac6f5 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/rtl-error.c:108
0x6824b9 curr_insn_transform
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/lra-constraints.c:4132
0xce2e8b lra_constraints(bool)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/lra-constraints.c:5161
0xccc71d lra(_IO_FILE*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/lra.c:2336
0xc834e4 do_reload
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/ira.c:5932
0xc834e4 execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/ira.c:6118

2. Adding -O1 yields the following instead:

% powerpc-e300c3-linux-gnu-gcc-12.0.0 -mcpu=401 -O1 ofgmx8m0.c
ofgmx8m0.c: In function 'main':
ofgmx8m0.c:17:1: error: insn does not satisfy its constraints:
   17 | }
      | ^
(insn 6 5 7 2 (set (reg/v:DF 117 [ x0 ])
        (unspec:DF [
                (reg:TF 119)
                (const_int 0 [0])
            ] UNSPEC_UNPACK_128BIT)) "ofgmx8m0.c":11:15 1061 {unpacktf_nodm}
     (expr_list:REG_DEAD (reg:TF 119)
        (expr_list:REG_EQUAL (unspec:DF [
                    (const_double:TF 1.152921504606846978e+18
[0x0.800000000000001p+61])
                    (const_int 0 [0])
                ] UNSPEC_UNPACK_128BIT)
            (nil))))
during RTL pass: combine
ofgmx8m0.c:17:1: internal compiler error: in extract_constrain_insn_cached, at
recog.c:2682
0x6ac6f5 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/rtl-error.c:108
0x6ac721 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/rtl-error.c:118
0x6aadd4 extract_constrain_insn_cached(rtx_insn*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/recog.c:2682
0x164f4bf get_attr_prefixed(rtx_insn*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/config/rs6000/rs6000.md:329
0x12292f1 rs6000_insn_cost
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/config/rs6000/rs6000.c:22450
0x12292f1 rs6000_insn_cost
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/config/rs6000/rs6000.c:22429
0x18116ee combine_instructions
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/combine.c:1200
0x18116ee rest_of_handle_combine
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/combine.c:14904
0x18116ee execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/combine.c:14949

Some target support 

Apparently some target support check

Apparently there's a missing check somewhere for target TFmode support.

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

* [Bug target/103623] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
@ 2021-12-10  1:49 ` linkw at gcc dot gnu.org
  2021-12-10  2:32 ` [Bug target/103623] [12 Regression] " pinskia at gcc dot gnu.org
                   ` (34 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: linkw at gcc dot gnu.org @ 2021-12-10  1:49 UTC (permalink / raw)
  To: gcc-bugs

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

Kewen Lin <linkw at gcc dot gnu.org> changed:

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

--- Comment #1 from Kewen Lin <linkw at gcc dot gnu.org> ---
Thanks for reporting this as well as PR103622.

Confirmed.  It's starting to fail from r12-5752, but isn't a dup of PR103622.

With r12-5751, we will get the error messages like:

test.c: In function ‘main’:
test.c:2:16: error: ‘__builtin_unpack_longdouble’ requires the
‘-mlong-double-128’ option
    2 | #define UNPACK __builtin_unpack_longdouble
      |                ^
test.c:11:15: note: in expansion of macro ‘UNPACK’
   11 |   double x0 = UNPACK (a, 0);
      |               ^~~~~~

In the previous bif support, __builtin_{pack,unpack}_longdouble are guarded
with bif mask (RS6000_BTM_HARD_FLOAT | RS6000_BTM_LDBL128), but new bif support
puts them under "always" stanza.

One fix seems to introduce one stanza for 128bit long double like previous
RS6000_BTM_LDBL128 which is enabled only if (TARGET_LONG_DOUBLE_128 &&
TARGET_HARD_FLOAT && !TARGET_IEEEQUAD), and guard
__builtin_{pack,unpack}_longdouble under this new stanza.

I also noticed that there also is a TODO for long double vs. ibm128.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
  2021-12-10  1:49 ` [Bug target/103623] " linkw at gcc dot gnu.org
@ 2021-12-10  2:32 ` pinskia at gcc dot gnu.org
  2021-12-10  9:11 ` linkw at gcc dot gnu.org
                   ` (33 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-12-10  2:32 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |12.0
            Summary|error: unable to generate   |[12 Regression] error:
                   |reloads (ICE in             |unable to generate reloads
                   |curr_insn_transform, at     |(ICE in
                   |lra-constraints.c:4132), or |curr_insn_transform, at
                   |error: insn does not        |lra-constraints.c:4132), or
                   |satisfy its constraints     |error: insn does not
                   |(ICE in                     |satisfy its constraints
                   |extract_constrain_insn_cach |(ICE in
                   |ed, at recog.c:2682)        |extract_constrain_insn_cach
                   |                            |ed, at recog.c:2682)

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
  2021-12-10  1:49 ` [Bug target/103623] " linkw at gcc dot gnu.org
  2021-12-10  2:32 ` [Bug target/103623] [12 Regression] " pinskia at gcc dot gnu.org
@ 2021-12-10  9:11 ` linkw at gcc dot gnu.org
  2021-12-10 13:27 ` wschmidt at gcc dot gnu.org
                   ` (32 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: linkw at gcc dot gnu.org @ 2021-12-10  9:11 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Kewen Lin <linkw at gcc dot gnu.org> ---

> One fix seems to introduce one stanza for 128bit long double like previous
> RS6000_BTM_LDBL128 which is enabled only if (TARGET_LONG_DOUBLE_128 &&
> TARGET_HARD_FLOAT && !TARGET_IEEEQUAD), and guard
> __builtin_{pack,unpack}_longdouble under this new stanza.
> 

PR103624 made me notice that a lightweight attribute may be better for this.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (2 preceding siblings ...)
  2021-12-10  9:11 ` linkw at gcc dot gnu.org
@ 2021-12-10 13:27 ` wschmidt at gcc dot gnu.org
  2021-12-10 20:56 ` bergner at gcc dot gnu.org
                   ` (31 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2021-12-10 13:27 UTC (permalink / raw)
  To: gcc-bugs

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

Bill Schmidt <wschmidt at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |wschmidt at gcc dot gnu.org

--- Comment #3 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Mine.  Probably will be next week before I get to these, but let's see.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (3 preceding siblings ...)
  2021-12-10 13:27 ` wschmidt at gcc dot gnu.org
@ 2021-12-10 20:56 ` bergner at gcc dot gnu.org
  2021-12-12 17:29 ` wschmidt at gcc dot gnu.org
                   ` (30 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: bergner at gcc dot gnu.org @ 2021-12-10 20:56 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2021-12-10
             Status|UNCONFIRMED                 |ASSIGNED

--- Comment #4 from Peter Bergner <bergner at gcc dot gnu.org> ---
This is confirmed.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (4 preceding siblings ...)
  2021-12-10 20:56 ` bergner at gcc dot gnu.org
@ 2021-12-12 17:29 ` wschmidt at gcc dot gnu.org
  2021-12-12 17:44 ` wschmidt at gcc dot gnu.org
                   ` (29 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2021-12-12 17:29 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Agreed that this needs a new attribute, and digging through the macros used to
guard the associated patterns, this really does need to be restricted to the
case when long double is implemented by IBM-128.  Safest is to use
FLOAT128_2REG_P (TFmode), i.e., applied to the mode used for long double, which
is what enables the corresponding pack<mode> and unpack<mode> patterns.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (5 preceding siblings ...)
  2021-12-12 17:29 ` wschmidt at gcc dot gnu.org
@ 2021-12-12 17:44 ` wschmidt at gcc dot gnu.org
  2021-12-13  2:45 ` asolokha at gmx dot com
                   ` (28 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2021-12-12 17:44 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
With a quick and dirty patch to implement this, I get:

$ /home/wschmidt/gcc/build/gcc-e300/gcc/xgcc -c -O2 pr103623.c
-B/home/wschmidt/gcc/build/gcc-e300/gcc -mcpu=401
pr103623.c: In function 'main':
pr103623.c:2:16: error: '__builtin_unpack_longdouble' requires long double to
be IBM 128-bit format
    2 | #define UNPACK __builtin_unpack_longdouble
      |                ^
pr103623.c:11:15: note: in expansion of macro 'UNPACK'
   11 |   double x0 = UNPACK (a, 0);
      |               ^~~~~~

Arseny, does this properly diagnose the issue for you?

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (6 preceding siblings ...)
  2021-12-12 17:44 ` wschmidt at gcc dot gnu.org
@ 2021-12-13  2:45 ` asolokha at gmx dot com
  2021-12-13 16:17 ` wschmidt at gcc dot gnu.org
                   ` (27 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: asolokha at gmx dot com @ 2021-12-13  2:45 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Arseny Solokha <asolokha at gmx dot com> ---
> Arseny, does this properly diagnose the issue for you?

Sure, thanks. But please note that I don't do any real computations on 32-bit
powerpc. I've filed this series of PRs during my regular testing of the
compiler.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (7 preceding siblings ...)
  2021-12-13  2:45 ` asolokha at gmx dot com
@ 2021-12-13 16:17 ` wschmidt at gcc dot gnu.org
  2021-12-14 17:20 ` cvs-commit at gcc dot gnu.org
                   ` (26 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2021-12-13 16:17 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Patch posted here:

https://gcc.gnu.org/pipermail/gcc-patches/2021-December/586712.html

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (8 preceding siblings ...)
  2021-12-13 16:17 ` wschmidt at gcc dot gnu.org
@ 2021-12-14 17:20 ` cvs-commit at gcc dot gnu.org
  2021-12-14 17:26 ` wschmidt at gcc dot gnu.org
                   ` (25 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-12-14 17:20 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by William Schmidt <wschmidt@gcc.gnu.org>:

https://gcc.gnu.org/g:74aeb9726756aa79c21028712c26910866e33026

commit r12-5963-g74aeb9726756aa79c21028712c26910866e33026
Author: Bill Schmidt <wschmidt@linux.ibm.com>
Date:   Tue Dec 14 10:09:06 2021 -0600

    rs6000: Some builtins require IBM-128 long double format (PR103623)

    2021-12-14  Bill Schmidt  <wschmidt@linux.ibm.com>

    gcc/
            PR target/103623
            * config/rs6000/rs6000-builtin-new.def (__builtin_pack_longdouble):
Add
            ibmld attribute.
            (__builtin_unpack_longdouble): Likewise.
            * config/rs6000/rs6000-call.c (rs6000_expand_new_builtin): Add
special
            handling for ibmld attribute.
            * config/rs6000/rs6000-gen-builtins.c (attrinfo): Add isibmld.
            (parse_bif_attrs): Handle ibmld.
            (write_decls): Likewise.
            (write_bif_static_init): Likewise.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (9 preceding siblings ...)
  2021-12-14 17:20 ` cvs-commit at gcc dot gnu.org
@ 2021-12-14 17:26 ` wschmidt at gcc dot gnu.org
  2021-12-22 10:48 ` asolokha at gmx dot com
                   ` (24 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2021-12-14 17:26 UTC (permalink / raw)
  To: gcc-bugs

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

Bill Schmidt <wschmidt at gcc dot gnu.org> changed:

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

--- Comment #10 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Fixed.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (10 preceding siblings ...)
  2021-12-14 17:26 ` wschmidt at gcc dot gnu.org
@ 2021-12-22 10:48 ` asolokha at gmx dot com
  2021-12-23  3:35 ` linkw at gcc dot gnu.org
                   ` (23 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: asolokha at gmx dot com @ 2021-12-22 10:48 UTC (permalink / raw)
  To: gcc-bugs

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

Arseny Solokha <asolokha at gmx dot com> changed:

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

--- Comment #11 from Arseny Solokha <asolokha at gmx dot com> ---
Unfortunately, I still have exactly the same ICE on this testcase w/ 12.0.0
alpha20211219 snapshot:

% powerpc-e300c3-linux-gnu-gcc-12.0.0 -mcpu=401 tt.c
tt.c: In function 'main':
tt.c:17:1: error: unable to generate reloads for:
   17 | }
      | ^
(insn 23 22 24 2 (set (mem/c:DF (plus:SI (reg/f:SI 110 sfp)
                (const_int 40 [0x28])) [2 x0+0 S8 A64])
        (unspec:DF [
                (reg:TF 125)
                (const_int 0 [0])
            ] UNSPEC_UNPACK_128BIT)) "tt.c":11:15 1065 {unpacktf_nodm}
     (expr_list:REG_DEAD (reg:TF 125)
        (nil)))
during RTL pass: reload
tt.c:17:1: internal compiler error: in curr_insn_transform, at
lra-constraints.c:4132
0x6adb47 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/gcc/rtl-error.c:108
0x6836f7 curr_insn_transform
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/gcc/lra-constraints.c:4132
0xce3bfb lra_constraints(bool)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/gcc/lra-constraints.c:5161
0xccd48d lra(_IO_FILE*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/gcc/lra.c:2336
0xc843b4 do_reload
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/gcc/ira.c:5932
0xc843b4 execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/gcc/ira.c:6118

% powerpc-e300c3-linux-gnu-gcc-12.0.0 -mcpu=401 -O1 tt.c
tt.c: In function 'main':
tt.c:17:1: error: insn does not satisfy its constraints:
   17 | }
      | ^
(insn 6 5 7 2 (set (reg/v:DF 117 [ x0 ])
        (unspec:DF [
                (reg:TF 119)
                (const_int 0 [0])
            ] UNSPEC_UNPACK_128BIT)) "tt.c":11:15 1065 {unpacktf_nodm}
     (expr_list:REG_DEAD (reg:TF 119)
        (expr_list:REG_EQUAL (unspec:DF [
                    (const_double:TF 1.152921504606846978e+18
[0x0.800000000000001p+61])
                    (const_int 0 [0])
                ] UNSPEC_UNPACK_128BIT)
            (nil))))
during RTL pass: combine
tt.c:17:1: internal compiler error: in extract_constrain_insn_cached, at
recog.c:2682
0x6adb47 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/gcc/rtl-error.c:108
0x6adb73 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/gcc/rtl-error.c:118
0x6ac226 extract_constrain_insn_cached(rtx_insn*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/gcc/recog.c:2682
0x163af57 get_attr_prefixed(rtx_insn*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/gcc/config/rs6000/rs6000.md:329
0x122bb01 rs6000_insn_cost
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/gcc/config/rs6000/rs6000.c:22229
0x122bb01 rs6000_insn_cost
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/gcc/config/rs6000/rs6000.c:22208
0x17fd91e combine_instructions
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/gcc/combine.c:1200
0x17fd91e rest_of_handle_combine
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/gcc/combine.c:14904
0x17fd91e execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/gcc/combine.c:14949

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (11 preceding siblings ...)
  2021-12-22 10:48 ` asolokha at gmx dot com
@ 2021-12-23  3:35 ` linkw at gcc dot gnu.org
  2021-12-23  5:05 ` asolokha at gmx dot com
                   ` (22 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: linkw at gcc dot gnu.org @ 2021-12-23  3:35 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from Kewen Lin <linkw at gcc dot gnu.org> ---
(In reply to Arseny Solokha from comment #11)
> Unfortunately, I still have exactly the same ICE on this testcase w/ 12.0.0
> alpha20211219 snapshot:
> 
> % powerpc-e300c3-linux-gnu-gcc-12.0.0 -mcpu=401 tt.c

Interesting, I can see this has been fixed as tested locally. My trunk is based
on g:29309f6e29d0912eececa1bac29b249440469107.

Could you double check?  If it still failed, could you share your
configuration?

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (12 preceding siblings ...)
  2021-12-23  3:35 ` linkw at gcc dot gnu.org
@ 2021-12-23  5:05 ` asolokha at gmx dot com
  2021-12-27  2:26 ` linkw at gcc dot gnu.org
                   ` (21 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: asolokha at gmx dot com @ 2021-12-23  5:05 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #13 from Arseny Solokha <asolokha at gmx dot com> ---
(In reply to Kewen Lin from comment #12)
> Could you double check?  If it still failed, could you share your
> configuration?

% powerpc-e300c3-linux-gnu-gcc-12.0.0 -v
Using built-in specs.
COLLECT_GCC=powerpc-e300c3-linux-gnu-gcc-12.0.0
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/powerpc-e300c3-linux-gnu/12.0.0/lto-wrapper
Target: powerpc-e300c3-linux-gnu
Configured with:
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211219/work/gcc-12-20211219/configure
--host=x86_64-pc-linux-gnu --target=powerpc-e300c3-linux-gnu
--build=x86_64-pc-linux-gnu --prefix=/usr
--bindir=/usr/x86_64-pc-linux-gnu/powerpc-e300c3-linux-gnu/gcc-bin/12.0.0
--includedir=/usr/lib/gcc/powerpc-e300c3-linux-gnu/12.0.0/include
--datadir=/usr/share/gcc-data/powerpc-e300c3-linux-gnu/12.0.0
--mandir=/usr/share/gcc-data/powerpc-e300c3-linux-gnu/12.0.0/man
--infodir=/usr/share/gcc-data/powerpc-e300c3-linux-gnu/12.0.0/info
--with-gxx-include-dir=/usr/lib/gcc/powerpc-e300c3-linux-gnu/12.0.0/include/g++-v12
--with-python-dir=/share/gcc-data/powerpc-e300c3-linux-gnu/12.0.0/python
--enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt
--disable-werror --with-system-zlib --disable-nls
--disable-libunwind-exceptions --enable-checking=yes --disable-esp
--enable-libstdcxx-time --disable-libstdcxx-pch
--enable-poison-system-directories --with-sysroot=/usr/powerpc-e300c3-linux-gnu
--disable-bootstrap --enable-__cxa_atexit --enable-clocale=gnu
--disable-multilib --disable-fixed-point --enable-targets=all --enable-libgomp
--disable-libssp --disable-libada --disable-cet --disable-systemtap
--enable-valgrind-annotations --disable-vtable-verify --disable-libvtv
--without-zstd --enable-lto --with-isl --disable-isl-version-check
--disable-libsanitizer --enable-default-pie --enable-default-ssp
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.0.0 20211219 (experimental) (GCC)

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (13 preceding siblings ...)
  2021-12-23  5:05 ` asolokha at gmx dot com
@ 2021-12-27  2:26 ` linkw at gcc dot gnu.org
  2021-12-27  2:27 ` linkw at gcc dot gnu.org
                   ` (20 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: linkw at gcc dot gnu.org @ 2021-12-27  2:26 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 from Kewen Lin <linkw at gcc dot gnu.org> ---
> % powerpc-e300c3-linux-gnu-gcc-12.0.0 -v
> Using built-in specs.
> COLLECT_GCC=powerpc-e300c3-linux-gnu-gcc-12.0.0
> COLLECT_LTO_WRAPPER=/usr/libexec/gcc/powerpc-e300c3-linux-gnu/12.0.0/lto-
> wrapper
> Target: powerpc-e300c3-linux-gnu
> Configured with:
[snip]
> Thread model: posix
> Supported LTO compression algorithms: zlib
> gcc version 12.0.0 20211219 (experimental) (GCC)

Thanks!  I tried

Target: powerpc-e300c3-linux-gnu
Configured with: /home/linkw/gcc/gcc-test/configure
--prefix=/home/linkw/gcc/install/gcc-test-debug
--target=powerpc-e300c3-linux-gnu --enable-languages=c,c++,fortran
--enable-obsolete --disable-werror --with-system-zlib --disable-nls
--disable-libunwind-exceptions --enable-checking=yes --disable-esp
--enable-libstdcxx-time --disable-libstdcxx-pch
--enable-poison-system-directories --with-sysroot=/usr/powerpc-e300c3-linux-gnu
--disable-bootstrap --enable-__cxa_atexit --enable-clocale=gnu
--disable-multilib --disable-fixed-point --enable-targets=all --enable-libgomp
--disable-libssp --disable-libada --disable-cet --disable-systemtap
--enable-valgrind-annotations --disable-vtable-verify --disable-libvtv
--without-zstd --enable-lto --with-isl --disable-isl-version-check
--disable-libsanitizer --enable-default-pie --enable-default-ssp
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.0.0 20211219 (experimental) (GCC)

on powerpc64le-linux-gnu, failed to reproduce it.

I tried it on a x86_64 cfarm machine:

/home/linkw/gcc/gcc-test/configure --host=x86_64-pc-linux-gnu
--target=powerpc-e300c3-linux-gnu --build=x86_64-pc-linux-gnu
--prefix=/home/linkw/gcc/install/gcc-test-debug
--enable-languages=c,c++,fortran --enable-obsolete --disable-werror
--with-system-zlib --disable-nls --disable-libunwind-exceptions
--enable-checking=yes --disable-esp --enable-libstdcxx-time
--disable-libstdcxx-pch --enable-poison-system-directories
--with-sysroot=/usr/powerpc-e300c3-linux-gnu --disable-bootstrap
--enable-__cxa_atexit --enable-clocale=gnu --disable-multilib
--disable-fixed-point --enable-targets=all --enable-libgomp --disable-libssp
--disable-libada --disable-cet --disable-systemtap --disable-vtable-verify
--disable-libvtv --without-zstd --enable-lto --disable-libsanitizer
--enable-default-pie --enable-default-ssp

Some options which caused it failed to build were omitted:
--enable-valgrind-annotations  --with-isl  --disable-isl-version-check
--enable-secureplt
I guess they don't really matter. 

Not sure what's wrong there.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (14 preceding siblings ...)
  2021-12-27  2:26 ` linkw at gcc dot gnu.org
@ 2021-12-27  2:27 ` linkw at gcc dot gnu.org
  2021-12-27  3:28 ` asolokha at gmx dot com
                   ` (19 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: linkw at gcc dot gnu.org @ 2021-12-27  2:27 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #15 from Kewen Lin <linkw at gcc dot gnu.org> ---
> 
> I tried it on a x86_64 cfarm machine:
> 
> /home/linkw/gcc/gcc-test/configure --host=x86_64-pc-linux-gnu
> --target=powerpc-e300c3-linux-gnu --build=x86_64-pc-linux-gnu
> --prefix=/home/linkw/gcc/install/gcc-test-debug
> --enable-languages=c,c++,fortran --enable-obsolete --disable-werror
> --with-system-zlib --disable-nls --disable-libunwind-exceptions
> --enable-checking=yes --disable-esp --enable-libstdcxx-time
> --disable-libstdcxx-pch --enable-poison-system-directories
> --with-sysroot=/usr/powerpc-e300c3-linux-gnu --disable-bootstrap
> --enable-__cxa_atexit --enable-clocale=gnu --disable-multilib
> --disable-fixed-point --enable-targets=all --enable-libgomp --disable-libssp
> --disable-libada --disable-cet --disable-systemtap --disable-vtable-verify
> --disable-libvtv --without-zstd --enable-lto --disable-libsanitizer
> --enable-default-pie --enable-default-ssp
> 

Forgot to note that this configuration on x86_64 can't reproduce it either.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (15 preceding siblings ...)
  2021-12-27  2:27 ` linkw at gcc dot gnu.org
@ 2021-12-27  3:28 ` asolokha at gmx dot com
  2021-12-27  5:13 ` linkw at gcc dot gnu.org
                   ` (18 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: asolokha at gmx dot com @ 2021-12-27  3:28 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #16 from Arseny Solokha <asolokha at gmx dot com> ---
Could there be any ld, or as, or glibc features involved that gcc's configure
detects at build time?

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (16 preceding siblings ...)
  2021-12-27  3:28 ` asolokha at gmx dot com
@ 2021-12-27  5:13 ` linkw at gcc dot gnu.org
  2021-12-27  5:25 ` asolokha at gmx dot com
                   ` (17 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: linkw at gcc dot gnu.org @ 2021-12-27  5:13 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #17 from Kewen Lin <linkw at gcc dot gnu.org> ---
(In reply to Arseny Solokha from comment #16)
> Could there be any ld, or as, or glibc features involved that gcc's
> configure detects at build time?

Good point, what's the version of binutils you used? Does it have any special
configuration options?  btw, could you try the above configuration which I used
on x86_64 to confirm the configuration actually fails to reproduce? Note that I
don't have one actual directory for the sysroot locally.

If you can confirm the above configuration also fails to reproduce on your
side, maybe you can isolate which configuration option matters by adding those
omitted back one by one on your side.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (17 preceding siblings ...)
  2021-12-27  5:13 ` linkw at gcc dot gnu.org
@ 2021-12-27  5:25 ` asolokha at gmx dot com
  2021-12-27  5:45 ` asolokha at gmx dot com
                   ` (16 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: asolokha at gmx dot com @ 2021-12-27  5:25 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #18 from Arseny Solokha <asolokha at gmx dot com> ---
(In reply to Kewen Lin from comment #17)
> (In reply to Arseny Solokha from comment #16)
> > Could there be any ld, or as, or glibc features involved that gcc's
> > configure detects at build time?
> 
> Good point, what's the version of binutils you used? Does it have any
> special configuration options?

binutils 2.37.

./configure --enable-plugins --enable-gold --disable-nls --with-system-zlib
--enable-64-bit-bfd --build=x86_64-pc-linux-gnu
--with-sysroot=/usr/powerpc-e300c3-linux-gnu --enable-poison-system-directories
--enable-secureplt --enable-default-hash-style=gnu --prefix=/usr
--host=x86_64-pc-linux-gnu --target=powerpc-e300c3-linux-gnu
--datadir=/usr/share/binutils-data/powerpc-e300c3-linux-gnu/2.37_p1
--datarootdir=/usr/share/binutils-data/powerpc-e300c3-linux-gnu/2.37_p1
--infodir=/usr/share/binutils-data/powerpc-e300c3-linux-gnu/2.37_p1/info
--mandir=/usr/share/binutils-data/powerpc-e300c3-linux-gnu/2.37_p1/man
--bindir=/usr/x86_64-pc-linux-gnu/powerpc-e300c3-linux-gnu/binutils-bin/2.37_p1
--libdir=/usr/lib64/binutils/powerpc-e300c3-linux-gnu/2.37_p1
--libexecdir=/usr/lib64/binutils/powerpc-e300c3-linux-gnu/2.37_p1
--includedir=/usr/lib64/binutils/powerpc-e300c3-linux-gnu/2.37_p1/include
--enable-obsolete --enable-shared --enable-threads --enable-relro
--enable-install-libiberty --enable-textrel-check=warning --enable-new-dtags
--disable-werror --disable-static --disable-gdb --disable-libdecnumber
--disable-readline --disable-sim --without-stage1-ldflags --without-debuginfod
--disable-cet

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (18 preceding siblings ...)
  2021-12-27  5:25 ` asolokha at gmx dot com
@ 2021-12-27  5:45 ` asolokha at gmx dot com
  2021-12-27  6:25 ` linkw at gcc dot gnu.org
                   ` (15 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: asolokha at gmx dot com @ 2021-12-27  5:45 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #19 from Arseny Solokha <asolokha at gmx dot com> ---
(In reply to Kewen Lin from comment #17)
> (In reply to Arseny Solokha from comment #16)
> > Could there be any ld, or as, or glibc features involved that gcc's
> > configure detects at build time?
> 
> btw, could you try the above configuration
> which I used on x86_64 to confirm the configuration actually fails to
> reproduce? Note that I don't have one actual directory for the sysroot
> locally.
> 
> If you can confirm the above configuration also fails to reproduce on your
> side, maybe you can isolate which configuration option matters by adding
> those omitted back one by one on your side.

No, w/ your configuration gcc also ICEs for me on that testcase.

Is there any useful data that I could extract for you using gdb?

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (19 preceding siblings ...)
  2021-12-27  5:45 ` asolokha at gmx dot com
@ 2021-12-27  6:25 ` linkw at gcc dot gnu.org
  2021-12-27  6:36 ` linkw at gcc dot gnu.org
                   ` (14 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: linkw at gcc dot gnu.org @ 2021-12-27  6:25 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #20 from Kewen Lin <linkw at gcc dot gnu.org> ---
(In reply to Arseny Solokha from comment #19)
> (In reply to Kewen Lin from comment #17)
> > (In reply to Arseny Solokha from comment #16)
> > > Could there be any ld, or as, or glibc features involved that gcc's
> > > configure detects at build time?
> > 
> > btw, could you try the above configuration
> > which I used on x86_64 to confirm the configuration actually fails to
> > reproduce? Note that I don't have one actual directory for the sysroot
> > locally.
> > 
> > If you can confirm the above configuration also fails to reproduce on your
> > side, maybe you can isolate which configuration option matters by adding
> > those omitted back one by one on your side.
> 
> No, w/ your configuration gcc also ICEs for me on that testcase.
> 
> Is there any useful data that I could extract for you using gdb?

Thanks for the information! I'll go with your provided binutils information and
try again. How about the information on glibc as well?

As to gdb, I would expect that:

1) (TARGET_LONG_DOUBLE_128 && TARGET_HARD_FLOAT && !TARGET_IEEEQUAD)

this return false on your side, which is the flag used for previous bif
support.
Could you check all the values?

2) FLOAT128_2REG_P (TFmode)

this return true on your side, and as the below defintion,

#define FLOAT128_2REG_P(MODE)                                           \
  (FLOAT128_IBM_P (MODE)                                                \
   || ((MODE) == TDmode)                                                \
   || (!TARGET_FLOAT128_TYPE && FLOAT128_IEEE_P (MODE)))

#define FLOAT128_IBM_P(MODE)                                            \
  ((!TARGET_IEEEQUAD && TARGET_LONG_DOUBLE_128                          \
    && ((MODE) == TFmode || (MODE) == TCmode))                          \
   || (TARGET_HARD_FLOAT && ((MODE) == IFmode || (MODE) == ICmode)))

Could you check which condition arm makes FLOAT128_2REG_P true on your side?

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (20 preceding siblings ...)
  2021-12-27  6:25 ` linkw at gcc dot gnu.org
@ 2021-12-27  6:36 ` linkw at gcc dot gnu.org
  2021-12-27  6:42 ` asolokha at gmx dot com
                   ` (13 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: linkw at gcc dot gnu.org @ 2021-12-27  6:36 UTC (permalink / raw)
  To: gcc-bugs

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

Kewen Lin <linkw at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2021-12-10 00:00:00         |2021-12-27

--- Comment #21 from Kewen Lin <linkw at gcc dot gnu.org> ---
> 1) (TARGET_LONG_DOUBLE_128 && TARGET_HARD_FLOAT && !TARGET_IEEEQUAD)
> 
> this return false on your side, which is the flag used for previous bif
> support.
> Could you check all the values?
> 
> 2) FLOAT128_2REG_P (TFmode)
> 
> this return true on your side, and as the below defintion,
> 
> #define FLOAT128_2REG_P(MODE)						\
>   (FLOAT128_IBM_P (MODE)						\
>    || ((MODE) == TDmode)						\
>    || (!TARGET_FLOAT128_TYPE && FLOAT128_IEEE_P (MODE)))
> 
> #define FLOAT128_IBM_P(MODE)						\
>   ((!TARGET_IEEEQUAD && TARGET_LONG_DOUBLE_128				\
>     && ((MODE) == TFmode || (MODE) == TCmode))				\
>    || (TARGET_HARD_FLOAT && ((MODE) == IFmode || (MODE) == ICmode)))
> 
> Could you check which condition arm makes FLOAT128_2REG_P true on your side?

After typing these checks, I just tried and realized that my local cross-build
on ppc64le can reproduce this if I specify -mlong-double-128. So Arseny's local
env make this option default as -mlong-double-128 while mine uses
-mlong-double-64.  Thanks Arseny! :)

So confirmed.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (21 preceding siblings ...)
  2021-12-27  6:36 ` linkw at gcc dot gnu.org
@ 2021-12-27  6:42 ` asolokha at gmx dot com
  2021-12-27  6:51 ` asolokha at gmx dot com
                   ` (12 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: asolokha at gmx dot com @ 2021-12-27  6:42 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #22 from Arseny Solokha <asolokha at gmx dot com> ---
(In reply to Kewen Lin from comment #21)
> After typing these checks, I just tried and realized that my local
> cross-build on ppc64le can reproduce this if I specify -mlong-double-128. So
> Arseny's local env make this option default as -mlong-double-128 while mine
> uses -mlong-double-64.  Thanks Arseny! :)
> 
> So confirmed.

OK, JFTR:

% powerpc-e300c3-linux-gnu-gcc-12.0.0 -mcpu=401 -Q --help=target | grep
mlong-double
  -mlong-double-                        127

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (22 preceding siblings ...)
  2021-12-27  6:42 ` asolokha at gmx dot com
@ 2021-12-27  6:51 ` asolokha at gmx dot com
  2022-01-18 14:11 ` rguenth at gcc dot gnu.org
                   ` (11 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: asolokha at gmx dot com @ 2021-12-27  6:51 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #23 from Arseny Solokha <asolokha at gmx dot com> ---
And, for the record:

(gdb) p TARGET_LONG_DOUBLE_128
$1 = true
(gdb) p TARGET_HARD_FLOAT
$2 = false
(gdb) p TARGET_IEEEQUAD
$3 = 0

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (23 preceding siblings ...)
  2021-12-27  6:51 ` asolokha at gmx dot com
@ 2022-01-18 14:11 ` rguenth at gcc dot gnu.org
  2022-02-17  2:07 ` linkw at gcc dot gnu.org
                   ` (10 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-01-18 14:11 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (24 preceding siblings ...)
  2022-01-18 14:11 ` rguenth at gcc dot gnu.org
@ 2022-02-17  2:07 ` linkw at gcc dot gnu.org
  2022-02-18  8:38 ` linkw at gcc dot gnu.org
                   ` (9 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: linkw at gcc dot gnu.org @ 2022-02-17  2:07 UTC (permalink / raw)
  To: gcc-bugs

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

Kewen Lin <linkw at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |linkw at gcc dot gnu.org
             Status|REOPENED                    |ASSIGNED

--- Comment #24 from Kewen Lin <linkw at gcc dot gnu.org> ---
I'll take a further look into this one.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (25 preceding siblings ...)
  2022-02-17  2:07 ` linkw at gcc dot gnu.org
@ 2022-02-18  8:38 ` linkw at gcc dot gnu.org
  2022-02-18  8:44 ` linkw at gcc dot gnu.org
                   ` (8 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: linkw at gcc dot gnu.org @ 2022-02-18  8:38 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #25 from Kewen Lin <linkw at gcc dot gnu.org> ---
The key difference from the previous bif support is that: previously we checked
TARGET_HARD_FLOAT but now we didn't. I think we still need to check it, as the
document here
https://gcc.gnu.org/onlinedocs/gcc/Basic-PowerPC-Built-in-Functions-Available-on-ISA-2_002e05.html,
these bifs requires "-mhard-float" option. And all the alternatives of
unpack<mode>_nodm and pack<mode> with mode iterator FMOVE128 will use
constraint d which only takes effect with -mhard-float.

Just a record for the guards in the previous support:

/* 128-bit long double floating point builtins.  */
#define BU_LDBL128_2(ENUM, NAME, ATTR, ICODE)                           \
  RS6000_BUILTIN_2 (MISC_BUILTIN_ ## ENUM,              /* ENUM */      \
                    "__builtin_" NAME,                  /* NAME */      \
                    (RS6000_BTM_HARD_FLOAT              /* MASK */      \
                     | RS6000_BTM_LDBL128),                             \
                    (RS6000_BTC_ ## ATTR                /* ATTR */      \
                     | RS6000_BTC_BINARY),                              \
                    CODE_FOR_ ## ICODE)                 /* ICODE */

/* 128-bit __ibm128 floating point builtins (use -mfloat128 to indicate that
   __ibm128 is available).  */
#define BU_IBM128_2(ENUM, NAME, ATTR, ICODE)                            \
  RS6000_BUILTIN_2 (MISC_BUILTIN_ ## ENUM,              /* ENUM */      \
                    "__builtin_" NAME,                  /* NAME */      \
                    (RS6000_BTM_HARD_FLOAT              /* MASK */      \
                     | RS6000_BTM_FLOAT128),                            \
                    (RS6000_BTC_ ## ATTR                /* ATTR */      \
                     | RS6000_BTC_BINARY),                              \
                    CODE_FOR_ ## ICODE)                 /* ICODE */

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (26 preceding siblings ...)
  2022-02-18  8:38 ` linkw at gcc dot gnu.org
@ 2022-02-18  8:44 ` linkw at gcc dot gnu.org
  2022-02-18 17:22 ` segher at gcc dot gnu.org
                   ` (7 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: linkw at gcc dot gnu.org @ 2022-02-18  8:44 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #26 from Kewen Lin <linkw at gcc dot gnu.org> ---
Created attachment 52474
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52474&action=edit
Untested patch

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (27 preceding siblings ...)
  2022-02-18  8:44 ` linkw at gcc dot gnu.org
@ 2022-02-18 17:22 ` segher at gcc dot gnu.org
  2022-02-18 19:58 ` bergner at gcc dot gnu.org
                   ` (6 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: segher at gcc dot gnu.org @ 2022-02-18 17:22 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #27 from Segher Boessenkool <segher at gcc dot gnu.org> ---
OTOH, it makes no sense to test if we have hard float.  The pack and unpack
builtins should work (and work the same) whenever long double is double-double.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (28 preceding siblings ...)
  2022-02-18 17:22 ` segher at gcc dot gnu.org
@ 2022-02-18 19:58 ` bergner at gcc dot gnu.org
  2022-02-18 21:57 ` segher at gcc dot gnu.org
                   ` (5 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: bergner at gcc dot gnu.org @ 2022-02-18 19:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #28 from Peter Bergner <bergner at gcc dot gnu.org> ---
(In reply to Segher Boessenkool from comment #27)
> OTOH, it makes no sense to test if we have hard float.  The pack and unpack
> builtins should work (and work the same) whenever long double is
> double-double.

Agreed.  For soft-float, the value would be a a GPR pair versus a FPR pair (for
-m64).  It's a little tricker for -m32 -msoft-float compiles, since a 128-bit
long double would live in 4 32-bit GPRs, so more regs than it takes to hold
them in FPRs.  Not much of a complication, but just needs to be tested on
32-bit to ensure it works as expected.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (29 preceding siblings ...)
  2022-02-18 19:58 ` bergner at gcc dot gnu.org
@ 2022-02-18 21:57 ` segher at gcc dot gnu.org
  2022-02-18 22:00 ` segher at gcc dot gnu.org
                   ` (4 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: segher at gcc dot gnu.org @ 2022-02-18 21:57 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #29 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Peter Bergner from comment #28)
> (In reply to Segher Boessenkool from comment #27)
> > OTOH, it makes no sense to test if we have hard float.  The pack and unpack
> > builtins should work (and work the same) whenever long double is
> > double-double.
> 
> Agreed.  For soft-float, the value would be a a GPR pair versus a FPR pair
> (for -m64).  It's a little tricker for -m32 -msoft-float compiles, since a
> 128-bit long double would live in 4 32-bit GPRs, so more regs than it takes
> to hold them in FPRs.  Not much of a complication, but just needs to be
> tested on 32-bit to ensure it works as expected.

It can be in memory, even; it doesn't matter.  But it is boring data
movement, and in many cases it doesn't generate any code even :-)

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (30 preceding siblings ...)
  2022-02-18 21:57 ` segher at gcc dot gnu.org
@ 2022-02-18 22:00 ` segher at gcc dot gnu.org
  2022-02-21  3:03 ` linkw at gcc dot gnu.org
                   ` (3 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: segher at gcc dot gnu.org @ 2022-02-18 22:00 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #30 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Btw, does this issue exist for the corresponding __builtin_{un,}pack_ibm128
builtins as well?

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (31 preceding siblings ...)
  2022-02-18 22:00 ` segher at gcc dot gnu.org
@ 2022-02-21  3:03 ` linkw at gcc dot gnu.org
  2022-04-11 21:02 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: linkw at gcc dot gnu.org @ 2022-02-21  3:03 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #31 from Kewen Lin <linkw at gcc dot gnu.org> ---
Thanks for the comments, Segher and Peter! Your comments answered my question
in mind that the current unpack/pack pattern supports are complete or not.
IIUC, to cover it for both soft-float and hard-float cases, we need to update
the bif documents and add more alternatives (like: register constraint r to
survive for soft-float). I'm wondering if it's allowed to be made in current
stage 4 (it's like a small feature extension)? Or we can "fix" it to keep it as
the previous behavior at the first place and leave it to next stage 1?

As to question on __builtin_{un,}pack_ibm128, IIUC, __ibm128 type requires vsx
support which requires hard-float, it won't have the possibility to test it
with soft-float?

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (32 preceding siblings ...)
  2022-02-21  3:03 ` linkw at gcc dot gnu.org
@ 2022-04-11 21:02 ` cvs-commit at gcc dot gnu.org
  2022-04-12  1:40 ` linkw at gcc dot gnu.org
  2022-04-21 18:02 ` segher at gcc dot gnu.org
  35 siblings, 0 replies; 37+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-04-11 21:02 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #32 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Segher Boessenkool <segher@gcc.gnu.org>:

https://gcc.gnu.org/g:0508f0b810985f4a8543ce44701ec7330ef29796

commit r12-8091-g0508f0b810985f4a8543ce44701ec7330ef29796
Author: Segher Boessenkool <segher@kernel.crashing.org>
Date:   Mon Apr 11 15:43:38 2022 +0000

    rs6000: Fix unpack for no-direct-move (PR103623)

    The _dm alternative works fine for soft-float, but the _nodm variant
    pattern is missing that alternative.  So, let's add that.

    There probably should be an r,r,i alternative as well (or we can make it
    rm,r,i), but that is for later.

    2022-04-11  Segher Boessenkool  <segher@kernel.crashing.org>

            PR target/105213
            PR target/103623
            * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i
alternative.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (33 preceding siblings ...)
  2022-04-11 21:02 ` cvs-commit at gcc dot gnu.org
@ 2022-04-12  1:40 ` linkw at gcc dot gnu.org
  2022-04-21 18:02 ` segher at gcc dot gnu.org
  35 siblings, 0 replies; 37+ messages in thread
From: linkw at gcc dot gnu.org @ 2022-04-12  1:40 UTC (permalink / raw)
  To: gcc-bugs

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

Kewen Lin <linkw at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED
           Assignee|linkw at gcc dot gnu.org           |segher at gcc dot gnu.org
                URL|https://gcc.gnu.org/piperma |
                   |il/gcc-patches/2021-Decembe |
                   |r/586712.html,https://gcc.g |
                   |nu.org/pipermail/gcc-patche |
                   |s/2022-March/591147.html    |

--- Comment #33 from Kewen Lin <linkw at gcc dot gnu.org> ---
Should be fixed on trunk now.

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

* [Bug target/103623] [12 Regression] error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682)
  2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
                   ` (34 preceding siblings ...)
  2022-04-12  1:40 ` linkw at gcc dot gnu.org
@ 2022-04-21 18:02 ` segher at gcc dot gnu.org
  35 siblings, 0 replies; 37+ messages in thread
From: segher at gcc dot gnu.org @ 2022-04-21 18:02 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #34 from Segher Boessenkool <segher at gcc dot gnu.org> ---
*** Bug 105334 has been marked as a duplicate of this bug. ***

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

end of thread, other threads:[~2022-04-21 18:02 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-09 10:42 [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) asolokha at gmx dot com
2021-12-10  1:49 ` [Bug target/103623] " linkw at gcc dot gnu.org
2021-12-10  2:32 ` [Bug target/103623] [12 Regression] " pinskia at gcc dot gnu.org
2021-12-10  9:11 ` linkw at gcc dot gnu.org
2021-12-10 13:27 ` wschmidt at gcc dot gnu.org
2021-12-10 20:56 ` bergner at gcc dot gnu.org
2021-12-12 17:29 ` wschmidt at gcc dot gnu.org
2021-12-12 17:44 ` wschmidt at gcc dot gnu.org
2021-12-13  2:45 ` asolokha at gmx dot com
2021-12-13 16:17 ` wschmidt at gcc dot gnu.org
2021-12-14 17:20 ` cvs-commit at gcc dot gnu.org
2021-12-14 17:26 ` wschmidt at gcc dot gnu.org
2021-12-22 10:48 ` asolokha at gmx dot com
2021-12-23  3:35 ` linkw at gcc dot gnu.org
2021-12-23  5:05 ` asolokha at gmx dot com
2021-12-27  2:26 ` linkw at gcc dot gnu.org
2021-12-27  2:27 ` linkw at gcc dot gnu.org
2021-12-27  3:28 ` asolokha at gmx dot com
2021-12-27  5:13 ` linkw at gcc dot gnu.org
2021-12-27  5:25 ` asolokha at gmx dot com
2021-12-27  5:45 ` asolokha at gmx dot com
2021-12-27  6:25 ` linkw at gcc dot gnu.org
2021-12-27  6:36 ` linkw at gcc dot gnu.org
2021-12-27  6:42 ` asolokha at gmx dot com
2021-12-27  6:51 ` asolokha at gmx dot com
2022-01-18 14:11 ` rguenth at gcc dot gnu.org
2022-02-17  2:07 ` linkw at gcc dot gnu.org
2022-02-18  8:38 ` linkw at gcc dot gnu.org
2022-02-18  8:44 ` linkw at gcc dot gnu.org
2022-02-18 17:22 ` segher at gcc dot gnu.org
2022-02-18 19:58 ` bergner at gcc dot gnu.org
2022-02-18 21:57 ` segher at gcc dot gnu.org
2022-02-18 22:00 ` segher at gcc dot gnu.org
2022-02-21  3:03 ` linkw at gcc dot gnu.org
2022-04-11 21:02 ` cvs-commit at gcc dot gnu.org
2022-04-12  1:40 ` linkw at gcc dot gnu.org
2022-04-21 18:02 ` segher 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).