public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug testsuite/107338] new test case gcc.dg/vect/vect-bitfield-read-7.c in r13-3413-ge10ca9544632db fails
Date: Tue, 25 Oct 2022 05:20:10 +0000	[thread overview]
Message-ID: <bug-107338-4-ZSH0G4gMBs@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-107338-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Kewen Lin <linkw@gcc.gnu.org>:

https://gcc.gnu.org/g:958014f369c8817184af110f8eb2c433a712fd0a

commit r13-3474-g958014f369c8817184af110f8eb2c433a712fd0a
Author: Kewen Lin <linkw@linux.ibm.com>
Date:   Tue Oct 25 00:18:08 2022 -0500

    vect: Fix wrong shift_n after widening on BE [PR107338]

    As PR107338 shows, with the use of widening loads, the
    container_type can become a wider type, it causes us to
    get wrong shift_n since the BIT_FIELD_REF offset actually
    becomes bigger on BE.  Taking the case in PR107338 as
    example, at the beginning the container type is short and
    BIT_FIELD_REF offset is 8 and size is 4, with unpacking to
    wider type int, the high 16 bits are zero, by viewing it
    as type int, its offset actually becomes to 24.  So the
    shift_n should be 4 (32 - 24 - 4) instead of 20 (32 - 8
    - 4).

    I noticed that if we move shift_n calculation early
    before the adjustments for widening loads (container type
    change), it's based on all the stuffs of the original
    container, the shfit_n calculated there is exactly what
    we want, it can be independent of widening.  Besides, I
    add prec adjustment together with the current adjustments
    for widening loads, although prec's subsequent uses don't
    require this change for now, since the container type gets
    changed, we should keep the corresponding prec consistent.

            PR tree-optimization/107338

    gcc/ChangeLog:

            * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Move
            shfit_n calculation before the adjustments for widening loads.

  parent reply	other threads:[~2022-10-25  5:20 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-20 21:58 [Bug other/107338] New: " seurer at gcc dot gnu.org
2022-10-20 22:05 ` [Bug other/107338] " pinskia at gcc dot gnu.org
2022-10-21  9:42 ` [Bug testsuite/107338] " linkw at gcc dot gnu.org
2022-10-21 10:59 ` avieira at gcc dot gnu.org
2022-10-21 13:04 ` linkw at gcc dot gnu.org
2022-10-25  5:20 ` cvs-commit at gcc dot gnu.org [this message]
2022-10-25  5:29 ` [Bug tree-optimization/107338] " linkw at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-107338-4-ZSH0G4gMBs@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).