LoongArch: Make __builtin_lsx_vorn_v and __builtin_lasx_xvorn_v arguments and...
LoongArch: Make __builtin_lsx_vorn_v and __builtin_lasx_xvorn_v arguments and return values unsigned Align them with other vector bitwise builtins. This may break programs directly invoking __builtin_lsx_vorn_v or __builtin_lasx_xvorn_v, but doing so is not supported (as builtins are not documented, only intrinsics are documented and users should use them instead). gcc/ChangeLog: * config/loongarch/loongarch-builtins.cc (vorn_v, xvorn_v): Use unsigned vector modes. * config/loongarch/lsxintrin.h (__lsx_vorn_v): Cast arguments to v16u8. * config/loongarch/lasxintrin.h (__lasx_xvorn_v): Cast arguments to v32u8. gcc/testsuite/ChangeLog: * gcc.target/loongarch/vector/lsx/lsx-builtin.c (__lsx_vorn_v): Change arguments and return value to v16u8. * gcc.target/loongarch/vector/lasx/lasx-builtin.c (__lasx_xvorn_v): Change arguments and return value to v32u8.
Showing
- gcc/config/loongarch/lasxintrin.h 2 additions, 2 deletionsgcc/config/loongarch/lasxintrin.h
- gcc/config/loongarch/loongarch-builtins.cc 2 additions, 2 deletionsgcc/config/loongarch/loongarch-builtins.cc
- gcc/config/loongarch/lsxintrin.h 2 additions, 2 deletionsgcc/config/loongarch/lsxintrin.h
- gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-builtin.c 2 additions, 2 deletions...testsuite/gcc.target/loongarch/vector/lasx/lasx-builtin.c
- gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-builtin.c 2 additions, 2 deletionsgcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-builtin.c
Loading
Please register or sign in to comment