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.