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

            Bug ID: 109964
           Summary: auto-vectorization of shift ignores integral
                    promotions
           Product: gcc
           Version: 13.1.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mkretz at gcc dot gnu.org
  Target Milestone: ---
            Target: powerpc64le-*-*

Test cases:
short: https://godbolt.org/z/oM56Pd19o
char: https://godbolt.org/z/f5Tc6TMEd

The POWER vector shifts read only 3/4 bits from the rhs vector. Thus, shifts
that are valid on int (i.e. >= 8 or >= 16) are translated incorrectly when
using the vector shift instructions. If the rhs values are not known to be
bounded a fix-up is necessary.

Reply via email to