The initial P10 code used inline asm as the GCC intrinsic support was not complete. With the latest compilers vector intrinsic are (mostly) complete. It is better to use the vector instinsics when available.
* src/pveclib/vec_char_ppc.h (vec_absdub): Use vec_absdb intrinsic, if defined. (vec_setb_sb [__GNUC__ >= 12]): Use vec_expandm intrinsic for GCC 12 and later.
* src/pveclib/vec_f128_ppc.h (vec_xscvuqqp, vec_xsmaddqpo, vec_xsmaddqpo_inline, vec_xsmsubqpo): Update doxygen comments.
* src/pveclib/vec_int128_ppc.h (vec_msumcud [__GNUC__ >= 12]): Use vec_msumc intrinsic for GCC 12 and later. (vec_msumudm [__GNUC__ >= 12]): Use vec_msum intrinsic for GCC 12 and later. (vec_mulhud [__GNUC__ >= 12]): Use vec_mulh intrinsic for GCC 12 and later. (vec_muloud): Update doxygen comments. (vec_muludm [__GNUC__ >= 12]): Use vec_mul intrinsic for GCC 12 and later. (vec_rlq [__GNUC__ >= 12]): Use vec_rl intrinsic for GCC 12 and later. (vec_rlqi [__GNUC__ >= 12]): Use vec_rl intrinsic for GCC 12 and later. (vec_setb_sq [__GNUC__ >= 12]): Use vec_expandm intrinsic for GCC 12 and later. (vec_slq [__GNUC__ >= 12]): Use vec_sl intrinsic for GCC 12 and later. (vec_slqi [__GNUC__ >= 12]): Use vec_sl intrinsic for GCC 12 and later. (vec_sraq [__GNUC__ >= 12]): Use vec_sra intrinsic for GCC 12 and later. (vec_sraqi [__GNUC__ >= 12]): Use vec_sra intrinsic for GCC 12 and later. (vec_srq [__GNUC__ >= 12]): Use vec_sr intrinsic for GCC 12 and later. (vec_srqi [__GNUC__ >= 12]): Use vec_sr intrinsic for GCC 12 and later. (vec_subcuq [__GNUC__ >= 12]): Use vec_subc intrinsic for GCC 12 and later. (vec_subecuq [__GNUC__ >= 12]): Use vec_subec intrinsic for GCC 12 and later. (vec_subeuqm [__GNUC__ >= 12]): Use vec_sube intrinsic for GCC 12 and later. (vec_subuqm [__GNUC__ >= 12]): Use vec_sub intrinsic for GCC 12 and later. (vec_vmuleud [_ARCH_PWR10 && (__GNUC__ >= 10]): Use vec_mule/vec_mulo intrinsic for GCC 12 and later. [_ARCH_PWR9 && (__GNUC__ >= 12]: Use vec_msub intrinsic for GCC 12 and later. (vec_vmuloud [_ARCH_PWR10 && (__GNUC__ >= 10]): Use vec_mule/vec_mulo intrinsic for GCC 12 and later. [_ARCH_PWR9 && (__GNUC__ >= 12]: Use vec_msub intrinsic for GCC 12 and later. (vec_vsldbi [__GNUC__ >= 12]): Use vec_sldb intrinsic for GCC 12 and later. (vec_vsrdbi [__GNUC__ >= 12]): Use vec_srdb intrinsic for GCC 12 and later.
* src/pveclib/vec_int16_ppc.h (vec_setb_sh [__GNUC__ >= 12]): Use vec_expandm intrinsic for GCC 12 and later.
* src/pveclib/vec_int32_ppc.h (vec_setb_sw [__GNUC__ >= 12]): Use vec_expandm intrinsic for GCC 12 and later. (vec_vmadd2euw, vec_vmadd2ouw, vec_vmaddeuw, vec_vmaddouw, vec_vmsumuwm): Correct doxygen syntax for copybrief.
* src/pveclib/vec_int512_ppc.h: Update doxygen note.
* src/testsuite/arith128_test_bcd.c (test_setb_bcdinv): Annotate check failure text with testcase number. (test_bcd_cadde256): Annotate check failure text with testcase number. (test_bcd_caddec256): Annotate check failure text with testcase number.
The initial P10 code used inline asm as the GCC intrinsic support was not complete. With the latest compilers vector intrinsic are (mostly) complete. It is better to use the vector instinsics when available.