On Thu, 2024-10-31 at 23:58 +0800, Xi Ruoyao wrote: /* snip */
> --- > > Now running bootstrap & regtest. Posted early as a context for some > LLVM patch. I'll post the regtest result once it finishes. Done, no regressions. The LLVM patch is https://github.com/llvm/llvm-project/pull/114514. > > gcc/config/loongarch/lasxintrin.h | 4 ++-- > gcc/config/loongarch/loongarch-builtins.cc | 4 ++-- > gcc/config/loongarch/lsxintrin.h | 4 ++-- > gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-builtin.c | 4 ++-- > gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-builtin.c | 4 ++-- > 5 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/gcc/config/loongarch/lasxintrin.h > b/gcc/config/loongarch/lasxintrin.h > index 16b21455d81..82ab625c58c 100644 > --- a/gcc/config/loongarch/lasxintrin.h > +++ b/gcc/config/loongarch/lasxintrin.h > @@ -3564,11 +3564,11 @@ __m256i __lasx_xvssrln_w_d (__m256i _1, __m256i _2) > } > > /* Assembly instruction format: xd, xj, xk. */ > -/* Data types in instruction templates: V32QI, V32QI, V32QI. */ > +/* Data types in instruction templates: UV32QI, UV32QI, UV32QI. */ > extern __inline __attribute__((__gnu_inline__, __always_inline__, > __artificial__)) > __m256i __lasx_xvorn_v (__m256i _1, __m256i _2) > { > - return (__m256i)__builtin_lasx_xvorn_v ((v32i8)_1, (v32i8)_2); > + return (__m256i)__builtin_lasx_xvorn_v ((v32u8)_1, (v32u8)_2); > } > > /* Assembly instruction format: xd, i13. */ > diff --git a/gcc/config/loongarch/loongarch-builtins.cc > b/gcc/config/loongarch/loongarch-builtins.cc > index 7d13f2f3aab..b25ae26fb8a 100644 > --- a/gcc/config/loongarch/loongarch-builtins.cc > +++ b/gcc/config/loongarch/loongarch-builtins.cc > @@ -1629,7 +1629,7 @@ static const struct loongarch_builtin_description > loongarch_builtins[] = { > LSX_BUILTIN (vssrln_b_h, LARCH_V16QI_FTYPE_V8HI_V8HI), > LSX_BUILTIN (vssrln_h_w, LARCH_V8HI_FTYPE_V4SI_V4SI), > LSX_BUILTIN (vssrln_w_d, LARCH_V4SI_FTYPE_V2DI_V2DI), > - LSX_BUILTIN (vorn_v, LARCH_V16QI_FTYPE_V16QI_V16QI), > + LSX_BUILTIN (vorn_v, LARCH_UV16QI_FTYPE_UV16QI_UV16QI), > LSX_BUILTIN (vldi, LARCH_V2DI_FTYPE_HI), > LSX_BUILTIN (vshuf_b, LARCH_V16QI_FTYPE_V16QI_V16QI_V16QI), > LSX_BUILTIN (vldx, LARCH_V16QI_FTYPE_CVPOINTER_DI), > @@ -2179,7 +2179,7 @@ static const struct loongarch_builtin_description > loongarch_builtins[] = { > LASX_BUILTIN (xvssrln_b_h, LARCH_V32QI_FTYPE_V16HI_V16HI), > LASX_BUILTIN (xvssrln_h_w, LARCH_V16HI_FTYPE_V8SI_V8SI), > LASX_BUILTIN (xvssrln_w_d, LARCH_V8SI_FTYPE_V4DI_V4DI), > - LASX_BUILTIN (xvorn_v, LARCH_V32QI_FTYPE_V32QI_V32QI), > + LASX_BUILTIN (xvorn_v, LARCH_UV32QI_FTYPE_UV32QI_UV32QI), > LASX_BUILTIN (xvldi, LARCH_V4DI_FTYPE_HI), > LASX_BUILTIN (xvldx, LARCH_V32QI_FTYPE_CVPOINTER_DI), > LASX_NO_TARGET_BUILTIN (xvstx, LARCH_VOID_FTYPE_V32QI_CVPOINTER_DI), > diff --git a/gcc/config/loongarch/lsxintrin.h > b/gcc/config/loongarch/lsxintrin.h > index 9ab8269db70..0f47b5929d1 100644 > --- a/gcc/config/loongarch/lsxintrin.h > +++ b/gcc/config/loongarch/lsxintrin.h > @@ -4745,11 +4745,11 @@ __m128i __lsx_vssrln_w_d (__m128i _1, __m128i _2) > } > > /* Assembly instruction format: vd, vj, vk. */ > -/* Data types in instruction templates: V16QI, V16QI, V16QI. */ > +/* Data types in instruction templates: UV16QI, UV16QI, UV16QI. */ > extern __inline __attribute__((__gnu_inline__, __always_inline__, > __artificial__)) > __m128i __lsx_vorn_v (__m128i _1, __m128i _2) > { > - return (__m128i)__builtin_lsx_vorn_v ((v16i8)_1, (v16i8)_2); > + return (__m128i)__builtin_lsx_vorn_v ((v16u8)_1, (v16u8)_2); > } > > /* Assembly instruction format: vd, i13. */ > diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-builtin.c > b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-builtin.c > index b1a903b4a2b..64ff870a4c5 100644 > --- a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-builtin.c > +++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-builtin.c > @@ -3178,8 +3178,8 @@ __lasx_xvssrln_w_d (v4i64 _1, v4i64 _2) > { > return __builtin_lasx_xvssrln_w_d (_1, _2); > } > -v32i8 > -__lasx_xvorn_v (v32i8 _1, v32i8 _2) > +v32u8 > +__lasx_xvorn_v (v32u8 _1, v32u8 _2) > { > return __builtin_lasx_xvorn_v (_1, _2); > } > diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-builtin.c > b/gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-builtin.c > index 13013114d49..1c9f384e39e 100644 > --- a/gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-builtin.c > +++ b/gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-builtin.c > @@ -4006,8 +4006,8 @@ __lsx_vssrln_w_d (v2i64 _1, v2i64 _2) > { > return __builtin_lsx_vssrln_w_d (_1, _2); > } > -v16i8 > -__lsx_vorn_v (v16i8 _1, v16i8 _2) > +v16u8 > +__lsx_vorn_v (v16u8 _1, v16u8 _2) > { > return __builtin_lsx_vorn_v (_1, _2); > } -- Xi Ruoyao <xry...@xry111.site> School of Aerospace Science and Technology, Xidian University