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

"H.J. Lu" <[email protected]> Sun, 2 Aug 2026 12:04:48 +0800
Newsgroups gmane.comp.gcc.patches
Message-ID <CAMe9rOr2tGoq711ORsN_6He2KmhwCuSe8bCxEi+Hccqr_jVNoQ@mail.gmail.com>
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


-- 
H.J.