Re: [PATCH v2, rs6000] Change insn condition from TARGET_64BIT to TARGET_POWERPC64 for VSX scalar extract/insert instructions

2022-09-07 Thread Paul A. Clarke via Gcc-patches
On Tue, Sep 06, 2022 at 12:19:06PM -0500, Segher Boessenkool wrote: > On Mon, Sep 05, 2022 at 02:36:30PM +0800, HAO CHEN GUI wrote: > > On 2/9/2022 下午 11:56, Segher Boessenkool wrote: > > >> - const signed long __builtin_vsx_scalar_extract_exp (double); > > >> + const unsigned long long __builtin

[PATCH COMMITTED] Revert move of g++.dg/pr69667.C

2022-05-18 Thread Paul A. Clarke via Gcc-patches
Commit eccbd7fcee5bbfc47731e8de83c44eee2e3dcc4b moved the subject file to g++.target/powerpc. Unfortunately, test g++.dg/tsan/pr88018.C includes "../pr69667.C". Revert the move of this file. Commit 14e678a2c4a76433fd4029568d28530c921e11ee relaxed some DejaGnu directives in g++.dg/tsan/pr88018.C,

Re: [COMMITTED] rs6000: Remove a few needless 'lp64' contraints.

2022-05-13 Thread Paul A. Clarke via Gcc-patches
On Thu, May 12, 2022 at 05:30:16PM -0500, Segher Boessenkool wrote: > On Mon, Apr 18, 2022 at 12:15:35PM -0500, Paul A. Clarke wrote: > > A few tests need not be restricted to 'lp64', so remove the restriction. > > > > A few of those need a simple change to the DejaGnu directives to suppress > > '

Re: [COMMITTED] rs6000: Move g++.dg powerpc PR tests to g++.target

2022-05-13 Thread Paul A. Clarke via Gcc-patches
> On 12 May 2022, at 23:38, Segher Boessenkool > wrote: > On Mon, Apr 18, 2022 at 12:15:34PM -0500, Paul A. Clarke wrote: >> -/* { dg-skip-if "" { powerpc*-*-darwin* } } */ >> +/* Never tested on darwin, so skip there. */ >> +/* { dg-skip-if "" { *-*-darwin* } } */ > > That is probably the reas

Re: [PING PATCH v3 0/2] rs6000: Move g++.dg powerpc tests to g++.target

2022-05-12 Thread Paul A. Clarke via Gcc-patches
ping On Mon, Apr 18, 2022 at 12:15:33PM -0500, Paul A. Clarke via Gcc-patches wrote: > v3: moved "not tested on Darwin" changes into 1/2, where they belong. > > v2: > - v1 patches 1/3 and 2/3 have been merged after reviews / approval. > - Previous 3/3 is now 1/2, and n

PING [PATCH] Fix 'modff' reference in extend.texi

2022-04-22 Thread Paul A. Clarke via Gcc-patches
On Mon, Apr 11, 2022 at 11:23:48AM -0500, Paul A. Clarke via Gcc-patches wrote: > In commit a2a919aa501e3 (2003), built-ins for modf and modff were added. > In extend.texi, section "Other Builtins", "modf" was added to the paragraph > "There are also built-in

[COMMITTED] docs: Correct "This functions" to "These functions"

2022-04-22 Thread Paul A. Clarke via Gcc-patches
2022-04-22 Paul A. Clarke gcc * doc/extend.texi: Correct "This" to "These". --- Committed as trivial/obvious. gcc/doc/extend.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index e10b10bc1f14..931e5ae3769f 100644 --- a

[PATCH v3 1/2] rs6000: Move g++.dg powerpc PR tests to g++.target

2022-04-18 Thread Paul A. Clarke via Gcc-patches
Also adjust DejaGnu directives, as specifically requiring "powerpc*-*-*" is no longer required. 2021-04-18 Paul A. Clarke gcc/testsuite * g++.dg/pr65240.h: Move to g++.target/powerpc. * g++.dg/pr93974.C: Likewise. * g++.dg/pr65240-1.C: Move to g++.target/powerpc, adjust

[PATCH v3 2/2] rs6000: Remove a few needless 'lp64' contraints.

2022-04-18 Thread Paul A. Clarke via Gcc-patches
A few tests need not be restricted to 'lp64', so remove the restriction. A few of those need a simple change to the DejaGnu directives to suppress '-mcmodel' flags for '-m32'. 2022-04-18 Paul A. Clarke gcc/testsuite * g++.target/powerpc/pr65240-1.C: Adjust DejaGnu directives.

[PATCH v3 0/2] rs6000: Move g++.dg powerpc tests to g++.target

2022-04-18 Thread Paul A. Clarke via Gcc-patches
v3: moved "not tested on Darwin" changes into 1/2, where they belong. v2: - v1 patches 1/3 and 2/3 have been merged after reviews / approval. - Previous 3/3 is now 1/2, and new 2/2 is per review from Segher... Some tests in g++.dg are target-specific for powerpc. Move those to g++.target/powerpc.

[PATCH v2 1/2] rs6000: Move g++.dg powerpc PR tests to g++.target

2022-04-18 Thread Paul A. Clarke via Gcc-patches
Also adjust DejaGnu directives, as specifically requiring "powerpc*-*-*" is no longer required. 2021-04-18 Paul A. Clarke gcc/testsuite * g++.dg/pr65240.h: Move to g++.target/powerpc. * g++.dg/pr93974.C: Likewise. * g++.dg/pr65240-1.C: Move to g++.target/powerpc, adjust

[PATCH v2 2/2] rs6000: Remove a few needless 'lp64' contraints.

2022-04-18 Thread Paul A. Clarke via Gcc-patches
A few tests need not be restricted to 'lp64', so remove the restriction. A few of those need a simple change to the DejaGnu directives to suppress '-mcmodel' flags for '-m32'. 2022-04-18 Paul A. Clarke gcc/testsuite * g++.target/powerpc/pr65240-1.C: Adjust DejaGnu directives.

[PATCH v2 0/2] rs6000: Move g++.dg powerpc tests to g++.target

2022-04-18 Thread Paul A. Clarke via Gcc-patches
V1 patches 1/3 and 2/3 have been merged after reviews / approval. Previous 3/3 is now 1/2, and new 2/2 is per review from Segher... Some tests in g++.dg are target-specific for powerpc. Move those to g++.target/powerpc. Update the DejaGnu directives as needed, since the target restriction is perh

[PATCH] Fix 'modff' reference in extend.texi

2022-04-11 Thread Paul A. Clarke via Gcc-patches
In commit a2a919aa501e3 (2003), built-ins for modf and modff were added. In extend.texi, section "Other Builtins", "modf" was added to the paragraph "There are also built-in versions of the ISO C99 functions [...]" and "modf" was also added to the paragraph "The ISO C90 functions [...]". "modff" wa

Re: [PING^2 PATCH 3/3] rs6000: Move more g++.dg powerpc tests to g++.target

2022-03-29 Thread Paul A. Clarke via Gcc-patches
Ping. On Tue, Mar 08, 2022 at 01:59:47PM -0600, Paul A. Clarke via Gcc-patches wrote: > Ping. > > On Mon, Feb 21, 2022 at 03:17:47PM -0600, Paul A. Clarke via Gcc-patches > wrote: > > Also adjust DejaGnu directives, as specifically requiring "powerpc*-*-*" is

Re: [PING^2 PATCH 2/3] rs6000: Move g++.dg powerpc PR tests to g++.target

2022-03-29 Thread Paul A. Clarke via Gcc-patches
Ping. On Tue, Mar 08, 2022 at 02:03:04PM -0600, Paul A. Clarke via Gcc-patches wrote: > Gentle ping. I am grateful for the initial review, but seek closure on the > final couple of discussion items. Thanks! > > PC > > On Tue, Feb 22, 2022 at 07:56:40PM -0600, Paul A. Clar

Re: [PATCH] rs6000: Skip overload instances with NULL fntype [PR104967]

2022-03-23 Thread Paul A. Clarke via Gcc-patches
On Wed, Mar 23, 2022 at 05:33:21PM +0800, Kewen.Lin via Gcc-patches wrote: > As shown in PR104967, for some overload built-in function instance, > if it requires a date type which isn't defined on the target, its nit: s/date/data/ > fntype would be initialized as NULL. This patch is to consider

Re: [PING PATCH 2/3] rs6000: Move g++.dg powerpc PR tests to g++.target

2022-03-08 Thread Paul A. Clarke via Gcc-patches
Gentle ping. I am grateful for the initial review, but seek closure on the final couple of discussion items. Thanks! PC On Tue, Feb 22, 2022 at 07:56:40PM -0600, Paul A. Clarke via Gcc-patches wrote: > On Tue, Feb 22, 2022 at 06:41:45PM -0600, Segher Boessenkool wrote: > > On Mon, Feb

Re: [PING PATCH 3/3] rs6000: Move more g++.dg powerpc tests to g++.target

2022-03-08 Thread Paul A. Clarke via Gcc-patches
Ping. On Mon, Feb 21, 2022 at 03:17:47PM -0600, Paul A. Clarke via Gcc-patches wrote: > Also adjust DejaGnu directives, as specifically requiring "powerpc*-*-*" is no > longer required. > > 2021-02-21 Paul A. Clarke > > gcc/testsuite > * g++.dg/debug/dwar

Re: [PATCH 2/3] rs6000: Move g++.dg powerpc PR tests to g++.target

2022-02-22 Thread Paul A. Clarke via Gcc-patches
On Tue, Feb 22, 2022 at 06:41:45PM -0600, Segher Boessenkool wrote: > On Mon, Feb 21, 2022 at 03:17:46PM -0600, Paul A. Clarke wrote: > > Also adjust DejaGnu directives, as specifically requiring "powerpc*-*-*" is > > no > > longer required. > > > > 2021-02-21 Paul A. Clarke > > > > gcc/tests

Re: [PATCH 0/3] rs6000: Move g++.dg powerpc tests to g++.target

2022-02-22 Thread Paul A. Clarke via Gcc-patches
On Tue, Feb 22, 2022 at 12:28:56PM -0600, Segher Boessenkool wrote: > On Mon, Feb 21, 2022 at 03:17:44PM -0600, Paul A. Clarke wrote: > > Some tests in g++.dg are target-specific for powerpc. Move those to > > g++.target/powerpc. Update the DejaGnu directives as needed, since > > the target restric

[PATCH 3/3] rs6000: Move more g++.dg powerpc tests to g++.target

2022-02-21 Thread Paul A. Clarke via Gcc-patches
Also adjust DejaGnu directives, as specifically requiring "powerpc*-*-*" is no longer required. 2021-02-21 Paul A. Clarke gcc/testsuite * g++.dg/debug/dwarf2/const2.C: Move to g++.target/powerpc. * g++.dg/other/darwin-minversion-1.C: Likewise. * g++.dg/eh/ppc64-sighandl

[PATCH 1/3] rs6000: Move g++.dg/ext powerpc tests to g++.target

2022-02-21 Thread Paul A. Clarke via Gcc-patches
Also adjust DejaGnu directives, as specifically requiring "powerpc*-*-*" is no longer required. 2021-02-21 Paul A. Clarke gcc/testsuite * g++.dg/ext/altivec-1.C: Move to g++.target/powerpc, adjust dg directives. * g++.dg/ext/altivec-2.C: Likewise. * g++.dg/ext/a

[PATCH 2/3] rs6000: Move g++.dg powerpc PR tests to g++.target

2022-02-21 Thread Paul A. Clarke via Gcc-patches
Also adjust DejaGnu directives, as specifically requiring "powerpc*-*-*" is no longer required. 2021-02-21 Paul A. Clarke gcc/testsuite * g++.dg/pr65240.h: Move to g++.target/powerpc. * g++.dg/pr93974.C: Likewise. * g++.dg/pr65240-1.C: Move to g++.target/powerpc, adjust

[PATCH 0/3] rs6000: Move g++.dg powerpc tests to g++.target

2022-02-21 Thread Paul A. Clarke via Gcc-patches
Some tests in g++.dg are target-specific for powerpc. Move those to g++.target/powerpc. Update the DejaGnu directives as needed, since the target restriction is perhaps no longer needed when residing in the target-specific powerpc subdirectory. Tested with Linux on Power9, full "make check". OK f

Re: [PATCH] rs6000: Fix up #include or [PR104239]

2022-01-27 Thread Paul A. Clarke via Gcc-patches
On Wed, Jan 26, 2022 at 03:50:35PM -0500, David Edelsohn via Gcc-patches wrote: > On Wed, Jan 26, 2022 at 3:45 PM Jakub Jelinek wrote: > > r12-4717-g7d37abedf58d66 added immintrin.h and x86gprintrin.h headers > > to rs6000, these headers are on x86 standalone headers that various > > programs incl

[v2 COMMITTED] rs6000: Add Power10 optimization for _mm_blendv*

2022-01-10 Thread Paul A. Clarke via Gcc-patches
This is the patch that was committed. Thanks for the review! --- Power10 ISA added `xxblendv*` instructions which are realized in the `vec_blendv` instrinsic. Use `vec_blendv` for `_mm_blendv_epi8`, `_mm_blendv_ps`, and `_mm_blendv_pd` compatibility intrinsics, when `_ARCH_PWR10`. Update original

Re: [PATCH] rs6000: Add optimizations for _mm_sad_epu8

2022-01-07 Thread Paul A. Clarke via Gcc-patches
On Fri, Jan 07, 2022 at 02:40:51PM -0500, David Edelsohn via Gcc-patches wrote: > +#ifdef __LITTLE_ENDIAN__ > + /* Sum across four integers with two integer results. */ > + asm ("vsum2sws %0,%1,%2" : "=v" (result) : "v" (vsum), "v" (zero)); > + /* Note: vec_sum2s could be used here, but on litt

Re: [PATCH] rs6000: Add Power10 optimization for most _mm_movemask*

2022-01-07 Thread Paul A. Clarke via Gcc-patches
On Fri, Jan 07, 2022 at 02:23:14PM -0500, David Edelsohn wrote: > > 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 `_A

Re: [PATCH] rs6000: Add Power10 optimization for _mm_blendv*

2022-01-07 Thread Paul A. Clarke via Gcc-patches
On Fri, Jan 07, 2022 at 02:15:22PM -0500, David Edelsohn wrote: > > Power10 ISA added `xxblendv*` instructions which are realized in the > > `vec_blendv` instrinsic. > > > > Use `vec_blendv` for `_mm_blendv_epi8`, `_mm_blendv_ps`, and > > `_mm_blendv_pd` compatibility intrinsics, when `_ARCH_PWR10`

Re: [PING^3 PATCH] rs6000: Add Power10 optimization for _mm_blendv*

2022-01-07 Thread Paul A. Clarke via Gcc-patches
On Thu, Nov 18, 2021 at 08:25:35PM -0600, Paul A. Clarke via Gcc-patches wrote: > On Mon, Nov 08, 2021 at 11:42:27AM -0600, Paul A. Clarke via Gcc-patches > wrote: > > Gentle ping... > > Gentle re-ping. Gentle re-re-ping. > > On Wed, Oct 20, 2021 at 08:42:07PM -0500

Re: [PING^4 PATCH v4 2/3] rs6000: Support SSE4.1 "round" intrinsics

2022-01-03 Thread Paul A. Clarke via Gcc-patches
On Thu, Nov 18, 2021 at 08:24:52PM -0600, Paul A. Clarke via Gcc-patches wrote: > On Mon, Nov 08, 2021 at 11:40:42AM -0600, Paul A. Clarke via Gcc-patches > wrote: > > On Tue, Oct 26, 2021 at 03:00:11PM -0500, Paul A. Clarke via Gcc-patches > > wrote: > > > Pa

[COMMITTED] rs6000: Fix errant "vector" instead of "__vector"

2021-12-06 Thread Paul A. Clarke via Gcc-patches
Committed as trivial and obvious. Fixes 85289ba36c2e62de84cc0232c954d9a74bda708a. 2021-12-06 Paul A. Clarke gcc PR target/103545 * config/rs6000/xmmintrin.h (_mm_movemask_ps): Replace "vector" with "__vector". --- gcc/config/rs6000/xmmintrin.h | 2 +- 1 file changed,

Re: [PING^2 PATCH] rs6000: Add optimizations for _mm_sad_epu8

2021-11-18 Thread Paul A. Clarke via Gcc-patches
On Mon, Nov 08, 2021 at 11:43:26AM -0600, Paul A. Clarke via Gcc-patches wrote: > Gentle ping... Gentle re-ping. > On Fri, Oct 22, 2021 at 12:28:49PM -0500, Paul A. Clarke via Gcc-patches > wrote: > > Power9 ISA added `vabsdub` instruction which is realized in the > >

Re: [PING^2 PATCH] rs6000: Add Power10 optimization for most _mm_movemask*

2021-11-18 Thread Paul A. Clarke via Gcc-patches
On Mon, Nov 08, 2021 at 11:42:56AM -0600, Paul A. Clarke via Gcc-patches wrote: > Gentle ping... Gentle re-ping. > On Thu, Oct 21, 2021 at 12:22:12PM -0500, Paul A. Clarke via Gcc-patches > wrote: > > Power10 ISA added `vextract*` instructions which are realized in the &g

Re: [PING^2 PATCH] rs6000: Add Power10 optimization for _mm_blendv*

2021-11-18 Thread Paul A. Clarke via Gcc-patches
On Mon, Nov 08, 2021 at 11:42:27AM -0600, Paul A. Clarke via Gcc-patches wrote: > Gentle ping... Gentile re-ping. > On Wed, Oct 20, 2021 at 08:42:07PM -0500, Paul A. Clarke via Gcc-patches > wrote: > > Power10 ISA added `xxblendv*` instructions which are realized in the

Re: [PING^3 PATCH v4 2/3] rs6000: Support SSE4.1 "round" intrinsics

2021-11-18 Thread Paul A. Clarke via Gcc-patches
On Mon, Nov 08, 2021 at 11:40:42AM -0600, Paul A. Clarke via Gcc-patches wrote: > On Tue, Oct 26, 2021 at 03:00:11PM -0500, Paul A. Clarke via Gcc-patches > wrote: > > Patches 1/3 and 3/3 have been committed. > > This is only a ping for 2/3. > > Gentle re-ping. Gentle

Re: [PATCH] rs6000: Better error messages for power8/9-vector builtins

2021-11-17 Thread Paul A. Clarke via Gcc-patches
On Wed, Nov 17, 2021 at 02:00:02PM -0600, Segher Boessenkool wrote: > On Wed, Nov 17, 2021 at 11:45:02AM -0600, Paul A. Clarke wrote: > > I guess I'm being pedantic. "requires -mcpu=power8 and -mvsx" is not > > accurate from a user's point a view, as "-mcpu=power8" is sufficient, > > since "-mvsx"

Re: [PATCH] rs6000: Better error messages for power8/9-vector builtins

2021-11-17 Thread Paul A. Clarke via Gcc-patches
On Wed, Nov 17, 2021 at 11:00:07AM -0600, Bill Schmidt via Gcc-patches wrote: > On 11/17/21 10:54 AM, Paul A. Clarke wrote: > > On Tue, Nov 16, 2021 at 11:12:35AM -0600, Bill Schmidt via Gcc-patches > > wrote: > >> Hi! During a previous patch review, Segher asked that I provide better > >> messag

Re: [PATCH] rs6000: Better error messages for power8/9-vector builtins

2021-11-17 Thread Paul A. Clarke via Gcc-patches
On Tue, Nov 16, 2021 at 11:12:35AM -0600, Bill Schmidt via Gcc-patches wrote: > Hi! During a previous patch review, Segher asked that I provide better > messages when builtins are unavailable because they require both a minimum > CPU and the enablement of VSX instructions. This patch does just th

[PING PATCH] rs6000: Add optimizations for _mm_sad_epu8

2021-11-08 Thread Paul A. Clarke via Gcc-patches
Gentle ping... On Fri, Oct 22, 2021 at 12:28:49PM -0500, Paul A. Clarke via Gcc-patches wrote: > Power9 ISA added `vabsdub` instruction which is realized in the > `vec_absd` instrinsic. > > Use `vec_absd` for `_mm_sad_epu8` compatibility intrinsic, when > `_ARCH_PWR9`. > >

[PING PATCH] rs6000: Add Power10 optimization for most _mm_movemask*

2021-11-08 Thread Paul A. Clarke via Gcc-patches
Gentle ping... On Thu, Oct 21, 2021 at 12:22:12PM -0500, Paul A. Clarke via Gcc-patches wrote: > Power10 ISA added `vextract*` instructions which are realized in the > `vec_extractm` instrinsic. > > Use `vec_extractm` for `_mm_movemask_ps`, `_mm_movemask_pd`, and > `_m

[PING PATCH] rs6000: Add Power10 optimization for _mm_blendv*

2021-11-08 Thread Paul A. Clarke via Gcc-patches
Gentle ping... On Wed, Oct 20, 2021 at 08:42:07PM -0500, Paul A. Clarke via Gcc-patches wrote: > Power10 ISA added `xxblendv*` instructions which are realized in the > `vec_blendv` instrinsic. > > Use `vec_blendv` for `_mm_blendv_epi8`, `_mm_blendv_ps`, and > `_mm_blendv_pd

Re: [PING^2 PATCH v4 2/3] rs6000: Support SSE4.1 "round" intrinsics

2021-11-08 Thread Paul A. Clarke via Gcc-patches
On Tue, Oct 26, 2021 at 03:00:11PM -0500, Paul A. Clarke via Gcc-patches wrote: > Patches 1/3 and 3/3 have been committed. > This is only a ping for 2/3. Gentle re-ping. > On Mon, Oct 18, 2021 at 08:15:11PM -0500, Paul A. Clarke via Gcc-patches > wrote: > > Suppress exceptio

Re: [PING PATCH v4 2/3] rs6000: Support SSE4.1 "round" intrinsics

2021-10-26 Thread Paul A. Clarke via Gcc-patches
Patches 1/3 and 3/3 have been committed. This is only a ping for 2/3. On Mon, Oct 18, 2021 at 08:15:11PM -0500, Paul A. Clarke via Gcc-patches wrote: > Suppress exceptions (when specified), by saving, manipulating, and > restoring the FPSCR. Similarly, save, set, and restore the floating

Re: [PATCH v2 COMMITTED] rs6000: Fixes for tests including only

2021-10-26 Thread Paul A. Clarke via Gcc-patches
On Mon, Oct 25, 2021 at 05:32:51PM -0500, Segher Boessenkool wrote: > On Mon, Oct 25, 2021 at 03:33:21PM -0500, Paul A. Clarke wrote: > > * config/rs6000/x86intrin.h: Move some included headers to new > > headers; include new immintrin.h instead. > > s/; i/. I/ (And instead of what?) >

[PATCH] rs6000: Fixes for tests including only

2021-10-25 Thread Paul A. Clarke via Gcc-patches
Tests which only include expect many other include files to be brought in, but not enough are. Try to increase compatibility with x86 headers by: - Create new immintrin.h, including the analogous subset of intrinsics headers available for powerpc. - Create new x86gprintrin.h, serving exclusivel

[COMMITTED] rs6000: Fix missing "externs" in smmintrin.h

2021-10-25 Thread Paul A. Clarke via Gcc-patches
Inline functions defined in smmintrin.h need "extern" as part of their declaration, otherwise instances of those functions are created in the objects which include them. Fixes commits: - acd4b9103c1a30c833de4eee31fb69c3ff13cd77 - 9d352c68e8c8b642a36a6bcfc7f6b5dba11ac748 - bd9a8737d478f7f1d01a9d5f1

[PATCH] rs6000: Add optimizations for _mm_sad_epu8

2021-10-22 Thread Paul A. Clarke via Gcc-patches
Power9 ISA added `vabsdub` instruction which is realized in the `vec_absd` instrinsic. Use `vec_absd` for `_mm_sad_epu8` compatibility intrinsic, when `_ARCH_PWR9`. Also, the realization of `vec_sum2s` on little-endian includes two shifts in order to position the input and output to match the sem

[PATCH] rs6000: Add Power10 optimization for most _mm_movemask*

2021-10-21 Thread Paul A. Clarke via Gcc-patches
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-10-21 Paul A. Clarke gcc * config/rs6000/xmmintrin.h

[PATCH] rs6000: Add Power10 optimization for _mm_blendv*

2021-10-20 Thread Paul A. Clarke via Gcc-patches
Power10 ISA added `xxblendv*` instructions which are realized in the `vec_blendv` instrinsic. Use `vec_blendv` for `_mm_blendv_epi8`, `_mm_blendv_ps`, and `_mm_blendv_pd` compatibility intrinsics, when `_ARCH_PWR10`. Also, copy a test from i386 for testing `_mm_blendv_ps`. This should have come w

Re: [PATCH v4 3/3] rs6000: Guard some x86 intrinsics implementations

2021-10-19 Thread Paul A. Clarke via Gcc-patches
On Tue, Oct 19, 2021 at 09:32:20AM -0500, Segher Boessenkool wrote: > On Mon, Oct 18, 2021 at 08:15:12PM -0500, Paul A. Clarke via Gcc-patches > wrote: > > Some compatibility implementations of x86 intrinsics include > > Power intrinsics which require POWER8. Guard them.

[PATCH v4 2/3] rs6000: Support SSE4.1 "round" intrinsics

2021-10-18 Thread Paul A. Clarke via Gcc-patches
Suppress exceptions (when specified), by saving, manipulating, and restoring the FPSCR. Similarly, save, set, and restore the floating-point rounding mode when required. No attempt is made to optimize writing the FPSCR (by checking if the new value would be the same), other than using lighter wei

[PATCH v4 3/3] rs6000: Guard some x86 intrinsics implementations

2021-10-18 Thread Paul A. Clarke via Gcc-patches
Some compatibility implementations of x86 intrinsics include Power intrinsics which require POWER8. Guard them. emmintrin.h: - _mm_cmpord_pd: Remove code which was ostensibly for pre-POWER8, but which indeed depended on POWER8 (vec_cmpgt(v2du)/vcmpgtud). The "POWER8" version works fine on pre

[PATCH v4 1/3] rs6000: Add nmmintrin.h to extra_headers

2021-10-18 Thread Paul A. Clarke via Gcc-patches
Fix an ommission in commit 29fb1e831bf1c25e4574bf2f98a9f534e5c67665. 2021-10-18 Paul A. Clarke gcc * config/config.gcc (extra_headers): Add nmmintrin.h. --- gcc/config.gcc | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/config.gcc b/gcc/config.gcc index aa5bd5d14590..1cb9303b3

[PATCH v4 0/3] rs6000: Support more SSE4 intrinsics

2021-10-18 Thread Paul A. Clarke via Gcc-patches
v4: - Of original 6 patches in this series, I committed patches 2-5. - Found an issue from v3. New file "nmmintrin.h" also needs to be added to gcc/config.gcc "extra_headers". Unfortunately, I discovered this after committing the patch which added "nmmintrin.h", so I've added a new patch here. - A

Re: [PATCH v3 1/6] rs6000: Support SSE4.1 "round" intrinsics

2021-10-18 Thread Paul A. Clarke via Gcc-patches
On Tue, Oct 12, 2021 at 05:25:32PM -0500, Segher Boessenkool wrote: > On Tue, Oct 12, 2021 at 02:35:57PM -0500, Paul A. Clarke wrote: > > static __inline __attribute__ ((__always_inline__)) void > > libc_feholdsetround_ppc_ctx (struct rm_ctx *ctx, int r) > > { > > fenv_union_t old; > > register

Re: [PATCH v3 6/6] rs6000: Guard some x86 intrinsics implementations

2021-10-18 Thread Paul A. Clarke via Gcc-patches
On Wed, Oct 13, 2021 at 06:47:21PM -0500, Segher Boessenkool wrote: > On Wed, Oct 13, 2021 at 12:04:39PM -0500, Paul A. Clarke wrote: > > On Mon, Oct 11, 2021 at 07:11:13PM -0500, Segher Boessenkool wrote: > > > > - _mm_mul_epu32: vec_mule(v4su) uses vmuleuw. > > > > > > Did this fail on p7? If n

Re: [PATCH v3 6/6] rs6000: Guard some x86 intrinsics implementations

2021-10-13 Thread Paul A. Clarke via Gcc-patches
On Mon, Oct 11, 2021 at 07:11:13PM -0500, Segher Boessenkool wrote: > On Mon, Aug 23, 2021 at 02:03:10PM -0500, Paul A. Clarke wrote: > > Some compatibility implementations of x86 intrinsics include > > Power intrinsics which require POWER8. Guard them. > > > emmintrin.h: > > - _mm_cmpord_pd: Rem

Re: [PATCH v3 1/6] rs6000: Support SSE4.1 "round" intrinsics

2021-10-12 Thread Paul A. Clarke via Gcc-patches
On Mon, Oct 11, 2021 at 05:04:12PM -0500, Segher Boessenkool wrote: > On Mon, Oct 11, 2021 at 12:31:07PM -0500, Paul A. Clarke wrote: > > On Mon, Oct 11, 2021 at 11:28:39AM -0500, Segher Boessenkool wrote: > > > > Very similar methods are used in glibc today. Are those broken? > > > > > > Maybe. >

[COMMITTED] rs6000: Correct several errant dg-require-effective-target

2021-10-11 Thread Paul A. Clarke via Gcc-patches
I misspelled the dg-require-effective-target attribute "vsx_hw" in recent commits, causing the effected tests to fail. Correct the spelling. 2021-10-11 Paul A. Clarke gcc/testsuite * gcc.target/powerpc/pr78102.c: Fix dg-require-effective-target. * gcc.target/powerpc/sse4_1-pac

Re: [COMMITTED v4 5/6] rs6000: Support more SSE4 "cmp", "mul", "pack" intrinsics

2021-10-11 Thread Paul A. Clarke via Gcc-patches
On Mon, Oct 11, 2021 at 06:07:35PM -0500, Segher Boessenkool wrote: > On Mon, Aug 23, 2021 at 02:03:09PM -0500, Paul A. Clarke wrote: > > gcc > > * config/rs6000/smmintrin.h (_mm_cmpeq_epi64, _mm_cmpgt_epi64, > > _mm_mullo_epi32, _mm_mul_epi32, _mm_packus_epi32): New. > > * config/rs600

Re: [COMMITTED v4 4/6] rs6000: Support SSE4.1 "cvt" intrinsics

2021-10-11 Thread Paul A. Clarke via Gcc-patches
On Mon, Oct 11, 2021 at 04:52:44PM -0500, Segher Boessenkool wrote: > On Mon, Aug 23, 2021 at 02:03:08PM -0500, Paul A. Clarke wrote: [...] > > +extern __inline __m128i > > +__attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) > > +_mm_cvtepi8_epi16 (__m128i __A) > > +{ > > + return

Re: [COMMITTED v4 3/6] rs6000: Simplify some SSE4.1 "test" intrinsics

2021-10-11 Thread Paul A. Clarke via Gcc-patches
On Mon, Oct 11, 2021 at 03:50:31PM -0500, Segher Boessenkool wrote: > On Mon, Aug 23, 2021 at 02:03:07PM -0500, Paul A. Clarke wrote: > > gcc > > * config/rs6000/smmintrin.h (_mm_test_all_zeros, > > _mm_test_all_ones, _mm_test_mix_ones_zeros): Replace. > > "Replace" does not say what it is

Re: [COMMITTED v4 2/6] rs6000: Support SSE4.1 "min" and "max" intrinsics

2021-10-11 Thread Paul A. Clarke via Gcc-patches
On Mon, Oct 11, 2021 at 02:28:15PM -0500, Segher Boessenkool wrote: > On Mon, Aug 23, 2021 at 02:03:06PM -0500, Paul A. Clarke wrote: > > gcc > > * config/rs6000/smmintrin.h (_mm_min_epi8, _mm_min_epu16, > > _mm_min_epi32, _mm_min_epu32, _mm_max_epi8, _mm_max_epu16, > > _mm_max_epi32, _

Re: [PATCH v3 1/6] rs6000: Support SSE4.1 "round" intrinsics

2021-10-11 Thread Paul A. Clarke via Gcc-patches
On Mon, Oct 11, 2021 at 11:28:39AM -0500, Segher Boessenkool wrote: > On Mon, Oct 11, 2021 at 08:46:17AM -0500, Paul A. Clarke wrote: > > On Fri, Oct 08, 2021 at 05:31:11PM -0500, Segher Boessenkool wrote: [...] > > > > With respect to volatile, I worry about removing it, because I do > > > > indee

Re: [PATCH v3 1/6] rs6000: Support SSE4.1 "round" intrinsics

2021-10-11 Thread Paul A. Clarke via Gcc-patches
On Fri, Oct 08, 2021 at 05:31:11PM -0500, Segher Boessenkool wrote: > On Fri, Oct 08, 2021 at 02:27:28PM -0500, Paul A. Clarke wrote: > > On Fri, Oct 08, 2021 at 12:39:15PM -0500, Segher Boessenkool wrote: > > I see. Thanks for the reference. If I understand correctly, volatile > > prevents some op

Re: [PATCH v3 1/6] rs6000: Support SSE4.1 "round" intrinsics

2021-10-08 Thread Paul A. Clarke via Gcc-patches
On Fri, Oct 08, 2021 at 12:39:15PM -0500, Segher Boessenkool wrote: > On Thu, Oct 07, 2021 at 08:04:23PM -0500, Paul A. Clarke wrote: > > On Thu, Oct 07, 2021 at 06:39:06PM -0500, Segher Boessenkool wrote: > > > > + __asm__ __volatile__ ("mffsce %0" : "=f" (__fpscr_save.__fr)); > > > > > > Th

RE: [PATCH v3 1/6] rs6000: Support SSE4.1 "round" intrinsics

2021-10-07 Thread Paul A. Clarke via Gcc-patches
On Thu, Oct 07, 2021 at 06:39:06PM -0500, Segher Boessenkool wrote: > On Mon, Aug 23, 2021 at 02:03:05PM -0500, Paul A. Clarke wrote: > > No attempt is made to optimize writing the FPSCR (by checking if the new > > value would be the same), other than using lighter weight instructions > > when poss

Re: [PATCH v3 0/6] rs6000: Support more SSE4 intrinsics

2021-10-07 Thread Paul A. Clarke via Gcc-patches
On Thu, Oct 07, 2021 at 05:25:54PM -0500, Segher Boessenkool wrote: > On Mon, Aug 23, 2021 at 02:03:04PM -0500, Paul A. Clarke wrote: > > v3: Add "nmmintrin.h". _mm_cmpgt_epi64 is part of SSE4.2 > > There should not be a "v3" in the commit message. The easy way to > achieve this is put it inside

Re: [PATCH v3 0/6] rs6000: Support more SSE4 intrinsics

2021-10-04 Thread Paul A. Clarke via Gcc-patches
Ping. On Thu, Sep 16, 2021 at 09:59:39AM -0500, Paul A. Clarke via Gcc-patches wrote: > Ping. > > On Mon, Aug 23, 2021 at 02:03:04PM -0500, Paul A. Clarke via Gcc-patches > wrote: > > v3: Add "nmmintrin.h". _mm_cmpgt_epi64 is part of SSE4.2 > > and users

Re: [PATCH v3 0/6] rs6000: Support more SSE4 intrinsics

2021-09-16 Thread Paul A. Clarke via Gcc-patches
Ping. On Mon, Aug 23, 2021 at 02:03:04PM -0500, Paul A. Clarke via Gcc-patches wrote: > v3: Add "nmmintrin.h". _mm_cmpgt_epi64 is part of SSE4.2 > and users will expect to be able to include "nmmintrin.h", > even though "nmmintrin.h" just includes

Re: [PATCH v3 1/6] rs6000: Support SSE4.1 "round" intrinsics

2021-08-30 Thread Paul A. Clarke via Gcc-patches
On Fri, Aug 27, 2021 at 08:44:43AM -0500, Bill Schmidt via Gcc-patches wrote: > On 8/23/21 2:03 PM, Paul A. Clarke wrote: > > + __fpscr_save.__fr = __builtin_mffsl (); > > As pointed out in the v1 review, __builtin_mffsl is enabled (or supposed to > be) only for POWER9 and later.  This will fail

Re: [PATCH v3 5/6] rs6000: Support more SSE4 "cmp", "mul", "pack" intrinsics

2021-08-27 Thread Paul A. Clarke via Gcc-patches
On Fri, Aug 27, 2021 at 10:21:35AM -0500, Bill Schmidt via Gcc-patches wrote: > On 8/23/21 2:03 PM, Paul A. Clarke wrote: > > Function signatures and decorations match gcc/config/i386/smmintrin.h. > > gcc > > * config/rs6000/nmmintrin.h: Copy from i386, tweak to suit. > > --- > > v3: > > - A

[PATCH v3 1/6] rs6000: Support SSE4.1 "round" intrinsics

2021-08-23 Thread Paul A. Clarke via Gcc-patches
Suppress exceptions (when specified), by saving, manipulating, and restoring the FPSCR. Similarly, save, set, and restore the floating-point rounding mode when required. No attempt is made to optimize writing the FPSCR (by checking if the new value would be the same), other than using lighter wei

[PATCH v3 5/6] rs6000: Support more SSE4 "cmp", "mul", "pack" intrinsics

2021-08-23 Thread Paul A. Clarke via Gcc-patches
Function signatures and decorations match gcc/config/i386/smmintrin.h. Also, copy tests for: - _mm_cmpeq_epi64 - _mm_mullo_epi32, _mm_mul_epi32 - _mm_packus_epi32 - _mm_cmpgt_epi64 (SSE4.2) from gcc/testsuite/gcc.target/i386. 2021-08-23 Paul A. Clarke gcc * config/rs6000/smmintrin.h

[PATCH v3 4/6] rs6000: Support SSE4.1 "cvt" intrinsics

2021-08-23 Thread Paul A. Clarke via Gcc-patches
Function signatures and decorations match gcc/config/i386/smmintrin.h. Also, copy tests for: - _mm_cvtepi8_epi16, _mm_cvtepi8_epi32, _mm_cvtepi8_epi64 - _mm_cvtepi16_epi32, _mm_cvtepi16_epi64 - _mm_cvtepi32_epi64, - _mm_cvtepu8_epi16, _mm_cvtepu8_epi32, _mm_cvtepu8_epi64 - _mm_cvtepu16_epi32, _mm_

[PATCH v3 2/6] rs6000: Support SSE4.1 "min" and "max" intrinsics

2021-08-23 Thread Paul A. Clarke via Gcc-patches
Function signatures and decorations match gcc/config/i386/smmintrin.h. Also, copy tests for _mm_min_epi8, _mm_min_epu16, _mm_min_epi32, _mm_min_epu32, _mm_max_epi8, _mm_max_epu16, _mm_max_epi32, _mm_max_epu32 from gcc/testsuite/gcc.target/i386. sse4_1-pmaxsb.c and sse4_1-pminsb.c were modified fr

[PATCH v3 0/6] rs6000: Support more SSE4 intrinsics

2021-08-23 Thread Paul A. Clarke via Gcc-patches
v3: Add "nmmintrin.h". _mm_cmpgt_epi64 is part of SSE4.2 and users will expect to be able to include "nmmintrin.h", even though "nmmintrin.h" just includes "smmintrin.h" where all of the SSE4.2 implementations actually appear. Only patch 5/6 changed from v2. Tested ppc64le (POWER9) and ppc64/32 (

[PATCH v3 6/6] rs6000: Guard some x86 intrinsics implementations

2021-08-23 Thread Paul A. Clarke via Gcc-patches
Some compatibility implementations of x86 intrinsics include Power intrinsics which require POWER8. Guard them. emmintrin.h: - _mm_cmpord_pd: Remove code which was ostensibly for pre-POWER8, but which indeed depended on POWER8 (vec_cmpgt(v2du)/vcmpgtud). The "POWER8" version works fine on pre

[PATCH v3 3/6] rs6000: Simplify some SSE4.1 "test" intrinsics

2021-08-23 Thread Paul A. Clarke via Gcc-patches
Copy some simple redirections from i386 , for: - _mm_test_all_zeros - _mm_test_all_ones - _mm_test_mix_ones_zeros 2021-08-20 Paul A. Clarke gcc * config/rs6000/smmintrin.h (_mm_test_all_zeros, _mm_test_all_ones, _mm_test_mix_ones_zeros): Replace. --- v3: No change. v2: - Remove

[PATCH v2 6/6] rs6000: Guard some x86 intrinsics implementations

2021-08-20 Thread Paul A. Clarke via Gcc-patches
Some compatibility implementations of x86 intrinsics include Power intrinsics which require POWER8. Guard them. emmintrin.h: - _mm_cmpord_pd: Remove code which was ostensibly for pre-POWER8, but which indeed depended on POWER8 (vec_cmpgt(v2du)/vcmpgtud). The "POWER8" version works fine on pre

[PATCH v2 1/6] rs6000: Support SSE4.1 "round" intrinsics

2021-08-20 Thread Paul A. Clarke via Gcc-patches
Suppress exceptions (when specified), by saving, manipulating, and restoring the FPSCR. Similarly, save, set, and restore the floating-point rounding mode when required. No attempt is made to optimize writing the FPSCR (by checking if the new value would be the same), other than using lighter wei

[PATCH v2 4/6] rs6000: Support SSE4.1 "cvt" intrinsics

2021-08-20 Thread Paul A. Clarke via Gcc-patches
Function signatures and decorations match gcc/config/i386/smmintrin.h. Also, copy tests for: - _mm_cvtepi8_epi16, _mm_cvtepi8_epi32, _mm_cvtepi8_epi64 - _mm_cvtepi16_epi32, _mm_cvtepi16_epi64 - _mm_cvtepi32_epi64, - _mm_cvtepu8_epi16, _mm_cvtepu8_epi32, _mm_cvtepu8_epi64 - _mm_cvtepu16_epi32, _mm_

[PATCH v2 2/6] rs6000: Support SSE4.1 "min" and "max" intrinsics

2021-08-20 Thread Paul A. Clarke via Gcc-patches
Function signatures and decorations match gcc/config/i386/smmintrin.h. Also, copy tests for _mm_min_epi8, _mm_min_epu16, _mm_min_epi32, _mm_min_epu32, _mm_max_epi8, _mm_max_epu16, _mm_max_epi32, _mm_max_epu32 from gcc/testsuite/gcc.target/i386. sse4_1-pmaxsb.c and sse4_1-pminsb.c were modified fr

[PATCH v2 0/6] rs6000: Support more SSE4.1 intrinsics

2021-08-20 Thread Paul A. Clarke via Gcc-patches
Tested ppc64le (POWER9) and ppc64/32 (POWER7). OK for trunk? Paul A. Clarke (6): rs6000: Support SSE4.1 "round" intrinsics rs6000: Support SSE4.1 "min" and "max" intrinsics rs6000: Simplify some SSE4.1 "test" intrinsics rs6000: Support SSE4.1 "cvt" intrinsics rs6000: Support more SSE4.1

[PATCH v2 5/6] rs6000: Support more SSE4.1 "cmp", "mul", "pack" intrinsics

2021-08-20 Thread Paul A. Clarke via Gcc-patches
Function signatures and decorations match gcc/config/i386/smmintrin.h. Also, copy tests for: - _mm_cmpeq_epi64, _mm_cmpgt_epi64 - _mm_mullo_epi32, _mm_mul_epi32 - _mm_packus_epi32 from gcc/testsuite/gcc.target/i386. 2021-08-20 Paul A. Clarke gcc * config/rs6000/smmintrin.h (_mm_cmpeq

[PATCH v2 3/6] rs6000: Simplify some SSE4.1 "test" intrinsics

2021-08-20 Thread Paul A. Clarke via Gcc-patches
Copy some simple redirections from i386 , for: - _mm_test_all_zeros - _mm_test_all_ones - _mm_test_mix_ones_zeros 2021-08-20 Paul A. Clarke gcc * config/rs6000/smmintrin.h (_mm_test_all_zeros, _mm_test_all_ones, _mm_test_mix_ones_zeros): Replace. --- v2: - Removed "-Wno-psabi"

Re: [PATCH 1/6] rs6000: Support SSE4.1 "round" intrinsics

2021-08-19 Thread Paul A. Clarke via Gcc-patches
On Wed, Aug 18, 2021 at 05:46:58PM -0500, Segher Boessenkool wrote: > On Mon, Aug 09, 2021 at 03:23:50PM -0500, Paul A. Clarke wrote: > > Suppress exceptions (when specified), by saving, manipulating, and > > restoring the FPSCR. Similarly, save, set, and restore the floating-point > > rounding mo

[PATCH 5/6] rs6000: Support more SSE4.1 "cmp", "mul", "pack" intrinsics

2021-08-09 Thread Paul A. Clarke via Gcc-patches
Also, copy tests for: - _mm_cmpeq_epi64, _mm_cmpgt_epi64 - _mm_mullo_epi32, _mm_mul_epi32 - _mm_packus_epi32 from gcc/testsuite/gcc.target/i386. 2021-08-09 Paul A. Clarke gcc * config/rs6000/smmintrin.h (_mm_cmpeq_epi64, _mm_cmpgt_epi64, _mm_mullo_epi32, _mm_mul_epi32, _mm_pac

[PATCH 4/6] rs6000: Support SSE4.1 "cvt" intrinsics

2021-08-09 Thread Paul A. Clarke via Gcc-patches
Also, copy tests for: - _mm_cvtepi8_epi16, _mm_cvtepi8_epi32, _mm_cvtepi8_epi64 - _mm_cvtepi16_epi32, _mm_cvtepi16_epi64 - _mm_cvtepi32_epi64, - _mm_cvtepu8_epi16, _mm_cvtepu8_epi32, _mm_cvtepu8_epi64 - _mm_cvtepu16_epi32, _mm_cvtepu16_epi64 - _mm_cvtepu32_epi64 from gcc/testsuite/gcc.target/i386.

[PATCH 3/6] rs6000: Simplify some SSE4.1 "test" intrinsics

2021-08-09 Thread Paul A. Clarke via Gcc-patches
Copy some simple redirections from i386 , for: - _mm_test_all_zeros - _mm_test_all_ones - _mm_test_mix_ones_zeros 2021-08-09 Paul A. Clarke gcc * config/rs6000/smmintrin.h (_mm_test_all_zeros, _mm_test_all_ones, _mm_test_mix_ones_zeros): Replace. --- gcc/config/rs6000/smmintri

[PATCH 1/6] rs6000: Support SSE4.1 "round" intrinsics

2021-08-09 Thread Paul A. Clarke via Gcc-patches
Suppress exceptions (when specified), by saving, manipulating, and restoring the FPSCR. Similarly, save, set, and restore the floating-point rounding mode when required. No attempt is made to optimize writing the FPSCR (by checking if the new value would be the same), other than using lighter wei

[PATCH 2/6] rs6000: Support SSE4.1 "min" and "max" intrinsics

2021-08-09 Thread Paul A. Clarke via Gcc-patches
Also, copy tests for _mm_min_epi8, _mm_min_epu16, _mm_min_epi32, _mm_min_epu32, _mm_max_epi8, _mm_max_epu16, _mm_max_epi32, _mm_max_epu32 from gcc/testsuite/gcc.target/i386. sse4_1-pmaxsb.c and sse4_1-pminsb.c were modified from using "char" types to "signed char" types, because the default is uns

[PATCH 0/6] rs6000: Support more SSE4.1 intrinsics

2021-08-09 Thread Paul A. Clarke via Gcc-patches
Paul A. Clarke (6): rs6000: Support SSE4.1 "round" intrinsics rs6000: Support SSE4.1 "min" and "max" intrinsics rs6000: Simplify some SSE4.1 "test" intrinsics rs6000: Support SSE4.1 "cvt" intrinsics rs6000: Support more SSE4.1 "cmp", "mul", "pack" intrinsics rs6000: Guard some x86 intri

[PATCH 6/6] rs6000: Guard some x86 intrinsics implementations

2021-08-09 Thread Paul A. Clarke via Gcc-patches
Some compatibility implementations of x86 intrinsics include Power intrinsics which require POWER8. Guard them. emmintrin.h: - _mm_cmpord_pd: Remove code which was ostensibly for pre-POWER8, but which indeed depended on POWER8 (vec_cmpgt(v2du)/vcmpgtud). The "POWER8" version works fine on pre

Re: [PATCH v3 1/2] rs6000: Add support for _mm_minpos_epu16

2021-08-03 Thread Paul A. Clarke via Gcc-patches
On Mon, Aug 02, 2021 at 05:29:08PM -0500, Segher Boessenkool wrote: > On Thu, Jul 15, 2021 at 06:29:17PM -0500, Paul A. Clarke wrote: > > Add a naive implementation of the subject x86 intrinsic to > > ease porting. > > > --- a/gcc/config/rs6000/smmintrin.h > > +++ b/gcc/config/rs6000/smmintrin.h >

Re: [PATCH v2 4/6] rs6000: Add tests for SSE4.1 "ceil" intrinsics

2021-07-30 Thread Paul A. Clarke via Gcc-patches
On Wed, Jul 28, 2021 at 05:16:32PM -0500, Segher Boessenkool wrote: > On Fri, Jul 16, 2021 at 08:50:20AM -0500, Paul A. Clarke wrote: > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/sse4_1-round.h > > @@ -0,0 +1,27 @@ > > +#include > > +#include > > +#include "sse4_1-check.h" > > + >

Re: [PATCH v3 1/2] rs6000: Add support for _mm_minpos_epu16

2021-07-29 Thread Paul A. Clarke via Gcc-patches
On Tue, Jul 27, 2021 at 10:29:13PM -0400, David Edelsohn via Gcc-patches wrote: > > Add a naive implementation of the subject x86 intrinsic to > > ease porting. > > > > 2021-07-15 Paul A. Clarke > > > > gcc > > * config/rs6000/smmintrin.h (_mm_minpos_epu16): New. > > Segher already appr

[PATCH v2 6/6] rs6000: Add tests for SSE4.1 "floor" intrinsics

2021-07-16 Thread Paul A. Clarke via Gcc-patches
Add the tests for _mm_floor_pd, _mm_floor_ps, _mm_floor_sd, _mm_floor_ss. These are modelled after (and depend upon parts of) the tests for _mm_ceil intrinsics, recently posted. Copy a test for _mm_floor_sd from gcc/testsuite/gcc.target/i386. 2021-07-16 Paul A. Clarke gcc/testsuite *

  1   2   >