Skip to content

Commit 62bf584

Browse files
authored
[LoongArch][Clang] Make the parameters and return value of {x,}vorn.v builti ns unsigned char vectors (#114514)
All other bitwise vector builtins use `unsigned char` vector operands, so it does not make too much sense to use `signed char` for the orn operation alone. The same change has been also proposed for GCC: https://gcc.gnu.org/pipermail/gcc-patches/2024-October/667065.html. Depends on #114513.
1 parent 9568f88 commit 62bf584

File tree

4 files changed

+4
-4
lines changed

4 files changed

+4
-4
lines changed

clang/include/clang/Basic/BuiltinsLoongArchLASX.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ TARGET_BUILTIN(__builtin_lasx_xvor_v, "V32UcV32UcV32Uc", "nc", "lasx")
371371
TARGET_BUILTIN(__builtin_lasx_xvxor_v, "V32UcV32UcV32Uc", "nc", "lasx")
372372
TARGET_BUILTIN(__builtin_lasx_xvnor_v, "V32UcV32UcV32Uc", "nc", "lasx")
373373
TARGET_BUILTIN(__builtin_lasx_xvandn_v, "V32UcV32UcV32Uc", "nc", "lasx")
374-
TARGET_BUILTIN(__builtin_lasx_xvorn_v, "V32ScV32ScV32Sc", "nc", "lasx")
374+
TARGET_BUILTIN(__builtin_lasx_xvorn_v, "V32UcV32UcV32Uc", "nc", "lasx")
375375

376376
TARGET_BUILTIN(__builtin_lasx_xvandi_b, "V32UcV32UcIUi", "nc", "lasx")
377377
TARGET_BUILTIN(__builtin_lasx_xvori_b, "V32UcV32UcIUi", "nc", "lasx")

clang/include/clang/Basic/BuiltinsLoongArchLSX.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ TARGET_BUILTIN(__builtin_lsx_vor_v, "V16UcV16UcV16Uc", "nc", "lsx")
355355
TARGET_BUILTIN(__builtin_lsx_vxor_v, "V16UcV16UcV16Uc", "nc", "lsx")
356356
TARGET_BUILTIN(__builtin_lsx_vnor_v, "V16UcV16UcV16Uc", "nc", "lsx")
357357
TARGET_BUILTIN(__builtin_lsx_vandn_v, "V16UcV16UcV16Uc", "nc", "lsx")
358-
TARGET_BUILTIN(__builtin_lsx_vorn_v, "V16ScV16ScV16Sc", "nc", "lsx")
358+
TARGET_BUILTIN(__builtin_lsx_vorn_v, "V16UcV16UcV16Uc", "nc", "lsx")
359359

360360
TARGET_BUILTIN(__builtin_lsx_vandi_b, "V16UcV16UcIUi", "nc", "lsx")
361361
TARGET_BUILTIN(__builtin_lsx_vori_b, "V16UcV16UcIUi", "nc", "lsx")

clang/lib/Headers/lasxintrin.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2585,7 +2585,7 @@ extern __inline
25852585
extern __inline
25862586
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i
25872587
__lasx_xvorn_v(__m256i _1, __m256i _2) {
2588-
return (__m256i)__builtin_lasx_xvorn_v((v32i8)_1, (v32i8)_2);
2588+
return (__m256i)__builtin_lasx_xvorn_v((v32u8)_1, (v32u8)_2);
25892589
}
25902590

25912591
#define __lasx_xvldi(/*i13*/ _1) ((__m256i)__builtin_lasx_xvldi((_1)))

clang/lib/Headers/lsxintrin.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3425,7 +3425,7 @@ extern __inline
34253425
extern __inline
34263426
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
34273427
__lsx_vorn_v(__m128i _1, __m128i _2) {
3428-
return (__m128i)__builtin_lsx_vorn_v((v16i8)_1, (v16i8)_2);
3428+
return (__m128i)__builtin_lsx_vorn_v((v16u8)_1, (v16u8)_2);
34293429
}
34303430

34313431
#define __lsx_vldi(/*i13*/ _1) ((__m128i)__builtin_lsx_vldi((_1)))

0 commit comments

Comments
 (0)