rs6000: Add Power10 optimization for most _mm_movemask*
authorPaul A. Clarke <pc@us.ibm.com>
Thu, 21 Oct 2021 16:21:01 +0000 (11:21 -0500)
committerPaul A. Clarke <pc@us.ibm.com>
Mon, 29 Nov 2021 15:50:43 +0000 (09:50 -0600)
commit85289ba36c2e62de84cc0232c954d9a74bda708a
treebb3219e79688decd1413717a3e9b5e88b7246cf4
parente2194a8b39251497d770abf3fb6ee06de6072ed9
rs6000: Add Power10 optimization for most _mm_movemask*

Power10 ISA added `vextract*` instructions which are realized in the
`vec_extractm` instrinsic.

Use `vec_extractm` for `_mm_movemask_ps`, `_mm_movemask_pd`, and
`_mm_movemask_epi8` compatibility intrinsics, when `_ARCH_PWR10`.

2021-11-29  Paul A. Clarke  <pc@us.ibm.com>

gcc
* config/rs6000/xmmintrin.h (_mm_movemask_ps): Use vec_extractm
when _ARCH_PWR10.
* config/rs6000/emmintrin.h (_mm_movemask_pd): Likewise.
(_mm_movemask_epi8): Likewise.
gcc/config/rs6000/emmintrin.h
gcc/config/rs6000/xmmintrin.h