Re: [PATCH 50/55] rs6000: Update rs6000_builtin_decl

2021-07-27 Thread will schmidt via Gcc-patches
On Thu, 2021-06-17 at 10:19 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-03-05 Bill Schmidt > Hi, Description could be a bit longer. :-) (Even just a duplicate of the mail subject to fill the space would prob be fine.) > gcc/ > * config/rs6000/rs6000-call.c (rs6000_new_builtin_

Re: [PATCH 51/55] rs6000: Miscellaneous uses of rs6000_builtin_decls_x

2021-07-27 Thread will schmidt via Gcc-patches
On Thu, 2021-06-17 at 10:19 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-03-05 Bill Schmidt > Hi, Could use a longer description. > gcc/ > * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Use > rs6000_builtin_decls_x when appropriate. > (add_condition_to_bb):

Re: [PATCH v2] rs6000: Add load density heuristic

2021-07-27 Thread will schmidt via Gcc-patches
On Wed, 2021-05-26 at 10:59 +0800, Kewen.Lin via Gcc-patches wrote: > Hi, > Hi, > This is the updated version of patch to deal with the bwaves_r > degradation due to vector construction fed by strided loads. > > As Richi's comments [1], this follows the similar idea to over > price the vector

Re: [PATCH 42/55] rs6000: Handle gimple folding of target built-ins

2021-07-28 Thread will schmidt via Gcc-patches
On Thu, 2021-06-17 at 10:19 -0500, Bill Schmidt via Gcc-patches wrote: Hi, > This is another patch that looks bigger than it really is. Because we > have a new namespace for the builtins, allowing us to have both the old > and new builtin infrastructure supported at once, we need versions of >

Re: [PATCH 0/4] [rs6000] ROP support

2021-04-26 Thread will schmidt via Gcc-patches
On Sun, 2021-04-25 at 20:50 -0500, Bill Schmidt via Gcc-patches wrote: > Add POWER10 support for hashst[p] and hashchk[p] operations. When > the -mrop-protect option is selected, any function that loads the > link > register from memory before returning must have protection in the > prologue and e

Re: [PATCH 1/4] rs6000: Add -mrop-protect and -mprivileged flags

2021-04-26 Thread will schmidt via Gcc-patches
On Sun, 2021-04-25 at 20:50 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-03-25 Bill Schmidt > > gcc/ > * config/rs6000/rs6000.c (rs6000_option_override_internal): > Disable shrink wrap when inserting ROP-protect instructions. > * config/rs6000/rs6000.opt (mrop-protect): N

Re: [PATCH 2/4] rs6000: Emit ROP-protect instructions in prologue and epilogue

2021-04-26 Thread will schmidt via Gcc-patches
On Sun, 2021-04-25 at 20:50 -0500, Bill Schmidt via Gcc-patches wrote: > Insert the hashst and hashchk instructions when -mrop-protect has been > selected. The encrypted save slot for ROP mitigation is placed > between the parameter save area and the alloca space (if any; > otherwise the local var

Re: [PATCH 3/4] rs6000: Conditionally define __ROP_PROTECT__

2021-04-26 Thread will schmidt via Gcc-patches
On Sun, 2021-04-25 at 20:50 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-03-25 Bill Schmidt > > gcc/ > * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define > __ROP_PROTECT__ if -mrop-protect is selected. ok > --- > gcc/config/rs6000/rs6000-c.c | 3 +++ > 1 file

Re: [PATCH 4/4] rs6000: Add ROP tests

2021-04-26 Thread will schmidt via Gcc-patches
On Sun, 2021-04-25 at 20:50 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-03-25 Bill Schmidt > > gcc/testsuite/ > * gcc.target/powerpc/rop-1.c: New. > * gcc.target/powerpc/rop-2.c: New. > * gcc.target/powerpc/rop-3.c: New. > * gcc.target/powerpc/rop-4.c: New. >

Re: [PATCH,rs6000] Add insn types for fusion pairs

2021-04-26 Thread will schmidt via Gcc-patches
On Mon, 2021-04-26 at 13:04 -0500, acsaw...@linux.ibm.com wrote: > From: Aaron Sawdey > > This adds new values for insn attr type for p10 fusion. The > genfusion.pl > script is modified to use them, and fusion.md regenerated to capture > the new patterns. There are also some formatting only chang

Re: [PATCH,rs6000] Test cases for p10 fusion patterns

2021-04-26 Thread will schmidt via Gcc-patches
On Mon, 2021-04-26 at 14:00 -0500, acsaw...@linux.ibm.com wrote: > From: Aaron Sawdey > > This adds some test cases to make sure that the combine patterns for p10 > fusion are working. > > OK for trunk? > > gcc/testsuite/ChangeLog: > * gcc.target/powerpc/fusion-p10-ldcmpi.c: New file. >

Re: [PATCH 5/5 ver4] RS6000: Conversions between 128-bit integer and floating point values.

2021-04-27 Thread will schmidt via Gcc-patches
On Mon, 2021-04-26 at 09:36 -0700, Carl Love wrote: > Will, Segher: > > This patch adds support for converting to/from 128-bit integers and > 128-bit decimal floating point formats using the new P10 instructions > dcffixqq and dctfixqq. The new instructions are only used on P10 HW, > otherwise th

Re: [PATCH 2/5 ver4] RS6000: Add 128-bit Integer Operations

2021-04-27 Thread will schmidt via Gcc-patches
On Mon, 2021-04-26 at 09:36 -0700, Carl Love wrote: > Will, Segher: > > This patch adds the 128-bit integer support for divide, modulo, shift, > compare of 128-bit integers instructions and builtin support. Hi, > > The patch has been tested on > powerpc64-linux instead (Power 8 BE) > po

Re: [PATCH 4/5 ver4] RS6000, Add test 128-bit shifts for just the int128 type.

2021-04-27 Thread will schmidt via Gcc-patches
On Mon, 2021-04-26 at 09:36 -0700, Carl Love wrote: > Will, Segher: > > The previous patch added the vector 128-bit integer shift instruction > support for the V1TI type. This patch renames and moves the VSX_TI > iterator from vsx.md to VEC_TI in vector.md. The uses of VEC_TI are > also updated.

Re: [PATCH 3/5 ver4] RS6000: Add TI to TD (128-bit DFP) and TD to TI support

2021-04-27 Thread will schmidt via Gcc-patches
On Mon, 2021-04-26 at 09:36 -0700, Carl Love wrote: > Will, Segher: > Hi, > This patch adds support for converting to/from 128-bit integers and > 128-bit decimal floating point formats. You reference TI,TD in the subject, would be helpful to elaborate a bit in your description. > > The p

Re: [PATCH 1/5 ver4] RS6000: Add 128-bit Integer Operations

2021-04-27 Thread will schmidt via Gcc-patches
On Mon, 2021-04-26 at 09:35 -0700, Carl Love wrote: > Will, Segher: > > This patch fixes the order of the argument in the vec_rlmi and > vec_rlnm builtins. The patch also adds a new test cases to verify > the fix. > > The patch has been tested on > powerpc64-linux instead (Power 8 BE) >

Re: [PATCH] rs6000: Make density_test only for vector version

2021-05-07 Thread will schmidt via Gcc-patches
On Fri, 2021-05-07 at 10:28 +0800, Kewen.Lin via Gcc-patches wrote: > Hi, > > When I was investigating density_test heuristics, I noticed that > the current rs6000_density_test could be used for single scalar > iteration cost calculation, through the call trace: > vect_compute_single_scalar_iter

Re: PowerPC64 ELFv2 -fpatchable-function-entry

2021-05-07 Thread will schmidt via Gcc-patches
On Fri, 2021-05-07 at 12:19 +0930, Alan Modra via Gcc-patches wrote: > PowerPC64 ELFv2 dual entry point functions have a couple of problems > with -fpatchable-function-entry. One is that the nops added after the > global entry land in the global entry code which is constrained to be > a power of t

Re: Revert "rs6000: Avoid -fpatchable-function-entry* regressions on powerpc64 be [PR98125]"

2021-05-07 Thread will schmidt via Gcc-patches
On Fri, 2021-05-07 at 12:19 +0930, Alan Modra via Gcc-patches wrote: > This reverts commit b680b9049737198d010e49cf434704c6a6ed2b3f now > that the PowerPC64 ELFv1 regression is fixed properly. > Hi, Ok. looks like that was initially handled by Jakub, on copy, good. :-) Contents below appear to

Re: PowerPC64 ELFv1 -fpatchable-function-entry

2021-05-07 Thread will schmidt via Gcc-patches
On Fri, 2021-05-07 at 12:19 +0930, Alan Modra via Gcc-patches wrote: > On PowerPC64 ELFv1 function symbols are defined on function > descriptors in an .opd section rather than in the function code. > .opd is not split up by the PowerPC64 backend for comdat groups or > other situations where per-fun

Re: [EXTERNAL] Re: [Patch 1/5] rs6000, Add 128-bit sign extension support

2020-08-13 Thread will schmidt via Gcc-patches
On Thu, 2020-08-13 at 13:29 -0500, Segher Boessenkool wrote: > On Thu, Aug 13, 2020 at 11:09:10AM -0700, Carl Love wrote: > > The builtins > > > > vector signed int vec_signexti (vector signed char a) > > vector signed long long vec_signextll (vector signed char a) > > vector signed int vec_signex

Re: [Patch 2/5] rs6000, 128-bit multiply, divide, modulo, shift, compare

2020-08-13 Thread will schmidt via Gcc-patches
On Tue, 2020-08-11 at 12:22 -0700, Carl Love wrote: > Segher, Will: > > Patch 2, adds support for divide, modulo, shift, compare of 128-bit > integers. The support adds the instruction and builtin support. > > Carl Love > > > ---

Re: [EXTERNAL] Re: [Patch 1/5] rs6000, Add 128-bit sign extension support

2020-08-13 Thread will schmidt via Gcc-patches
On Thu, 2020-08-13 at 17:55 -0500, Segher Boessenkool wrote: > Hi! > > On Thu, Aug 13, 2020 at 05:11:11PM -0500, will schmidt wrote: > > > > That is probably a level of detail that is not > > > > really needed in the GCC code comment. Probably best to just >

Re: [Patch 3/5] rs6000, Add TI to TD (128-bit DFP) and TD to TI support

2020-08-14 Thread will schmidt via Gcc-patches
On Tue, 2020-08-11 at 12:22 -0700, Carl Love wrote: > Segher, Will: > > Path 3 adds support for converting to/from 128-bit integers and 128-bit > decimal floating point formats. > > Carl Love > Some cosmetic comments below. overall lgtm. Thanks, -Will > > ---

Re: [Patch 4/5] rs6000, Test 128-bit shifts for just the int128 type.

2020-08-14 Thread will schmidt via Gcc-patches
On Tue, 2020-08-11 at 12:23 -0700, Carl Love wrote: > Segher, Will: > > Patch 4 adds 128-bit integer shift instruction support. I suggest having a few more words here to better describe what this patch is doing. i.e. This is adding the VEC_I128 iterator which contains the V1TI and TI types, an

Re: [Patch 5/5] rs6000, Conversions between 128-bit integer and floating point values.

2020-08-14 Thread will schmidt via Gcc-patches
On Tue, 2020-08-11 at 12:23 -0700, Carl Love wrote: > Segher, Will: > > Patch 5 adds the 128-bit integer to/from 128-floating point > conversions. This patch has to invoke the routines to use the 128-bit > hardware instructions if on Power 10 or use software routines if > running on a pre Power 1

Re: [PATCH] rs6000: unaligned VSX in memcpy/memmove expansion

2020-08-17 Thread will schmidt via Gcc-patches
On Fri, 2020-08-14 at 17:59 -0500, Aaron Sawdey via Gcc-patches wrote: Hi, > This patch adds a few new instructions to inline expansion of > memcpy/memmove. Generation of all these is controlled by s/is/are/ ? > the option -mblock-ops-unaligned-vsx which is set on by default if the > target has

Re: [EXTERNAL] Re: [PATCH] rs6000, restrict bfloat convert intrinsic to Power 10. Fix BU_P10V macro definitions.

2020-08-25 Thread will schmidt via Gcc-patches
On Mon, 2020-08-24 at 14:39 -0700, Carl Love wrote: > Segher: > > On Wed, 2020-08-19 at 15:16 -0500, Segher Boessenkool wrote: > > On Wed, Aug 19, 2020 at 02:19:12PM -0500, Peter Bergner wrote: > > > On 8/14/20 7:42 PM, Segher Boessenkool wrote: > > > > I think your current code is fine; I hadn't

Re: [PATCH 1/4] PowerPC: Change cmove function return to bool

2020-08-27 Thread will schmidt via Gcc-patches
On Wed, 2020-08-26 at 22:43 -0400, Michael Meissner via Gcc-patches wrote: > PowerPC: Change cmove function return to bool. > > In doing the other work for adding ISA 3.1 128-bit minimum, maximum, and > conditional move support, I noticed the two functions that process conditional > moves return '

Re: [PATCH 2/4] PowerPC: Rename functions for min, max, cmove

2020-08-27 Thread will schmidt via Gcc-patches
On Wed, 2020-08-26 at 22:44 -0400, Michael Meissner via Gcc-patches wrote: > PowerPC: Rename functions for min, max, cmove. > > This patch renames the functions that generate the ISA 3.0 C minimum, C > maximum, and conditional move instructions to use a better name than just > using > a _p9 suffi

Re: [PATCH 3/4] PowerPC: Add power10 xsmaxcqp/xsmincqp support

2020-08-27 Thread will schmidt via Gcc-patches
On Wed, 2020-08-26 at 22:45 -0400, Michael Meissner via Gcc-patches wrote: > PowerPC: Add power10 xsmaxcqp/xsmincqp support. > > This patch adds support for the ISA 3.1 (power10) IEEE 128-bit "C" minimum and > maximum functions. Because of the NaN differences, the built-in functions > will > onl

Re: [PATCH 4/4] PowerPC: Add power10 xscmp{eq,gt,ge}qp support

2020-08-27 Thread will schmidt via Gcc-patches
On Wed, 2020-08-26 at 22:46 -0400, Michael Meissner via Gcc-patches wrote: > PowerPC: Add power10 xscmp{eq,gt,ge}qp support. > > This patch adds the conditional move support. In adding the conditional move > support, the optimizers will be able to convert things like: > > a = (b > c) ? b :

Re: [PATCH] rs6000, vec_popcntd is improperly defined in altivec.h

2020-08-31 Thread will schmidt via Gcc-patches
On Fri, 2020-08-28 at 08:08 -0700, Carl Love wrote: > GCC maintainers: > Hi, > The defines for vec_popcnt, bvec_popcnth, vec_popcntw, vec_popcntd in s/bvec/vec/ > gcc/config/rs6000/altivec.h are not listed in the Power 64-Bi ELF V2 > ABI specification revision 1.4, May 10, 2017. They are n

Re: [PATCH] rs6000: Expand vec_insert in expander instead of gimple [PR79251]

2020-08-31 Thread will schmidt via Gcc-patches
On Mon, 2020-08-31 at 04:06 -0500, Xiong Hu Luo via Gcc-patches wrote: > vec_insert accepts 3 arguments, arg0 is input vector, arg1 is the value > to be insert, arg2 is the place to insert arg1 to arg0. This patch adds > __builtin_vec_insert_v4si[v4sf,v2di,v2df,v8hi,v16qi] for vec_insert to > not

Re: [PATCH] test/rs6000: Add Power9 and up as vect_len target

2020-08-31 Thread will schmidt via Gcc-patches
On Mon, 2020-08-31 at 14:43 +0800, Kewen.Lin via Gcc-patches wrote: > Hi, > > Power9 supports vector with length in bytes load/store, this patch > is to teach check_effective_target_vect_len_load_store to take it > and its laters as effective vector with length targets. > > Also supplement the do

[PATCH, rs6000] Fix Vector long long subtype (PR96139)

2020-09-01 Thread will schmidt via Gcc-patches
y regtested on assorted power7,power8, power8 targets. Another sniff test in the queue to verify a last minute testcase tweak. OK for trunk? Thanks -Will PR target/96139 2020-09-01 Will Schmidt gcc/Changelog: * config/rs6000/rs6000-call.c (rs6000_init_b

Re: [PATCH, rs6000] Fix Vector long long subtype (PR96139)

2020-09-03 Thread will schmidt via Gcc-patches
On Wed, 2020-09-02 at 05:13 -0500, Segher Boessenkool wrote: > Hi Will, > > On Tue, Sep 01, 2020 at 09:00:20PM -0500, will schmidt wrote: > > This corrects an issue with the powerpc vector long long > > subtypes. > > As reported by SjMunroe in PR96139. When buildi

Re: [PATCH, rs6000] Fix Vector long long subtype (PR96139)

2020-09-04 Thread will schmidt via Gcc-patches
On Fri, 2020-09-04 at 03:47 -0500, Segher Boessenkool wrote: > Hi! > > On Fri, Sep 04, 2020 at 08:55:43AM +0200, Richard Biener wrote: > > On Thu, Sep 3, 2020 at 8:10 PM Segher Boessenkool > > wrote: > > > On Thu, Sep 03, 2020 at 10:37:33AM -0500, will schmidt wro

[PATCH, rs6000] testsuite fixup pr96139 tests

2020-09-11 Thread will schmidt via Gcc-patches
Hi, As reported, the recently added pr96139 tests will fail on older targets because the tests are missing the appropriate -mvsx or -maltivec options. This adds the options and clarifies the dg-require statements. sniff-regtested OK when specifying older targets o

Re: [PATCH, rs6000] testsuite fixup pr96139 tests

2020-09-11 Thread will schmidt via Gcc-patches
On Fri, 2020-09-11 at 12:37 -0500, Segher Boessenkool wrote: > Hi! > > On Fri, Sep 11, 2020 at 09:44:54AM -0500, will schmidt wrote: > > As reported, the recently added pr96139 tests will fail on older > > targets > > because the tests are missing the app

rs6000 - allow builtin initialization regardless of mask

2020-03-23 Thread will schmidt via Gcc-patches
-mcpu default. The use of built-ins is still properly limited by logic within altivec_resolve_overloaded_builtin(). I'm still reviewing test results for any regressions. OK for master? Thanks, -Will 2020-03-23 Will Schmidt gcc/ * config/rs6000/rs6000-c

rs6000: Update bswap64-4 test to reflect actual results

2020-03-24 Thread will schmidt via Gcc-patches
. OK for mainline? Thanks, -Will 2020-03-24 Will Schmidt testsuite/ * gcc.target/powerpc/bswap64-4.c: Update scan-assembler expected results. diff --git a/gcc/testsuite/gcc.target/powerpc/bswap64-4.c b/gcc/testsuite/gcc.target/powerpc/bswap64-4.c index 1f5ac0e

Re: [PATCH], Set -mpcrel by default on Linux 64-bit systems for -mcpu=future

2020-03-25 Thread will schmidt via Gcc-patches
Hi, Comments inline. (Taking a pass with focus on cosmetic stuff. This is intended to help Segher focus on the harder parts :-) ). On Mon, 2020-03-23 at 16:38 -0400, Michael Meissner via Gcc-patches wrote: Subject: [Patch v327] set -mcprel by default ... Include some powerpc or rs6000 referenc

Re: [PATCH] rs6000: Refine RTL unroll adjust hook

2020-07-07 Thread will schmidt via Gcc-patches
On Mon, 2020-07-06 at 15:13 +0800, guojiufu via Gcc-patches wrote: Hi, Assorted comments below. thanks :-) > For very small loops (< 6 insns), it would be fine to unroll 4 > times to use cache line better. Like below loops: > `while (i) a[--i] = NULL; while (p < e) *d++ = *p++;` > > And

Re: [PATCH v3] RS6000, add VSX mask manipulation support

2020-07-08 Thread will schmidt via Gcc-patches
On Tue, 2020-07-07 at 16:19 -0700, Carl Love wrote: > Segher: > > I have fixed the issues you mentioned in version 2. I also rebased the > patch onto the latest mainline. This resulted in having to change > FUTURE to P10 everywhere. > > I reran regression testing on Power 9 with no regression

Re: [PATCH v2, rs6000] Add support to enable vmsumudm behind vec_msum builtin.

2020-07-08 Thread will schmidt via Gcc-patches
On Tue, 2020-06-30 at 18:39 -0500, Segher Boessenkool wrote: > Hi! > > On Tue, Jun 30, 2020 at 12:57:45PM -0500, will schmidt wrote: > > Add support for the vmsumudm instruction and tie it into the > > vec_msum > > built-in to support the variants of that built-i

Re: [PATCH ver 4] RS6000, add VSX mask manipulation support

2020-07-08 Thread will schmidt via Gcc-patches
On Wed, 2020-07-08 at 09:22 -0700, Carl Love wrote: > Will, Segher: > > I fixed up the patch based on Will's comments. I thought I had made > and committed the fixes that Will caught, but no Sorry about > that. I will get this right yet. > > Carl Love > --

Re: [PATCH 0/6 ver 4] ] Permute Class Operations

2020-07-09 Thread will schmidt via Gcc-patches
On Wed, 2020-07-08 at 12:58 -0700, Carl Love wrote: > [PATCH 1/6] rs6000, Update support for vec_extract Email subject needs to be updated too. This is at least correct in- line. Here and subsequent messages in thread. > > - > V4 changes > rebased onto mainline

Re: [PATCH 0/6 ver 4] ] Permute Class Operations

2020-07-09 Thread will schmidt via Gcc-patches
On Wed, 2020-07-08 at 12:59 -0700, Carl Love wrote: > [PATCH 2/6] rs6000 Add vector insert builtin support > > > V4 changes > Rebased on mainline. Changed FUTURE to P10 as needed. > > > V3 changes > > Replace spaces w

Re: [PATCH 0/6 ver 4] ] Permute Class Operations

2020-07-09 Thread will schmidt via Gcc-patches
On Wed, 2020-07-08 at 12:59 -0700, Carl Love wrote: > [PATCH 3/6] rs6000, Add vector replace builtin support > > -- > V4 Fixes: > >Rebased on mainline. Changed FUTURE to P10 in code and ChangeLog. >Set DEBUG to 0 in vec-replace-word-runnable.c test program

Re: [PATCH 0/6 ver 4] ] Permute Class Operations

2020-07-09 Thread will schmidt via Gcc-patches
On Wed, 2020-07-08 at 12:59 -0700, Carl Love wrote: > [PATCH 4/6] rs6000, Add vector shift double builtin support > Nothing popped out at me for this patch. lgtm thanks -Will > -- > V4 Fixes: > >Rebased on mainline. Changed FUTURE to P10. >Changed SLDB

Re: [PATCH 0/6 ver 4] ] Permute Class Operations

2020-07-09 Thread will schmidt via Gcc-patches
On Wed, 2020-07-08 at 12:59 -0700, Carl Love wrote: > [PATCH 5/6] rs6000, Add vector splat builtin support > > -- > V4 Fixes: > >Rebased on mainline. Changed FUTURE to P10. >define_predicate "s32bit_cint_operand" removed unnecessary cast in > definiti

Re: [PATCH 0/6 ver 4] ] Permute Class Operations

2020-07-09 Thread will schmidt via Gcc-patches
On Wed, 2020-07-08 at 12:59 -0700, Carl Love wrote: > [PATCH 6/6] rs6000 Add vector blend, permute builtin support > > -- > V4 Fixes: > >Rebased on mainline. Changed FUTURE to P10. > - > > v3 fixes: >Replace spaces with tabs in ChangeLog descripti

[PATCH, rs6000, gcc-8 ] Improve handling of built-in initialization. [PR95952]

2020-07-14 Thread will schmidt via Gcc-patches
iltin when the builtin mask is set but the icode value is zero. The subsequent assert check remains in place. I've successfully tested this on a yellowdog (970mp) based system. Mikael has confirmed this allows success on his system. OK for gcc-8 ? Thanks, -Will 2020-07-13 Will Sch

Re: [PATCH] RS6000 Add testlsbb (Test LSB by Byte) operations

2020-07-28 Thread will schmidt via Gcc-patches
On Tue, 2020-05-26 at 11:12 -0500, will schmidt via Gcc-patches wrote: > Hi, > > Add support for new instructions to test LSB by Byte. > > Tested on powerpc64le-unknown-linux-gnu with no > regressions. (power7BE, power8LE, power8BE, power9LE). Ping. I note that I

[PATCH v2] RS6000 Add testlsbb (Test LSB by Byte) operations

2020-07-29 Thread will schmidt via Gcc-patches
tests on powerpc64le-unknown-linux-gnu Power8LE, with other regression tests still in progress on some other powerpc platforms. OK for trunk? Thanks, -Will [gcc] 2020-07-29 Will Schmidt * config/rs6000/altivec.h (vec_test_lsbb_all_ones): New define. (vec_test_lsbb_all_zeros): New

Re: [PATCH 26/29] rs6000: Add Power9 builtins

2020-07-30 Thread will schmidt via Gcc-patches
On Mon, 2020-07-27 at 09:14 -0500, Bill Schmidt wrote: > From: Bill Schmidt > > 2020-07-26 Bill Schmidt > > * config/rs6000/rs6000-builtin-new.def: Add power9, > power9-vector, and power9-64 builtins. > --- > gcc/config/rs6000/rs6000-builtin-new.def | 354 > ++

Re: [PATCH] rs6000: Save/restore r31 if frame_pointer_needed is true

2020-03-26 Thread will schmidt via Gcc-patches
On Wed, 2020-03-25 at 23:15 -0500, luoxhu--- via Gcc-patches wrote: > From: Xionghu Luo > Hi, No real issues noted in my review. Patch is straighforward, just a couple cosmetic comments inline below. > This P1 bug is exposed by FRE refactor of r263875. Comparing the fre > dump file shows no o

Re: [PATCH] rs6000: Don't split constant oprator when add, move to temp register for future optimization

2020-03-26 Thread will schmidt via Gcc-patches
On Thu, 2020-03-26 at 05:06 -0500, luoxhu--- via Gcc-patches wrote: > From: Xionghu Luo > > Remove split code from add3 to allow a later pass to split. > This allows later logic to hoist out constant load in add > instructions. > In loop, lis+ori could be hoisted out to improve performance compar

Re: rs6000: Update bswap64-4 test to reflect actual results

2020-03-27 Thread will schmidt via Gcc-patches
On Thu, 2020-03-26 at 17:03 -0500, Segher Boessenkool wrote: > Hi! > > On Tue, Mar 24, 2020 at 01:26:25PM -0500, will schmidt wrote: > > Update existing testcase powerpc/bswap64-4.c to > > reflect that we generate ldbrx and stdbrx instructions > > for newer cpu targe

Re: [PATCH], Make PowerPC -mcpu=future enable -mpcrel on linux ELFv2

2020-03-30 Thread will schmidt via Gcc-patches
On Fri, 2020-03-27 at 21:31 -0400, Michael Meissner via Gcc-patches wrote: Hi, A few cosmetic nits and comments sprinkled in below. I defer to Segher for his approvals and comments. thanks, -Will > This is a revised version of the patch I posted on March 23rd. The > changes are > to updat

Re: rs6000 - allow builtin initialization regardless of mask

2020-04-01 Thread will schmidt via Gcc-patches
On Thu, 2020-03-26 at 14:23 -0500, Segher Boessenkool wrote: > Hi! > > On Mon, Mar 23, 2020 at 03:18:25PM -0500, will schmidt wrote: > > Disable the code that limits initialization of builtins based > > on the rs6000_builtin_mask. This allows all built-ins to be > &g

Re: [PATCH] Enable -mpcrel on PowerPC -mcpu=future ELF v2 systems, V3

2020-04-02 Thread will schmidt via Gcc-patches
On Thu, 2020-04-02 at 20:36 -0400, Michael Meissner via Gcc-patches wrote: > Enable -mpcrel on PowerPC -mcpu=future ELF v2 systems, V3 > Hi, > This patch changes the default for -mcpu=future to be -mpcrel (i.e. > use > PC-relative addressing) if the ABI allows PC-relative relocations and > the u

Re: [PATCH, V4] PowerPC Turn on -mpcrel by default for -mcpu=future

2020-04-06 Thread will schmidt via Gcc-patches
On Mon, 2020-04-06 at 12:52 -0400, Michael Meissner via Gcc-patches wrote: Hi, Just a single extra blank line below. I'm still not a fan of the "Do not set..." comment, but will assume there is history that necessitates the comment. Other sections looked OK to me. Over to Segher. :-) Thanks,

Re: [PATCH], PowerPC, Backport PR 93932 (variable vec_extract) to GCC 9

2020-04-09 Thread will schmidt via Gcc-patches
On Thu, 2020-04-09 at 05:16 -0400, Michael Meissner via Gcc-patches wrote: > Backport PR target/93932 (variable vec_extract) to GCC 9 > > This patch backports the fix for PR target/93932 from the current > master branch > to GCC 9. The patch for the master branch had to be adjusted due to > using

[RFC][PR target PR90000] (rs6000) Compile time hog w/impossible asm constraint lra loop

2020-04-10 Thread will schmidt via Gcc-patches
ICE. Thanks -Will gcc/ 2020-04-10 Will Schmidt * lra.c: Add include of rtl-error.h. (MAX_LRA_CONSTRAINT_PASSES): New define. (lra): Add check of lra_constraint_iter value. diff --git a/gcc/lra.c b/gcc/lra.c index 5e8b75b..36f5dd9 100644 --- a/gcc/lra.c +++ b/gcc

Re: [PATCH][PR target/94542]Don't allow PC-relative addressing for TLS data

2020-04-13 Thread will schmidt via Gcc-patches
On Fri, 2020-04-10 at 18:00 -0500, acsawdey via Gcc-patches wrote: > One of the things that address_to_insn_form() is used for is > determining > whether a PC-relative addressing instruction could be used. In > particular predicate pcrel_external_address and function > prefixed_paddi_p() both us

Re: [PATCH] rs6000: Fix ICE in decompose_normal_address, at rtlanal.c:6403

2020-04-16 Thread will schmidt via Gcc-patches
On Thu, 2020-04-16 at 08:21 -0500, Peter Bergner via Gcc-patches wrote: > The ICE in PR93974 is caused by a bug in decompose address not being > able to > handle Altivec addresses the use AND: to strip off the bottom address > bits. > Rather than modify lra-constraints.c or rtlanal.c to solve this

Re: [PATCH], PR target/94557, V2, Fix GCC 9.x PowerPC regression due to PR target/93932 back port.

2020-04-16 Thread will schmidt via Gcc-patches
On Wed, 2020-04-15 at 21:37 -0400, Michael Meissner via Gcc-patches wrote: > Fix regression caused by PR target/93932 backport. > > When I back ported the fix for PR target/93932 to the GCC 9 branch, I put in > an > unintended regression when the GCC compiler is optimizing the vec_extract > built

Re: [PATCH], rs6000, PR/target 94622, Be more careful with plq for atomic_load

2020-04-20 Thread will schmidt via Gcc-patches
Hi, On Mon, 2020-04-20 at 14:00 -0500, Aaron Sawdey via Gcc-patches wrote: > For future architecture with prefix instructions, always use plq > rather than lq for atomi load of quadword. Then we never have to atomic :-) > do the doubleword swap on little endian. Before this fix, -mno-pcrel > w

Re: [PATCH] rs6000, Fix header comment for intrinsic function

2020-04-23 Thread will schmidt via Gcc-patches
On Wed, 2020-04-22 at 11:20 -0700, Carl Love wrote: > GCC maintainers: > Hi, > The following is a trivial patch to fix a comment describing the > intrinsic function _mm_movemask_epi8. The comment was expanded to > clarify the layout of the returned result. Something seems wrong there, see be

Re: [RFC][PR target PR90000] (rs6000) Compile time hog w/impossible asm constraint lra loop

2020-04-23 Thread will schmidt via Gcc-patches
On Wed, 2020-04-22 at 12:26 -0600, Jeff Law wrote: > On Fri, 2020-04-10 at 16:40 -0500, will schmidt via Gcc-patches > wrote: > > [RFC][PR target/9] Compile time hog w/impossible asm constraint > > lra loop > > > > Hi, > > RFC for a bandaid/patch

Re: [PATCH] rs6000: Replace outdated link to ELFv2 ABI

2020-04-23 Thread will schmidt via Gcc-patches
On Thu, 2020-04-23 at 11:13 -0500, Bill Schmidt via Gcc-patches wrote: > A user reported that we are still referring to a public review > draft of the ELFv2 ABI specification. Replace that by a permalink. > > Tested with "make pdf" and verified the link is hot. Is this okay > for master? > Hi,

Re: [PATCH][v3], rs6000: Use plq/pstq for atomic_{load, store} (PR94622)

2020-04-23 Thread will schmidt via Gcc-patches
On Wed, 2020-04-22 at 07:59 -0500, Segher Boessenkool wrote: > Hi! > > On Tue, Apr 21, 2020 at 04:53:53PM -0500, Aaron Sawdey via Gcc- > patches wrote: > > For future architecture with prefix instructions, always use > > plq/pstq > > rather than lq/stq for atomic load of quadword. Then we never ha

Re: [PATCH] PowerPC -mcpu=future Patch 1 of 7, add target supports for -mpcrel and -mprefixed

2020-04-27 Thread will schmidt via Gcc-patches
On Mon, 2020-04-27 at 15:46 -0400, Michael Meissner via Gcc-patches wrote: > This patch adds supports in target-supports.exp for -mpcrel and > -mprefixed. > > Patch #1 of 7. Hi Subject: Re: [PATCH] PowerPC -mcpu=future Patch 1 of 7, add target supports for -mpcrel and -mprefixed Squish that su

Re: [PATCH] PowerPC -mcpu=future Patch 2 of 7, Add PLI/PADDI tests

2020-04-27 Thread will schmidt via Gcc-patches
On Mon, 2020-04-27 at 15:48 -0400, Michael Meissner via Gcc-patches wrote: > Add tests for generating PLI/PADDI with -mcpu=future. > > This is patch #2 of 7. This patch was run on a little endian power8 > system > running Linux and the patches succeeded. > > 2020-04-27 Michael Meissner > >

Re: [PATCH] PowerPC -mcpu=future Patch 3 of 7, Add test for generating prefixed load/store

2020-04-27 Thread will schmidt via Gcc-patches
On Mon, 2020-04-27 at 15:53 -0400, Michael Meissner via Gcc-patches wrote: > This patch adds a test that verifies that the compiler generates a prefixed > load/store instruction where the compiler cannot generate the instruction > directly because the offset is not a valid DS or DQ offset. A DS of

Re: [PATCH] PowerPC -mcpu=future Patch 4 of 7, Make sure an invalid instruction is not generated

2020-04-27 Thread will schmidt via Gcc-patches
On Mon, 2020-04-27 at 15:57 -0400, Michael Meissner via Gcc-patches wrote: > This test validates that the compiler does not generate a prefixed > load/store > instruction with an update form. The prefixed load/store > instructions do not > have an update form. > > This is patch #4 of 7. This pat

Re: [PATCH] PowerPC -mcpu=future Patch 5 of 7, Add prefixed load/store tests with large numeric offsets

2020-04-27 Thread will schmidt via Gcc-patches
On Mon, 2020-04-27 at 16:00 -0400, Michael Meissner via Gcc-patches wrote: > This patch adds tests for -mcpu=future generating prefixed load/store > instructions with large numeric offsets. > > This is patch #5 of 7. This patch was tested on a little endian power8 system > running Linux, and the

Re: [PATCH] PowerPC -mcpu=future Patch 6 of 7, add PC-relative tests

2020-04-27 Thread will schmidt via Gcc-patches
On Mon, 2020-04-27 at 16:01 -0400, Michael Meissner via Gcc-patches wrote: > This patch adds PC-relative tests for -mcpu=future. > > This is patch #6 of 7. I have checked this on a little endian power8 system > running Linux, and all tests passed. Can I check this into the GCC 10 trunk? > > 202

Re: [PATCH] PowerPC -mcpu=future Patch 7 of 7, Add test for stack checking and large stack frames

2020-04-27 Thread will schmidt via Gcc-patches
On Mon, 2020-04-27 at 16:04 -0400, Michael Meissner via Gcc-patches wrote: > This patch adds a test for the case where we have prefixed load/store > instructions, a large stack frame, and stack checking is enabled. > > This is patch #7 of 7. I have checked this patch on a little endian power8 > s

Re: [PATCH] rs6000, fix vec_first_match_index for nulls

2020-05-01 Thread will schmidt via Gcc-patches
On Fri, 2020-05-01 at 09:42 -0700, Carl Love via Gcc-patches wrote: > GCC maintainers: > Hi, subject: Re: [PATCH] rs6000, fix vec_first_match_index for nulls ^ See if you can include the pr94833 string in the subject somewhere. > The following patch fixes PR94833, vec_first_match_index doe

Re: [PATCH] PowerPC -mcpu=future Patch 3 of 7, Add test for generating prefixed load/store

2020-05-01 Thread will schmidt via Gcc-patches
On Fri, 2020-05-01 at 10:48 -0500, Segher Boessenkool wrote: > Hi! > > On Mon, Apr 27, 2020 at 05:01:34PM -0500, will schmidt wrote: > > On Mon, 2020-04-27 at 15:53 -0400, Michael Meissner via Gcc-patches > > wrote: > > > This patch adds a test that verifies that

Re: [PATCH] PowerPC -mcpu=future Patch 3 of 7, Add test for generating prefixed load/store

2020-05-01 Thread will schmidt via Gcc-patches
On Fri, 2020-05-01 at 17:02 -0500, Segher Boessenkool wrote: > On Fri, May 01, 2020 at 03:54:26PM -0500, will schmidt wrote: > > > The other way around :-) stfs is for single precision float > > > ("float", > > > in C), while stfd is for double precision fl

[PATCH] RS6000 Add testlsbb (Test LSB by Byte) operations

2020-05-26 Thread will schmidt via Gcc-patches
Hi, Add support for new instructions to test LSB by Byte. Tested on powerpc64le-unknown-linux-gnu with no regressions. (power7BE, power8LE, power8BE, power9LE). [gcc] 2020-05-26 Will Schmidt * config/rs6000/altivec.h (vec_test_lsbb_all_ones): New define

Re: [PATCH] RS6000, add VSX mask manipulation support

2020-05-26 Thread will schmidt via Gcc-patches
On Fri, 2020-05-22 at 13:27 -0700, Carl Love wrote: > GCC maintainers: > > The following patch adds support for builtins > vec_genbm(), vec_genhm(), > vec_genwm(), vec_gendm(), vec_genqm(), vec_cntm(), vec_expandm(), > vec_extractm(). Support for instructions mtvsrbm, mtvsrhm, mtvsrwm, > mtvsrdm

Re: [PATCH 6/7] PowerPC tests: Add PC-relative tests.

2020-06-01 Thread will schmidt via Gcc-patches
On Mon, 2020-06-01 at 15:53 -0400, Michael Meissner via Gcc-patches wrote: > These tests make sure that PC-relative variant is generated for -mcpu=future > on > systems that support PC-relative addressing. > > 2020-06-01 Michael Meissner > > * gcc.target/powerpc/prefix-pcrel-dd.c: New t

Re: PowerPC tests for -mcpu=future

2020-06-01 Thread will schmidt via Gcc-patches
On Mon, 2020-06-01 at 15:53 -0400, Michael Meissner via Gcc-patches wrote: > This thread adds seven patches to add tests for the -mcpu=future code > generation. These patches are an update to the patches I sent out in > April. > > https://gcc.gnu.org/pipermail/gcc-patches/2020-April/544653.html >

Re: [PATCH 1/3] PowerPC future: Add byte swap insns

2020-06-01 Thread will schmidt via Gcc-patches
On Mon, 2020-06-01 at 16:01 -0400, Michael Meissner via Gcc-patches wrote: > Add support for generating BRH/BRW/BRD when -mcpu=future is used. > Hi, > gcc/ > 2020-06-01 Michael Meissner > > * config/rs6000/rs6000.md (bswaphi2_reg): If -mcpu=future, > generate the BRH instruction

Re: [PATCH 3/3] PowerPC future: Add IEEE 128-bit min, max, compare.

2020-06-01 Thread will schmidt via Gcc-patches
On Mon, 2020-06-01 at 16:01 -0400, Michael Meissner via Gcc-patches wrote: > Add support for the new IEEE 128-bit minimum, maximum, and set compare mask > instructions when -mcpu=future was used. > > gcc/ > 2020-06-01 Michael Meissner > > * config/rs6000/rs6000.c (rs6000_emit_hw_fp_minma

Re: PowerPC new instructions for -mcpu=future

2020-06-01 Thread will schmidt via Gcc-patches
On Mon, 2020-06-01 at 16:01 -0400, Michael Meissner via Gcc-patches wrote: > These 3 patches add support for some new instructions in the 'future' > processor. > > The first patch adds support for the new byte swap instructions that > byte swap > valies in the GPRs. values > > The second patch

Re: [PATCH, rs6000] improve vec_ctf invalid parameter handling. (pr91903)

2021-01-04 Thread will schmidt via Gcc-patches
On Mon, 2020-10-26 at 16:22 -0500, will schmidt wrote: > [PATCH, rs6000] improve vec_ctf invalid parameter handling. > > Hi, > Per PR91903, GCC ICEs when we attempt to pass a variable > (or out of range value) into the vec_ctf() builtin. Per > investigation, the parameter c

Re: [PATCH v4] rs6000, vector integer multiply/divide/modulo instructions

2021-01-11 Thread will schmidt via Gcc-patches
On Mon, 2020-12-07 at 16:31 -0800, Carl Love wrote: > Will: > > I have addressed you comments with regards to the Change Log entries. > > The extra define vec_div was removed. > > Added the missing entries for DIVU_V2DI DIVS_V2DI in rs6000-call.c. > > The extra MULLD_V2DI case statement entr

[PATCH, rs6000] Update pr88233.c test (pr91799)

2021-01-14 Thread will schmidt via Gcc-patches
m64}'" OK for trunk? PR target/91799 2021-01-14 Will Schmidt gcc/testsuite/ChangeLog: * gcc.target/powerpc/pr88233.c: Update dg-require stanzas. diff --git a/gcc/testsuite/gcc.target/powerpc/pr88233.c b/gcc/testsuite/gcc.target/powerpc/pr88233.c index 8e5f15b83b50..acea7a586

Re: [PATCH] rs6000/testsuite: Allow xxperm* instead of only vperm*

2020-06-09 Thread will schmidt via Gcc-patches
On Tue, 2020-06-09 at 01:00 +, Segher Boessenkool wrote: > Some testcases failed (esp. with --with-cpu=power9) after my change > to > prefer xxperm over vperm when all else is equal. Fix that. (This > also > tightens the relevant REs somewhat). > > Tested on way too many configurations. Com

Re: [EXTERNAL] Re: [PATCH 5/6] rs6000, Add vector splat builtin support

2020-06-10 Thread will schmidt via Gcc-patches
On Tue, 2020-06-09 at 17:01 -0700, Carl Love wrote: > Segher: > > So I have been looking at the predicate definitions that I had > created. > > On Fri, 2020-06-05 at 16:28 -0500, Segher Boessenkool wrote: > > > +;; Return 1 if op is a 32-bit constant signed integer > > > +(define_predicate "s32bi

[PATCH, RS6000 PR target/94954] Fix wrong codegen for vec_pack_to_short_fp32() builtin

2020-06-11 Thread will schmidt via Gcc-patches
Hi, Fix codegen implementation for the builtin vec_pack_to_short_fp32. Regtests are underway against powerpc64 (power7be,power8le,power9le). (this is a power9 builtin, so should be a noop for most of those). OK for trunk and backports? Thanks -Will [gcc] targ

Re: [PATCH, RS6000 PR target/94954] Fix wrong codegen for vec_pack_to_short_fp32() builtin

2020-06-12 Thread will schmidt via Gcc-patches
On Fri, 2020-06-12 at 10:24 -0400, David Edelsohn wrote: > Hi, Will Hi, > > On Fri, Jun 12, 2020 at 12:22 AM will schmidt < > will_schm...@vnet.ibm.com> wrote: > > > > > > Hi, > > Fix codegen implementation for the builtin > > vec_pack

Re: [PATCH, RS6000 PR target/94954] Fix wrong codegen for vec_pack_to_short_fp32() builtin

2020-06-15 Thread will schmidt via Gcc-patches
On Fri, 2020-06-12 at 18:31 -0500, Segher Boessenkool wrote: > Hi! > > On Thu, Jun 11, 2020 at 11:22:33PM -0500, will schmidt wrote: > > Fix codegen implementation for the builtin > > vec_pack_to_short_fp32. > > +;; Convert two vector F32 to packed vect

Re: [PATCH 2/3] rs6000: Add MMA built-in function definitions

2020-06-15 Thread will schmidt via Gcc-patches
On Mon, 2020-06-15 at 14:58 -0500, Peter Bergner via Gcc-patches wrote: > This patches adds the actual MMA built-ins. The MMA accumulators are > INOUT > operands for most MMA instructions, but they are also very expensive > to > move around. For this reason, we have implemented a built-in API > w

<    1   2   3   4   5   >