public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/110496] New: ICE: tree check: expected none of vector_type, have vector_type in find_bswap_or_nop_1, at gimple-ssa-store-merging.cc:654
@ 2023-06-30  9:21 sirl at gcc dot gnu.org
  2023-06-30  9:51 ` [Bug tree-optimization/110496] " rguenth at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: sirl at gcc dot gnu.org @ 2023-06-30  9:21 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 110496
           Summary: ICE: tree check: expected none of vector_type, have
                    vector_type in find_bswap_or_nop_1, at
                    gimple-ssa-store-merging.cc:654
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sirl at gcc dot gnu.org
  Target Milestone: ---

This testcase (reduced with cvise):

long contents, f_num;
int decide();
int f_MV0__x;
void f() {
  unsigned char *rptr;
  unsigned char valbuf[6];
  rptr = (unsigned char *)contents;
  if (decide())
    do {
      __builtin_memcpy(valbuf, &f_MV0__x, sizeof(int));
      (&valbuf[0])[4] = (&valbuf[0])[5] = 0;
    } while (0);
  else {
    int MV0__x = f_num;
    __builtin_memcpy(valbuf, &MV0__x, sizeof(int));
    (&valbuf[0])[4] = (&valbuf[0])[5] = 0;
  }
  rptr[1] = valbuf[4];
  rptr[2] = valbuf[5];
  rptr[4] = valbuf[1];
  rptr[5] = valbuf[2];
  __builtin_memset(valbuf, 0, 8);
}

ICEs with gcc@r14-2190:

during GIMPLE pass: store-merging
testcase.c: In function 'f':
testcase.c:4:6: internal compiler error: tree check: expected none of
vector_type, have vector_type in find_bswap_or_nop_1, at
gimple-ssa-store-merging.cc:654
    4 | void f() {
      |      ^
0x921335 tree_not_check_failed(tree_node const*, char const*, int, char const*,
...)
        ../../gcc/tree.cc:8936
0x11175d8 tree_not_check(tree_node*, char const*, int, char const*, tree_code)
        ../../gcc/tree.h:3581
0x11175d8 find_bswap_or_nop_1
        ../../gcc/gimple-ssa-store-merging.cc:654
0x17c6758 process_store
        ../../gcc/gimple-ssa-store-merging.cc:5269
0x17c6758 execute
        ../../gcc/gimple-ssa-store-merging.cc:5557

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

* [Bug tree-optimization/110496] ICE: tree check: expected none of vector_type, have vector_type in find_bswap_or_nop_1, at gimple-ssa-store-merging.cc:654
  2023-06-30  9:21 [Bug tree-optimization/110496] New: ICE: tree check: expected none of vector_type, have vector_type in find_bswap_or_nop_1, at gimple-ssa-store-merging.cc:654 sirl at gcc dot gnu.org
@ 2023-06-30  9:51 ` rguenth at gcc dot gnu.org
  2023-06-30 10:15 ` sirl at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-06-30  9:51 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2023-06-30

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

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

* [Bug tree-optimization/110496] ICE: tree check: expected none of vector_type, have vector_type in find_bswap_or_nop_1, at gimple-ssa-store-merging.cc:654
  2023-06-30  9:21 [Bug tree-optimization/110496] New: ICE: tree check: expected none of vector_type, have vector_type in find_bswap_or_nop_1, at gimple-ssa-store-merging.cc:654 sirl at gcc dot gnu.org
  2023-06-30  9:51 ` [Bug tree-optimization/110496] " rguenth at gcc dot gnu.org
@ 2023-06-30 10:15 ` sirl at gcc dot gnu.org
  2023-06-30 10:59 ` cvs-commit at gcc dot gnu.org
  2023-06-30 11:00 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: sirl at gcc dot gnu.org @ 2023-06-30 10:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Franz Sirl <sirl at gcc dot gnu.org> ---
Forget to mention, needs -O2 or higher to reproduce.
Was exposed by r14-2150-gfe48f2651334bc4d96b6df6b2bb6b29fcb732a83 .

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

* [Bug tree-optimization/110496] ICE: tree check: expected none of vector_type, have vector_type in find_bswap_or_nop_1, at gimple-ssa-store-merging.cc:654
  2023-06-30  9:21 [Bug tree-optimization/110496] New: ICE: tree check: expected none of vector_type, have vector_type in find_bswap_or_nop_1, at gimple-ssa-store-merging.cc:654 sirl at gcc dot gnu.org
  2023-06-30  9:51 ` [Bug tree-optimization/110496] " rguenth at gcc dot gnu.org
  2023-06-30 10:15 ` sirl at gcc dot gnu.org
@ 2023-06-30 10:59 ` cvs-commit at gcc dot gnu.org
  2023-06-30 11:00 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-06-30 10:59 UTC (permalink / raw)
  To: gcc-bugs

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

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

https://gcc.gnu.org/g:4f8e31e01bd04ab17a53deb5aa44bd82c885b228

commit r14-2211-g4f8e31e01bd04ab17a53deb5aa44bd82c885b228
Author: Richard Biener <rguenther@suse.de>
Date:   Fri Jun 30 12:03:26 2023 +0200

    tree-optimization/110496 - TYPE_PRECISION issue with store-merging

    When store-merging looks for bswap opportunities we also handle
    BIT_FIELD_REFs where we verify the refed object is of scalar
    type but we don't check for the result type we eventually use.
    That's done later but after we eventually query TYPE_PRECISION.
    The following re-orders this.

            PR tree-optimization/110496
            * gimple-ssa-store-merging.cc (find_bswap_or_nop_1): Re-order
            verifying and TYPE_PRECISION query for the BIT_FIELD_REF case.

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

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

* [Bug tree-optimization/110496] ICE: tree check: expected none of vector_type, have vector_type in find_bswap_or_nop_1, at gimple-ssa-store-merging.cc:654
  2023-06-30  9:21 [Bug tree-optimization/110496] New: ICE: tree check: expected none of vector_type, have vector_type in find_bswap_or_nop_1, at gimple-ssa-store-merging.cc:654 sirl at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2023-06-30 10:59 ` cvs-commit at gcc dot gnu.org
@ 2023-06-30 11:00 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-06-30 11:00 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

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

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

end of thread, other threads:[~2023-06-30 11:00 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-30  9:21 [Bug tree-optimization/110496] New: ICE: tree check: expected none of vector_type, have vector_type in find_bswap_or_nop_1, at gimple-ssa-store-merging.cc:654 sirl at gcc dot gnu.org
2023-06-30  9:51 ` [Bug tree-optimization/110496] " rguenth at gcc dot gnu.org
2023-06-30 10:15 ` sirl at gcc dot gnu.org
2023-06-30 10:59 ` cvs-commit at gcc dot gnu.org
2023-06-30 11:00 ` rguenth 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).