open-power-sdk / pveclib

Power Vector Library
Apache License 2.0
29 stars 8 forks source link

Update Float128 multiply with round to odd for P8. V2. #168

Closed munroesj52 closed 2 years ago

munroesj52 commented 2 years ago

Power9 provide round to odd versions for the QP arithmetic operations. This patch provides an update P9/8 implementation for multiply QP with round to odd. This version includes optimization in constant loading and logic simplification.

* src/pveclib/vec_f128_ppc.h: Doxygen text updated representing
improved performancer/cycle times.
(vec_all_isinff128): Doxygen text updated representing
improved cycle times.
(vec_xscvuqqp): Doxygen text updated representing
improved cycle times.
(vec_xsmulqpo): Update from vec_f128_dummy.c test_vec_mulqpo
implementation.

* src/testsuite/vec_f128_dummy.c (test_vec_mulqpo):
Clean mulqpo implementation derived from test_vec_mulqpo_V7.
(test_vec_mulqpo_V7): Additional mulqpo optimiations derived
from test_vec_mulqpo_V6.
(test_vec_xxxsigqpp_V1, test_vec_xxxsigqpp_V2,
test_vec_xxxsigqpp_V3): New compile tests.

* src/testsuite/vec_pwr9_dummy.c
(__test_muludq_karatsuba_PWR9): New compile test.

Signed-off-by: Steven Munroe munroesj52@gmail.com

munroesj52 commented 2 years ago

Ten+ days, committing to move on.