Re: [PATCH v2] i386: Update Suffix for AVX10.2 SAT CVT scalar Intrinsics

"H.J. Lu" <[email protected]> Sun, 2 Aug 2026 12:11:12 +0800
Newsgroups gmane.comp.gcc.patches
Message-ID <CAMe9rOqhrtgv74a-62mmFgHhuYrVsx4+TKsfgmObn3w9Jm=m4Q@mail.gmail.com>
On Sun, Aug 2, 2026 at 12:04 PM H.J. Lu <[email protected]> wrote:
>
> On Thu, Jul 23, 2026 at 3:26 PM Hongtao Liu <[email protected]> wrote:
> >
> > On Thu, Jul 23, 2026 at 11:06 AM Hu, Lin1 <[email protected]> wrote:
> > >
> > > Change v1 -> v2.
> > > Provide _si{32,64} aliases for the non-round scalar intrinsics.
> > >
> > > -------------------------------------------
> > >
> > > The previous _ep[i|u]{32,64} suffix for scalar SAT CVT intrinsics does
> > > not match the intrinsic naming convention: scalar convert intrinsics
> > > have used _[i|u]{32,64} (with _si{32,64} aliases for signed variants)
> > > since AVX-512F, so the AVX10.2 scalar SAT CVT names need to follow the
> > > same convention.
> > >
> > > This patch renames the scalar SAT CVT intrinsics to use _[i|u]{32,64}
> > > suffix and provides _si{32,64} aliases for the signed intrinsics.
> > Ok.
> >
> > >
> > > gcc/ChangeLog:
> > >
> > >         * config/i386/avx10_2satcvtintrin.h
> > >         (_mm_cvtts_sd_i32): Renamed from _mm_cvtts_sd_epi32.
> > >         (_mm_cvtts_sd_si32): New alias of _mm_cvtts_sd_i32.
> > >         (_mm_cvtts_sd_u32): Renamed from _mm_cvtts_sd_epu32.
> > >         (_mm_cvtts_ss_i32): Renamed from _mm_cvtts_ss_epi32.
> > >         (_mm_cvtts_ss_si32): New alias of _mm_cvtts_ss_i32.
> > >         (_mm_cvtts_ss_u32): Renamed from _mm_cvtts_ss_epu32.
> > >         (_mm_cvtts_roundsd_i32): Renamed from _mm_cvtts_roundsd_epi32.
> > >         (_mm_cvtts_roundsd_si32): New alias of _mm_cvtts_roundsd_i32.
> > >         (_mm_cvtts_roundsd_u32): Renamed from _mm_cvtts_roundsd_epu32.
> > >         (_mm_cvtts_roundss_i32): Renamed from _mm_cvtts_roundss_epi32.
> > >         (_mm_cvtts_roundss_si32): New alias of _mm_cvtts_roundss_i32.
> > >         (_mm_cvtts_roundss_u32): Renamed from _mm_cvtts_roundss_epu32.
> > >         (_mm_cvtts_sd_i64): Renamed from _mm_cvtts_sd_epi64.
> > >         (_mm_cvtts_sd_si64): New alias of _mm_cvtts_sd_i64.
> > >         (_mm_cvtts_sd_u64): Renamed from _mm_cvtts_sd_epu64.
> > >         (_mm_cvtts_ss_i64): Renamed from _mm_cvtts_ss_epi64.
> > >         (_mm_cvtts_ss_si64): New alias of _mm_cvtts_ss_i64.
> > >         (_mm_cvtts_ss_u64): Renamed from _mm_cvtts_ss_epu64.
> > >         (_mm_cvtts_roundsd_i64): Renamed from _mm_cvtts_roundsd_epi64.
> > >         (_mm_cvtts_roundsd_si64): New alias of _mm_cvtts_roundsd_i64.
> > >         (_mm_cvtts_roundsd_u64): Renamed from _mm_cvtts_roundsd_epu64.
> > >         (_mm_cvtts_roundss_i64): Renamed from _mm_cvtts_roundss_epi64.
> > >         (_mm_cvtts_roundss_si64): New alias of _mm_cvtts_roundss_i64.
> > >         (_mm_cvtts_roundss_u64): Renamed from _mm_cvtts_roundss_epu64.
> > >
> > > gcc/testsuite/ChangeLog:
> > >
> > >         * gcc.target/i386/avx10_2-satcvt-1.c: Update intrin names and
> > >         add _si alias tests.
> > >         * gcc.target/i386/sse-14.c: Ditto.
> > >         * gcc.target/i386/sse-22.c: Ditto.
> > >         * gcc.target/i386/avx10_2-vcvttsd2sis-2.c: Update intrin names.
> > >         * gcc.target/i386/avx10_2-vcvttsd2usis-2.c: Ditto.
> > >         * gcc.target/i386/avx10_2-vcvttss2sis-2.c: Ditto.
> > >         * gcc.target/i386/avx10_2-vcvttss2usis-2.c: Ditto.
> > >         * gcc.target/i386/zext-avx10-1.c: Ditto.
> > > ---
> > >  gcc/config/i386/avx10_2satcvtintrin.h         | 127 ++++++++++++++----
> > >  .../gcc.target/i386/avx10_2-satcvt-1.c        |  56 ++++----
> > >  .../gcc.target/i386/avx10_2-vcvttsd2sis-2.c   |   8 +-
> > >  .../gcc.target/i386/avx10_2-vcvttsd2usis-2.c  |   8 +-
> > >  .../gcc.target/i386/avx10_2-vcvttss2sis-2.c   |   8 +-
> > >  .../gcc.target/i386/avx10_2-vcvttss2usis-2.c  |   8 +-
> > >  gcc/testsuite/gcc.target/i386/sse-14.c        |  20 +--
> > >  gcc/testsuite/gcc.target/i386/sse-22.c        |  20 +--
> > >  gcc/testsuite/gcc.target/i386/zext-avx10-1.c  |  16 +--
> > >  9 files changed, 183 insertions(+), 88 deletions(-)
> > >
>
> This patch works on master branch, but breaks GCC 16 branch:
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126581
>
>

It also fails on GCC master branch.

-- 
H.J.