Re: Default to DWARF5

2021-01-28 Thread Paul A. Clarke via Gcc-patches
The subject commit, 3804e937b0e252a7e42632fe6d9f898f1851a49c, causes a failure in the test suite for the IBM Advance Toolchain. The test in question uses "perf probe" to set a tracepoint at "main" in a newly built (with GCC 11) binary of "/bin/ld". With the patch applied, the command enters an in

Re: Default to DWARF5

2021-01-29 Thread Paul A. Clarke via Gcc-patches
On Fri, Jan 29, 2021 at 12:22:41PM +0100, Mark Wielaard wrote: > On Thu, Jan 28, 2021 at 08:25:20PM -0600, Paul A. Clarke wrote: > > The subject commit, 3804e937b0e252a7e42632fe6d9f898f1851a49c, causes a > > failure in the test suite for the IBM Advance Toolchain. The test in > > question uses "pe

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 >

[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

[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 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 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 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 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 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

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 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"

[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 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 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 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 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 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 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 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 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 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 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 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 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

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

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

[PATCH] rs6000: Add 'd' for doubleword variant of vector insert

2020-09-23 Thread Paul A. Clarke via Gcc-patches
When the "Vector Insert" section was added to the documentation, the doubleword ('d') variant was omitted. Add it. 2020-09-23 Paul A. Clarke gcc/ * doc/extend.texi: Add 'd' for doubleword variant of vector insert instruction. --- gcc/doc/extend.texi | 8 1 file chang

[PATCH 1/2] rs6000: Support _mm_insert_epi{8,32,64}

2020-09-23 Thread Paul A. Clarke via Gcc-patches
Add compatibility implementations for SSE4.1 intrinsics _mm_insert_epi8, _mm_insert_epi32, _mm_insert_epi64. 2020-09-23 Paul A. Clarke gcc/ * config/rs6000/smmintrin.h (_mm_insert_epi8): New. (_mm_insert_epi32): New. (_mm_insert_epi64): New. --- gcc/config/rs6000/smmin

[PATCH 2/2] rs6000: Add tests for _mm_insert_epi{8,32,64}

2020-09-23 Thread Paul A. Clarke via Gcc-patches
Copied from gcc.target/i386. 2020-09-23 Paul A. Clarke gcc/testsuite/ChangeLog: * gcc.target/powerpc/sse4_1-pinsrb.c: New test. * gcc.target/powerpc/sse4_1-pinsrd.c: New test. * gcc.target/powerpc/sse4_1-pinsrq.c: New test. --- .../gcc.target/powerpc/sse4_1-pinsrb.c

Re: [PATCH 1/2] rs6000: Support _mm_insert_epi{8,32,64}

2020-09-25 Thread Paul A. Clarke via Gcc-patches
On Thu, Sep 24, 2020 at 06:22:10PM -0500, Segher Boessenkool wrote: > On Wed, Sep 23, 2020 at 05:12:44PM -0500, Paul A. Clarke wrote: > > +extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, > > __artificial__)) > > +_mm_insert_epi8 (__m128i const __A, int const __D, int cons

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: [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: [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^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: [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

[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

[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 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 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 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 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 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

[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

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

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

[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

[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 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 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

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

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] 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

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 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: [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: [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^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 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 > >

[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: [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

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

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: [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 > > '

[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: [PATCH] rs6000: Fix default alignment ABI break caused by MMA base support

2020-11-09 Thread Paul A. Clarke via Gcc-patches
On Fri, Nov 06, 2020 at 04:18:00PM -0600, Peter Bergner via Gcc-patches wrote: > As part of the MMA base support, we incremented BIGGEST_ALIGNMENT in > order to align the __vector_pair and __vector_quad types to 256 and 512 > bits respectively. This had the unintended effect of changing the > defa

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: [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

[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

[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 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`. > >

[PATCH 0/2] rs6000: Add support for _mm_minpos_epu16

2021-06-02 Thread Paul A. Clarke via Gcc-patches
Added compatible implementation of _mm_minpos_epu16 for powerpc. Copied, improved, and fixed testcase from i386. Tested on BE, LE (32 and 64bit). Paul A. Clarke (2): rs6000: Add support for _mm_minpos_epu16 rs6000: Add test for _mm_minpos_epu16 gcc/config/rs6000/smmintrin.h |

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

2021-06-02 Thread Paul A. Clarke via Gcc-patches
Add a naive implementation of the subject x86 intrinsic to ease porting. 2021-06-02 Paul A. Clarke gcc/ChangeLog: * config/rs6000/smmintrin.h (_mm_minpos_epu16): New. --- gcc/config/rs6000/smmintrin.h | 27 +++ 1 file changed, 27 insertions(+) diff --git a/gcc

[PATCH 2/2] rs6000: Add test for _mm_minpos_epu16

2021-06-02 Thread Paul A. Clarke via Gcc-patches
Copy the test for _mm_minpos_epu16 from gcc/testsuite/gcc.target/i386/sse4_1-phminposuw.c, with a few adjustments: - Adjust the dejagnu directives for powerpc platform. - Make the data not be monotonically increasing, such that some of the returned values are not always the first value (index

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

2021-06-03 Thread Paul A. Clarke via Gcc-patches
On Wed, Jun 02, 2021 at 07:27:35PM -0500, Segher Boessenkool wrote: > On Wed, Jun 02, 2021 at 05:13:15PM -0500, Paul A. Clarke wrote: > > Add a naive implementation of the subject x86 intrinsic to > > ease porting. > > > +/* Return horizontal packed word minimum and its index in bits [15:0] > > +

Re: [PATCH 2/2] rs6000: Add test for _mm_minpos_epu16

2021-06-03 Thread Paul A. Clarke via Gcc-patches
On Wed, Jun 02, 2021 at 08:50:56PM -0500, Segher Boessenkool wrote: > On Wed, Jun 02, 2021 at 05:13:16PM -0500, Paul A. Clarke wrote: > > + for (i = 0; i < NUM; i++) > > +src.s[i] = i * i - 68 * i + 1200; > > Could you do tests with some identical elements as well? Because that > is where I

[PATCH v2 0/2] rs6000: Add support for _mm_minpos_epu16

2021-06-08 Thread Paul A. Clarke via Gcc-patches
Added compatible implementation of _mm_minpos_epu16 for powerpc. Copied, improved, and fixed testcase from i386. Tested on BE, LE (32 and 64bit). Paul A. Clarke (2): rs6000: Add support for _mm_minpos_epu16 rs6000: Add test for _mm_minpos_epu16 gcc/config/rs6000/smmintrin.h |

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

2021-06-08 Thread Paul A. Clarke via Gcc-patches
Add a naive implementation of the subject x86 intrinsic to ease porting. 2021-06-08 Paul A. Clarke gcc/ChangeLog: * config/rs6000/smmintrin.h (_mm_minpos_epu16): New. --- gcc/config/rs6000/smmintrin.h | 25 + 1 file changed, 25 insertions(+) diff --git a/gcc/c

[PATCH v2 2/2] rs6000: Add test for _mm_minpos_epu16

2021-06-08 Thread Paul A. Clarke via Gcc-patches
Copy the test for _mm_minpos_epu16 from gcc/testsuite/gcc.target/i386/sse4_1-phminposuw.c, with a few adjustments: - Adjust the dejagnu directives for powerpc platform. - Make the data not be monotonically increasing, such that some of the returned values are not always the first value (index

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-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 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 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-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-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: [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: [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 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 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

[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: [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. >

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 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 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

[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

[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 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 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

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] 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

  1   2   >