Re: [PATCH, RFC, rs6000, v3] enable early gimple-folding of vec_splat

2018-09-18 Thread Will Schmidt
On Wed, 2018-09-12 at 08:23 -0500, Segher Boessenkool wrote: > Hi! > > + unsigned int n_elts = VECTOR_CST_NELTS (arg0); > > + if (TREE_CODE (arg1) != INTEGER_CST > > + || TREE_INT_CST_LOW (arg1) > (n_elts -1)) > > + return false; > > I think you should check lower bound 0 as well.

[PATCH, rs6000] Fix PR86952 (p8-vec-xl-xst-v2.c)

2018-09-18 Thread Will Schmidt
Hi, The expected codegen for this testcase with target {le} and option -mcpu=power8 is lxvd2x and stxvd2x. It was initially committed with contents as seen on builds for P7, which was incorrect. Update as is appropriate. [testsuite] 2018-09-18 Will Schmidt PR testsuite/86952

Re: [PATCH, rs6000] Fix PR86592 (p8-vec-xl-xst-v2.c)

2018-09-18 Thread Will Schmidt
On Tue, 2018-09-18 at 15:27 -0500, Will Schmidt wrote: > Hi, > > The expected codegen for this testcase with target {le} and > option -mcpu=power8 is lxvd2x and stxvd2x. It was initially > committed with contents as seen on builds for P7, which was > incorrect. Update

[PATCH, rs6000] Fix PR86592 (p8-vec-xl-xst-v2.c)

2018-09-18 Thread Will Schmidt
Hi, The expected codegen for this testcase with target {le} and option -mcpu=power8 is lxvd2x and stxvd2x. It was initially committed with contents as seen on builds for P7, which was incorrect. Update as is appropriate. [testsuite] 2018-09-18 Will Schmidt PR testsuite/86592

[PATCH, rs6000] Update vec_splat references in testcases for validity.

2018-09-20 Thread Will Schmidt
for trunk? Thanks, -Will [testsuite] 2018-11-20 Will Schmidt * gcc.target/powerpc/fold-vec-splat-char.c: Remove invalid vec_splat calls from recently added tests. Update instruction counts. * gcc.target/powerpc/fold-vec-splat-floatdouble.c: Same

[PATCH, rs6000] Update vec_splat references in testcases for validity. (pass2)

2018-09-25 Thread Will Schmidt
be a valid index into the referenced vector (no modulo). [v2 updates] Added the -longlong testcase changes. Add 'lxv' to expected instruction list (for power9 targets). Update and simplify some commentary sprinkled through the tests. OK for trunk? Thanks, -Will [testsuite] 2018-0

Re: [PATCH, rs6000] Fix PR86731 vec_sl()

2018-10-08 Thread Will Schmidt
On Sat, 2018-08-25 at 12:46 -0500, Segher Boessenkool wrote: > Hi! > > On Tue, Aug 14, 2018 at 06:18:28PM -0500, Will Schmidt wrote: > > PR target/86731 > > * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Update logic > > around folding of vec_

[PATCH, rs6000] testcases for vec_mergee and vec_mergeo

2018-10-10 Thread Will Schmidt
Hi, Some additional testcases to exercise the vec_mergee and vec_mergeo intrinsics. Tested across assorted power linux platforms. OK for trunk? Thanks -Will [testsuite] 2018-10-10 Will Schmidt * gcc.target/powerpc/fold-vec-mergeeo-floatdouble.c: New

[PATCH, rs6000] testcase coverage for vec_sel builtins

2018-10-10 Thread Will Schmidt
Hi, Add testcase coverage for the vec_sel builtins. Tested across assorted Linux platforms. OK for trunk? Thanks, -Will [testsuite] 2018-10-10 Will Schmidt * gcc.target/powerpc/fold-vec-select-char.c: New. * gcc.target/powerpc/fold-vec-select-double.c: New

[PATCH, rs6000] early gimple folding for vec_mergee and vec_mergeo intrinsics

2018-10-10 Thread Will Schmidt
Hi, Add support for early gimple folding of the vec_mergee() and vec_mergeo() intrinsics. Testcases posted separately. Tested across assorted power linux platforms. OK for trunk? Thanks, -Will [gcc] 2018-10-09 Will Schmidt * config/rs6000/rs6000.c: (fold_mergeeo_helper): New

[PATCH, rs6000] testcases for vec_insert

2018-10-10 Thread Will Schmidt
Will Schmidt * gcc.target/powerpc/fold-vec-insert-char-p8.c: New. * gcc.target/powerpc/fold-vec-insert-char-p9.c: New. * gcc.target/powerpc/fold-vec-insert-double.c: New. * gcc.target/powerpc/fold-vec-insert-float-p8.c: New. * gcc.target/powerpc/fold-vec

[PATCH, rs6000] vec_extract testcase coverage

2018-10-10 Thread Will Schmidt
Hi, Testcase coverage for the vec_extract builtins. Due to codegen differences between (p7,p8,p9) targets, these have been split into bits and pieces as seen. Tested across assorted power linux platforms. OK for trunk? Thanks, -Will [testsuite] 2018-10-09 Will Schmidt

Re: [PATCH, rs6000] testcases for vec_insert

2018-10-10 Thread Will Schmidt
On Wed, 2018-10-10 at 12:33 -0500, Segher Boessenkool wrote: > Hi! > > On Wed, Oct 10, 2018 at 10:14:31AM -0500, Will Schmidt wrote: > > Add some testcases for verification of vec_insert() codegen. > > The char,float,int,short tests are broken out into -p8 and -p9 > &

[rfc rs6000] troubles with gimple folding for vec_sel

2018-10-23 Thread Will Schmidt
Hi all, I've been attempting to get early gimple-folding to work with the vec_sel intrinsic for powerpc, and I've run into a snag or two such that I'm not sure how to best proceed. Code snippet is below, followed by a description of the issues as I interpret them below. Apologies for the ramble,

[PATCH] (gimple) Allow integer return type from vector compares

2017-10-12 Thread Will Schmidt
vec_cmpeq (vector signed int, vector signed int); This has been tested in conjunction with the "rs6000 GIMPLE folding for vector compares" patch (posted separately) on p6 and newer. OK for trunk? Thanks, -Will [gcc] 2017-10-12 Will Schmidt * gcc/

[PATCH, rs6000] GIMPLE folding for vector compares

2017-10-12 Thread Will Schmidt
[gcc] 2017-10-12 Will Schmidt * config/rs6000/rs6000.c: (rs6000_gimple_fold_builtin) Add support for folding of vector compares. (builtin_function_type) Add compare builtins to the list of functions having unsigned arguments. * config/rs6000/vsx.md: Add vc

Re: [PATCH, rs6000] GIMPLE folding for vector compares

2017-10-13 Thread Will Schmidt
On Thu, 2017-10-12 at 22:05 -0500, Segher Boessenkool wrote: > > diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md > > > +;; Vector Compare Not Equal Byte (specified/not+eq:) > > +(define_insn "vcmpneb_spec" > > + [(set (match_operand:V16QI 0 "altivec_register_operand" "=v") > > +

Re: [PATCH, rs6000] GIMPLE folding for vector compares

2017-10-13 Thread Will Schmidt
On Fri, 2017-10-13 at 11:36 +0200, Richard Biener wrote: > On Thu, Oct 12, 2017 at 10:03 PM, Will Schmidt > wrote: > > Hi, > > > > Add support for gimple folding of vec_cmp_{eq,ge,gt,le,ne} for > > the integer data types. > > > > This adds a han

[PATCH, rs6000] Gimple folding for vec_madd()

2017-10-25 Thread Will Schmidt
trunk (pending clean run results)? Thanks, -Will [gcc] 2017-10-25 Will Schmidt * config/rs6000/rs6000.c: (rs6000_gimple_fold_builtin) Add support for gimple folding of vec_madd() intrinsics. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index

[PATCH, rs6000] add testcase coverage for vec_neg built-ins.

2017-10-25 Thread Will Schmidt
Hi, [PATCH, rs6000] add testcase coverage for vec_neg built-ins. Add testcase coverage for the vec_neg builtins. Regtest running, (but sniff tests has been clean). OK for trunk? Thanks, -Will [testsuite] 2017-10-25 Will Schmidt * gcc.target/powerpc/fold-vec-neg-char.c: New

Re: [PATCH, rs6000] Gimple folding for vec_madd()

2017-10-26 Thread Will Schmidt
On Thu, 2017-10-26 at 11:05 +0200, Richard Biener wrote: > On Wed, Oct 25, 2017 at 4:38 PM, Will Schmidt > wrote: > > Hi, > > > > Add support for gimple folding of the vec_madd() (vector multiply-add) > > intrinsics. > > Testcase coverage is provided by the ex

Re: [PATCH, rs6000] Gimple folding for vec_madd()

2017-10-26 Thread Will Schmidt
On Thu, 2017-10-26 at 17:18 +0200, Richard Biener wrote: > On Thu, Oct 26, 2017 at 5:13 PM, Richard Biener > wrote: > > On Thu, Oct 26, 2017 at 4:30 PM, Will Schmidt > > wrote: > >> On Thu, 2017-10-26 at 11:05 +0200, Richard Biener wrote: > >>> On Wed

Re: [PATCH, rs6000] (v2) Gimple folding for vec_madd()

2017-10-26 Thread Will Schmidt
rovided by the existing tests as gcc.target/powerpc/fold-vec-madd-*.c Sniff-tests passed. Regtests will be kicked off shortly. OK for trunk? (pending successful test results, of course:-) ) Thanks, -Will [gcc] 2017-10-26 Will Schmidt * config/rs600

Re: [PATCH, rs6000] (v3) Gimple folding for vec_madd()

2017-10-27 Thread Will Schmidt
kicked off shortly. OK for trunk? Thanks, -Will [gcc] 2017-10-27 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add support for gimple folding of vec_madd() intrinsics. * config/rs6000/altivec.md: Rename altivec_vmladduhm to fmav8hi4

[PATCH, rs6000] update vec_perm testcase

2017-10-27 Thread Will Schmidt
Hi, Update the vec-perm testcase to use 'long long' rather than 'long'. This was a missed typo from when i initially committed the test. Credit given to Carl for noticing this one. OK for trunk? Thanks, -Will diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-perm-longlong.c

[PATCH, rs6000] Do not do gimple-folding of expressions that are missing their LHS

2017-07-12 Thread Will Schmidt
as far as doing early gimple folding for expressions without a lhs, but for now, this seems sufficient). This seems straightforward. regtest going on ppc64LE just in case. OK for trunk? [gcc] 2017-07-12 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin

[PATCH, rs6000] enable early debug and disable switch for gimple folding

2017-08-08 Thread Will Schmidt
trunk? Thanks, -Will [gcc] 2017-08-08 Will Schmidt * config/rs6000/rs6000.c: rs6000_option_override_internal() Add blurb to indicate when early gimple folding has been disabled. rs6000_gimple_fold_builtin(): Add debug content. diff --git a/gcc/config

[PATCH, rs6000] testcase coverage for vec_cntlz

2017-08-08 Thread Will Schmidt
Hi, [PATCH, rs6000] testcase coverage for vec_cntlz Add testcase coverage for vec_cntlz built-in functions. Tested across power platforms (p6 and newer). OK for trunk? Thanks, -Will [gcc/testsuite] 2017-08-08 Will Schmidt * fold-vec-cntlz-int.c: New. * fold

[PATCH, rs6000] testcase coverage for vec_madd built-in functions

2017-08-08 Thread Will Schmidt
Hi, [Patch, rs6000] testcase coverage for vec_madd built-in function Add testcase coverage for vec_madd built-in function. Tested across power platforms (p6 and newer). OK for trunk? Thanks, -Will [testsuite] 2017-08-08 Will Schmidt * fold-vec-madd-double.c

[PATCH, rs6000] Add testcase coverage for vec_msum built-in

2017-08-08 Thread Will Schmidt
Hi, [PATCH, rs6000] Add testcase coverage for vec_msum built-in Add testcase coverage for vec_msum built-in. Tested across power platforms (p6 and newer). OK for trunk? Thanks, -Will [gcc/testsuite] 2017-08-08 Will Schmidt * fold-vec-msum-char.c: New

[PATCH, rs6000] testcase coverage for vec_pack builtin

2017-08-08 Thread Will Schmidt
Hi, [PATCH, rs6000] testcase coverage for vec_pack builtin Add some testcase coverage for the vec_pack built-in. Tested across power platforms (p6 and newer). OK for trunk? Thanks, -Will [gcc/testsuite] |---2017-08-08 Will Schmidt * fold-vec-pack

[PATCH, rs6000] (v2) enable early debug and disable switch for gimple folding

2017-08-09 Thread Will Schmidt
for trunk? Thanks, -Will [gcc] 2017-08-09 Will Schmidt * config/rs6000/rs6000.c: (rs6000_option_override_internal) Add blurb to indicate when early gimple folding has been disabled. (rs6000_gimple_fold_builtin): Add debug content. (rs6000_inval

Re: [PATCH, rs6000] enable early debug and disable switch for gimple folding

2017-08-09 Thread Will Schmidt
On Tue, 2017-08-08 at 17:31 -0500, Segher Boessenkool wrote: > Hi! > > On Tue, Aug 08, 2017 at 04:14:56PM -0500, Will Schmidt wrote: > > * config/rs6000/rs6000.c: rs6000_option_override_internal() Add > > blurb > > to indicate when early gimpl

[PATCH, rs6000] fold-vec testcase fix-ups

2017-08-10 Thread Will Schmidt
Hi, A testcase coverage issue and an obvious typo fix. Mostly obvious,.. OK for trunk? Thanks, -Will [gcc/testsuite] 2017-08-10 Will Schmidt * gcc.target/powerpc/fold-vec-msum-short.c: Fix typo. * gcc.target/powerpc/fold-vec/pack-longlong.c: Mark for 64-bit only. diff

[PATCH, rs6000] Add testcase coverage for vec_sums built-in

2017-08-17 Thread Will Schmidt
Hi, [Patch, rs6000] Add testcase coverage for vec_sums built-in Add some testcase coverage for the vec_sums() built-in. Tested across power platforms (p6 and newer). OK for trunk? Thanks, -Will [gcc/testsuite] 2017-08-17 Will Schmidt * gcc.target/powerpc/fold-vec-sums-int.c: New

[PATCH, rs6000] testcase coverage for vec_perm built-ins

2017-08-17 Thread Will Schmidt
Hi, [PATCH, rs6000] testcase coverage for vec_perm built-ins Add testcase coverage for the vec_ld intrinsic builtins. Tested across power platforms (p6 and newer). OK for trunk? Thanks, -Will [gcc/testsuite] 2017-08-17 Will Schmidt * gcc.target/powerpc/fold-vec-ld-char.c: New

[PATCH, rs6000] testcase coverage for vec_perm built-ins

2017-08-17 Thread Will Schmidt
Hi, [Patch, rs6000] testcase coverage for vec_perm built-ins Add some Testcase coverage for the vector permute intrinsics. Tested across power platforms. OK for trunk? Thanks, -Will [gcc/testsuite] 2017-08-17 Will Schmidt * gcc.target/powerpc/fold-vec-perm-char.c: New

[PATCH, rs6000] (v2) Testcase coverage for vec_perm built-ins

2017-08-22 Thread Will Schmidt
vsx. (re-) Tested across power platforms. OK for trunk? Thanks, -Will [gcc/testsuite] 2017-08-17 Will Schmidt * gcc.target/powerpc/fold-vec-perm-char.c: New. * gcc.target/powerpc/fold-vec-perm-double.c: New. * gcc.target/powerpc/fold-vec-perm

[PATCH, rs6000] testcase coverage for vector load builtins

2017-09-12 Thread Will Schmidt
Hi, [PATCH, rs6000] testcase coverage for vector load builtins Add testcase coverage for the vec_ld intrinsic builtins. Tested across power platforms (p6 and newer). OK for trunk? Thanks, -Will [gcc/testsuite] 2017-09-12 Will Schmidt * gcc.target/powerpc/fold-vec-ld-char.c

[PATCH, rs6000] Folding of vector loads in GIMPLE

2017-09-12 Thread Will Schmidt
] 2017-09-12 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for early folding of vector loads (ALTIVEC_BUILTIN_LVX_*). * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Remove obsoleted code for

[PATCH, rs6000] Fold vector multiplies in GIMPLE

2017-05-11 Thread Will Schmidt
). Bootstrapped and tested on powerpc64le-unknown-linux-gnu, and powerpc-unknown-linux, (p7,p8le,p8be) with no regressions. Is this OK for trunk? [gcc] 2017-05-10 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for

[PATCH] Externalize definition of create_tmp_reg_or_ssa_name

2017-05-11 Thread Will Schmidt
for trunk? 2017-05-10 Will Schmidt [gcc] * gimple-fold.c (create_tmp_reg_or_ssa_name): Remove static declaration. * gimple-fold.h (create_tmp_reg_or_ssa_name): New prototype. diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index 9fd45d1..2eaeecb 100644 --- a/gcc/gim

[PATCH, rs6000] Fold vector logicals in GIMPLE

2017-05-11 Thread Will Schmidt
the just re-posted "Externalize definition of create_tmp_reg_or_ssa_name" patch to be in first.) Is this OK for trunk? Thanks, -Will [gcc] 2017-05-10 Will Schmidt * config/rs6000/rs6000.c (gimple-fold.h): New #include. (rs6000_gimple_fold_builtin): Add ha

[PATCH, rs6000] Fold vector divides in GIMPLE

2017-05-11 Thread Will Schmidt
Hi, Add handling for early expansion of vector divide built-ins Bootstrapped and tested on powerpc64le-unknown-linux-gnu, and powerpc-unknown-linux, (p7,p8le,p8be) with no regressions. OK for trunk? Thanks, -Will [gcc] 2017-05-10 Will Schmidt * config/rs6000/rs6000.c

Re: [PATCH, rs6000] Fold vector logicals in GIMPLE

2017-05-11 Thread Will Schmidt
On Thu, 2017-05-11 at 14:15 -0500, Segher Boessenkool wrote: > Hi! > > On Thu, May 11, 2017 at 10:53:33AM -0500, Will Schmidt wrote: > > Add handling for early expansion of vector locical operations in gimple. > > Specifically: vec_and, vec_andc, vec_or, vec_xor, vec_orc, ve

Re: [PATCH, rs6000] Fold vector logicals in GIMPLE

2017-05-15 Thread Will Schmidt
On Sat, 2017-05-13 at 18:03 -0700, David Edelsohn wrote: > On Thu, May 11, 2017 at 3:09 PM, Segher Boessenkool > wrote: > > On Thu, May 11, 2017 at 02:36:26PM -0500, Will Schmidt wrote: > >> On Thu, 2017-05-11 at 14:15 -0500, Segher Boessenkool wrote: > >> > Hi! &

[PATCH, rs6000] Fold Vector misc - fix testcases

2017-05-17 Thread Will Schmidt
p6,p7,p8le,p8be environments. The test failures reported on AIX appear to match what I observed in a P6 environment, which had Altivec but not VSX support, so I expect this update to clear those issues up. OK for trunk? Thanks, -Will [gcc/testsuite] 2017-05-17 Will Schmidt

[PATCH, rs6000] Fold vector absolutes in GIMPLE

2017-05-26 Thread Will Schmidt
Hi, Add support for early expansion of vector absolute built-ins. Bootstraps currently running (p7,p8le,p8be). OK for trunk? Thanks, -Will [gcc] 2017-05-26 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vector absolute

[PATCH, rs6000] fold vector min/max in GIMPLE

2017-05-26 Thread Will Schmidt
Hi, Add support for early expansion of vec_min, vec_max built-ins. Bootstraps currently running. OK for trunk? Thanks, -Will [gcc] 2017-05-26 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vec_min and vec_max

[PATCH, rs6000] Fold vector logicals (eqv) in GIMPLE

2017-05-26 Thread Will Schmidt
Hi, Add support for early expansion of vector eqv built-ins. Bootstraps currently running. OK for trunk? Thanks, -Will [gcc] 2017-05-26 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vec_eqv

[PATCH, rs6000] Fold vector shifts in GIMPLE

2017-05-26 Thread Will Schmidt
. The VSR (vector shift right) folding is a bit more complex than the others. This is due to requiring arg0 be unsigned for an algebraic shift before the gimple RSHIFT_EXPR assignment is built. [gcc] 2017-05-26 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin

[PATCH, rs6000] fold-vec-logical-ors-longlong test update

2017-05-26 Thread Will Schmidt
level out on power8 targets, so update this test to target power8-vector and specify the -mpower8-vector option. [gcc/testsuite] 2017-05-26 Will Schmidt * gcc.target/powerpc/fold-vec-logical-ors-longlong.c: Update the target to powerpc_p8vector_ok. Update dg-options

Re: [PATCH, rs6000] Fold vector absolutes in GIMPLE

2017-05-31 Thread Will Schmidt
On Tue, 2017-05-30 at 09:00 +0200, Richard Biener wrote: > On Mon, May 29, 2017 at 2:21 PM, Segher Boessenkool > wrote: > > On Mon, May 29, 2017 at 01:35:22PM +0200, Richard Biener wrote: > >> >> What's the documented behavior for vec_abs with respect to an > >> >argument > >> >> of value INT_MIN?

[PATCH v2, rs6000] Fold vector absolutes in GIMPLE

2017-05-31 Thread Will Schmidt
running, pending review). [gcc] 2017-05-31 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vector absolute builtins. [gcc/testsuite] 2017-05-31 Will Schmidt * gcc.target/powerpc/fold-vec-abs-char.c: New

[PATCH, rs6000] fold vector min/max in GIMPLE

2017-05-31 Thread Will Schmidt
Hi, (resending with folks on CC, apologies to anyone having deja-vu) Add support for early expansion of vec_min, vec_max built-ins. Bootstraps currently running. OK for trunk? Thanks, -Will [gcc] 2017-05-26 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add

[PATCH, rs6000] Fold vector logicals (eqv) in GIMPLE

2017-05-31 Thread Will Schmidt
Hi, Add support for early expansion of vector eqv built-ins. Bootstraps currently running. OK for trunk? Thanks, -Will [gcc] 2017-05-26 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vec_eqv

[PATCH, rs6000] Fold vector shifts in GIMPLE

2017-05-31 Thread Will Schmidt
. The VSR (vector shift right) folding is a bit more complex than the others. This is due to requiring arg0 be unsigned for an algebraic shift before the gimple RSHIFT_EXPR assignment is built. [gcc] 2017-05-26 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin

Re: [PATCH, rs6000] Folding of vector loads in GIMPLE

2017-09-12 Thread Will Schmidt
On Tue, 2017-09-12 at 10:22 -0500, Bill Schmidt wrote: > > On Sep 12, 2017, at 9:41 AM, Will Schmidt wrote: > > > > Hi > > > > [PATCH, rs6000] Folding of vector loads in GIMPLE > > > > Folding of vector loads in GIMPLE. > > > > - Add

Re: [PATCH, rs6000] [v2] Folding of vector loads in GIMPLE

2017-09-12 Thread Will Schmidt
return false; I've restarted a regression test on this updated version. OK for trunk (assuming successful regression test completion) ? Thanks, -Will [gcc] 2017-09-12 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for early

[rs6000,patch] fix for fold-vec-ld-longlong.c test (lp64)

2017-09-14 Thread Will Schmidt
Hi, I missed a target lp64 require for the fold-vec-ld-longlong.c test. I'm now wearing my cone of shame. :-( Committing as trivial, momentarily. Thanks, -Will diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-ld-longlong.c b/gcc/testsuite/gcc.target/powerpc/fold-vec-ld-longlong.c in

Re: [PATCH, rs6000] [v2] Folding of vector loads in GIMPLE

2017-09-14 Thread Will Schmidt
gt; > >>> On Sep 13, 2017, at 7:23 AM, Richard Biener > >>> wrote: > >>>> > >>>> On Tue, Sep 12, 2017 at 11:08 PM, Will Schmidt > >>>> wrote: > >>>>> Hi, > >>>>> > >>>>

[PATCH, rs6000] [v3] Folding of vector loads in GIMPLE

2017-09-15 Thread Will Schmidt
nvironment. Adjusted the arg1_type definition to use ptr_type_node per feedback and discussions and experimentation with generated code. Regtest to be run on power6 and newer. OK for trunk? (assuming successful completion of regtest). Thanks, -Will [gcc] 2017-09-15 Wi

[PATCH, rs6000] gimple folding vector load test variant

2017-09-15 Thread Will Schmidt
defer to the judgement of the maintainers.. :-) OK for trunk? [gcc/testsuite] 2017-09-15 Will Schmidt * gcc.target/powerpc/fold-vec-ld-misc.c: New. diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-ld-misc.c b/gcc/testsuite/gcc.target/powerpc/fold-vec-ld-misc.c new file

[PATCH, rs6000] testcase coverage for vector store builtins

2017-09-21 Thread Will Schmidt
Hi, Add testcase coverage for the vec_st (vector store) intrinsic builtins. Tested across power platforms (p6 and newer). OK for trunk? Thanks, -Will [gcc/testsuite] 2017-09-21 Will Schmidt * gcc.target/powerpc/fold-vec-st-char.c: New. * gcc.target/powerpc

[PATCH, rs6000] folding of vector stores in GIMPLE

2017-09-21 Thread Will Schmidt
and newer. pending feedback, OK for trunk? Thanks, -Will [gcc] 2017-09-21 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for early folding of vector stores (ALTIVEC_BUILTIN_ST_*). (rs6000_builtin_valid_without_lh

[PATCH, rs6000] Testcase coverage for vec_splats

2017-10-09 Thread Will Schmidt
[PATCH, rs6000] Testcase coverage for vec_splats Add testcase coverage for bec_splat built-ins. Tested across power6 and newer. OK for trunk? Thanks, -Will [testsuite] * gcc.target/powerpc/fold-vec-splats-char.c: New. * gcc.target/powerpc/fold-vec-splats-floatdouble.c:

[PATCH, rs6000] testcase coverage for vec_splat_uX

2017-10-09 Thread Will Schmidt
Hi, Add testcase coverage for vec_splat_{u8,s8,u16,s16,u32,s32} built-ins. Tested on P6 and newer. OK for trunk? Thanks, -Will [testsuite] |---* gcc.target/powerpc/fold-vec-splat-16.c: New |---* gcc.target/powerpc/fold-vec-splat-32.c: New. |---* gcc.target/powerpc/fold-

[PATCH, rs6000] testcase coverage for vec_cmp builtins

2017-10-09 Thread Will Schmidt
Hi, Add testcase coverage for the vec_cmp builtins. Tested on P6 and newer. OK for trunk? Thanks, -Will [testsuite] * gcc.target/powerpc/fold-vec-cmp-char.c: New. * gcc.target/powerpc/fold-vec-cmp-double.c: New. * gcc.target/powerpc/fold-vec-cmp-float.c: New.

[PATCH, rs6000] fix-up int128 fold vector multiply tests

2017-10-09 Thread Will Schmidt
power8_vector_ok for the int128-p9 test. sniff-tested P6 and newer. OK for trunk? Thanks, -Will 2017-10-09 Will Schmidt * gcc.target/powerpc/fold-vec-mult-int128-p8.c: Update options * gcc.target/powerpc/fold-vec-mult-int128-p9.c: Update expected instruction list. diff --git a/gcc

Re: [PATCH, rs6000] (v2) fix-up int128 fold vector multiply tests

2017-10-10 Thread Will Schmidt
On Mon, 2017-10-09 at 17:22 -0500, Segher Boessenkool wrote: > Hi Will, > > On Mon, Oct 09, 2017 at 04:27:54PM -0500, Will Schmidt wrote: > > Fix up a few issues with the tests. > > - add -O2 to int128-p8 test, and firm up the -mcpu options > > -

[PATCH] [PATCH, rs6000] Fix pr79941

2017-03-07 Thread Will Schmidt
those entries from the folding list. At the same time, I am adding a testcase to provide some basic coverage for those ops. Functional gimple folding for those operations will be showing up at a later time. OK for trunk? regtest is currently running on ppc64*. gcc: 2017-03-07 Will Schmidt

Re: [PATCH] [PATCH, rs6000] Fix pr79941

2017-03-07 Thread Will Schmidt
On Tue, 2017-03-07 at 22:52 +0100, Jakub Jelinek wrote: > On Tue, Mar 07, 2017 at 03:36:38PM -0600, Will Schmidt wrote: > > Per PR79941, we are folding the vec_mul{e,o}* operations improperly. Those > > entries were added to the intrinsics-to-be-folded list where the generic > &

[PATCH] [PATCH, rs6000] Fix pr79941 (v2)

2017-03-09 Thread Will Schmidt
on the testcase in the PR. I'll note that the variables in that test case are now marked as volatile so they are not entirely optimized out during the compile. OK for trunk? regtest is currently running on ppc64*. gcc: 2017-03-09 Will Schmidt PR target/79941 * config/rs6000/r

Re: [PATCH] [PATCH, rs6000] Fix pr79941 (v2)

2017-03-10 Thread Will Schmidt
On Thu, 2017-03-09 at 17:24 -0600, Segher Boessenkool wrote: > Hi Will, > > On Thu, Mar 09, 2017 at 10:52:52AM -0600, Will Schmidt wrote: > > Per PR79941, we are folding the vec_mul{e,o}* operations improperly. Those > > entries were added to the intrinsics-to-be-folded l

MAINTAINERS update

2016-10-25 Thread Will Schmidt
Hi, Adding myself to MAINTAINERS (Write After Approval). (r241541) Thanks, -Will Index: ChangeLog === --- ChangeLog (revision 241538) +++ ChangeLog (working copy) @@ -1,3 +1,7 @@ +2016-10-25 Will Schmidt

[PATCH] Fix and testcases for pr72747

2016-10-27 Thread Will Schmidt
p earlier within the if/else logic. Bootstrapped and make check ran without regressions on powerpc64le-unknown-linux-gnu. OK for trunk? Thanks, -Will gcc: 2016-10-26 Will Schmidt PR middle-end/72747 * gimplify.c (gimplify_init_constructor): Move emit of constructor a

Re: [PATCH] Fix and testcases for pr72747

2016-10-28 Thread Will Schmidt
On Fri, 2016-10-28 at 10:38 +0200, Richard Biener wrote: > On Thu, Oct 27, 2016 at 5:37 PM, Will Schmidt > wrote: > > Hi, > > > > Per PR72747, A statement such as "v = vec_splats (1);" correctly > > initializes a vector. However, a statement

Re: [PATCH] Fix and testcases for pr72747

2016-10-28 Thread Will Schmidt
On Fri, 2016-10-28 at 08:31 -0500, Will Schmidt wrote: > On Fri, 2016-10-28 at 10:38 +0200, Richard Biener wrote: > > On Thu, Oct 27, 2016 at 5:37 PM, Will Schmidt > > wrote: > > > Hi, > > > > > > Per PR72747, A statement such as "v = vec_sp

[PATCH, rs6000] whitespace fix for p9-dimode tests

2016-12-08 Thread Will Schmidt
;ld" as seen in the string # 19 "/home/willschm/gcc/gcc-mainline-vec_fold/..." This is resolved by adding a leading whitespace regex string "\[ \t\]" as seen in other tests. OK for trunk? Thanks, -Will 2016-12-08 Will Schmidt gcc/testsuite/ * gcc.target/p

Re: [PATCH, rs6000] whitespace fix for p9-dimode tests

2016-12-09 Thread Will Schmidt
On Thu, 2016-12-08 at 20:55 -0600, Segher Boessenkool wrote: > Hello, > > On Thu, Dec 08, 2016 at 10:18:42AM -0600, Will Schmidt wrote: > > I am seeing some failures in the p9-dimode tests. This appears to > > be due to the scan-assembler strings matching comment portions

[PATCH, rs6000] Fold vector subtract built-ins in GIMPLE

2016-12-19 Thread Will Schmidt
nks, -Will [gcc] 2016-12-19 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vector subtract builtins. [gcc/testsuite] 2016-12-19 Will Schmidt * gcc.target/powerpc/fold-vec-sub-char.c: New. *

[PATCH, rs6000] Fold vector multiply built-ins in GIMPLE

2016-12-19 Thread Will Schmidt
. Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no regressions. Is this ok for trunk? Thanks, -Will [gcc] 2016-12-19 Will Schmidt * config/rs6000/rs6000.c: Add handling for early expansion of vector multiply builtins. [gcc/testsuite] 2016-12-19 Will

Re: [PATCH, rs6000] Fold vector addition built-ins in GIMPLE

2016-12-19 Thread Will Schmidt
On Tue, 2016-12-06 at 09:59 +0100, Andreas Schwab wrote: > On Dez 05 2016, Bill Schmidt wrote: > > > What's your target triple? > > http://gcc.gnu.org/ml/gcc-testresults/2016-12/msg00471.html > > Andreas. > I *suspect* this is fixable with the addition of this dg- directive to the fold-vec-ad

[PATCH] Externalize definition of create_tmp_reg_or_ssa_name

2016-12-19 Thread Will Schmidt
o not have any 'usage' patches quite ready to go, so I may just sit on committing this until one of those usage patches is ready. I've bootstrapped and make check with this patch applied in conjunction with other patches. OK for trunk? [gcc] 2016-12-19 Will Schmidt

[PATCH, rs6000] Cleanup some vstrir define_expand naming inconsistencies

2022-07-13 Thread will schmidt via Gcc-patches
[PATCH, rs6000] Cleanup some vstrir define_expand naming inconsistencies Hi, This cleans up some of the naming around the vstrir and vstril instruction definitions, with some cosmetic changes for consistency. No functional changes. Regtested just in case, no regressions. :-) OK for trunk? Than

Re: [PATCH, rs6000] Cleanup some vstrir define_expand naming inconsistencies

2022-07-13 Thread will schmidt via Gcc-patches
On Wed, 2022-07-13 at 14:39 -0500, Segher Boessenkool wrote: > Hi! > > On Wed, Jul 13, 2022 at 01:18:29PM -0500, will schmidt wrote: > > This cleans up some of the naming around the vstrir and vstril > > instruction definitions, with some cosmetic changes for >

[PATCH, rs6000] Additional cleanup of rs6000_builtin_mask

2022-07-13 Thread will schmidt via Gcc-patches
[PATCH, rs6000] Additional cleanup of rs6000_builtin_mask Hi, Post the rs6000 builtins rewrite, some of the leftover builtin code is redundant and can be removed. This replaces the remaining usage of bu_mask in rs6000_target_modify_macros() with checks against the rs6000_cpu directly. Thus

Re: [PATCH, rs6000] Additional cleanup of rs6000_builtin_mask

2022-07-15 Thread will schmidt via Gcc-patches
On Thu, 2022-07-14 at 11:28 +0800, Kewen.Lin wrote: > Hi Will, > > Thanks for the cleanup! Some comments are inlined. Hi, Thanks for the review. A few comments and responses below. TLDR I'll incorporate the suggestions in V2 that will show up ... after. :-) > > on 2

[PATCH, rs6000, v2] Additional cleanup of rs6000_builtin_mask

2022-07-19 Thread will schmidt via Gcc-patches
[PATCH, rs6000, v2] Additional cleanup of rs6000_builtin_mask Hi, Post the rs6000 builtins rewrite, some of the leftover builtin code is redundant and can be removed. This replaces the usage of bu_mask in rs6000_target_modify_macros with checks against the rs6000_isa_flags equivalent direc

[PATCH, rs6000, v2] Cleanup some vstrir define_expand naming inconsistencies

2022-07-19 Thread will schmidt via Gcc-patches
[PATCH, rs6000, v2] Cleanup some vstrir define_expand naming inconsistencies Hi, This cleans up some of the naming around the vstrir and vstril instruction definitions, with some cosmetic changes for consistency. No functional changes. Regtested just in case, no regressions. [V2] Used 'direct'

[PATCH, rs6000] Deprecate unnecessary __builtin_dfp_dtstsfi_*_dd and td overloads

2021-01-21 Thread will schmidt via Gcc-patches
[PATCH, rs6000] Deprecate unnecessary __builtin_dfp_dtstsfi_*_dd and td overloads Hi, Noted as part of the work-in-progress builtins rewrite, the __builtin_dfp_dtstsfi_*_{dd,td} builtins are redundant, and are thusly being marked as deprecated. They will be removed as part of the builtins rewr

Re: [PATCH] rs6000: Fix vec insert ilp32 ICE and test failures [PR98799]

2021-01-26 Thread will schmidt via Gcc-patches
On Tue, 2021-01-26 at 01:46 -0600, Xionghu Luo via Gcc-patches wrote: > From: "luo...@cn.ibm.com" > > UNSPEC_SI_FROM_SF is not supported when TARGET_DIRECT_MOVE_64BIT > is false for -m32, don't generate VIEW_CONVERT_EXPR(ARRAY_REF) for > variable vector insert. Remove rs6000_expand_vector_set_va

Re: [PATCH] PowerPC: Map IEEE 128-bit long double built-ins.

2021-01-27 Thread will schmidt via Gcc-patches
On Thu, 2021-01-14 at 11:59 -0500, Michael Meissner via Gcc-patches wrote: > From 78435dee177447080434cdc08fc76b1029c7f576 Mon Sep 17 00:00:00 2001 > From: Michael Meissner > Date: Wed, 13 Jan 2021 21:47:03 -0500 > Subject: [PATCH] PowerPC: Map IEEE 128-bit long double built-ins. > > This patch r

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

2021-01-27 Thread will schmidt via Gcc-patches
Ping! Thanks -Will On Mon, 2021-01-04 at 18:03 -0600, will schmidt via Gcc-patches wrote: > 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

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

2021-01-27 Thread will schmidt via Gcc-patches
On Wed, 2021-01-27 at 18:24 -0600, Segher Boessenkool wrote: > Hi! > > On Mon, Oct 26, 2020 at 04:22:32PM -0500, will schmidt wrote: > > Per PR91903, GCC ICEs when we attempt to pass a variable > > (or out of range value) into the vec_ctf() builtin. Per > > i

Re: [PATCH] PowerPC: Map IEEE 128-bit long double built-ins.

2021-01-27 Thread will schmidt via Gcc-patches
On Wed, 2021-01-27 at 19:43 -0600, Segher Boessenkool wrote: > On Wed, Jan 27, 2021 at 01:06:46PM -0600, will schmidt wrote: > > On Thu, 2021-01-14 at 11:59 -0500, Michael Meissner via Gcc-patches > > wrote: > > > November 19th, 2020: > > > Message-ID: &

Re: [PATCH] Add conversions between _Float128 and Decimal.

2021-01-29 Thread will schmidt via Gcc-patches
On Thu, 2021-01-28 at 21:42 -0500, Michael Meissner via Gcc-patches wrote: > [PATCH] Add conversions between _Float128 and Decimal. > Hi, Just a couple cosmetic nits in the description. The changelog seems to match that patch contents OK. > This patch implements conversions between _Float12

[committed] [rs6000] Fix typo in gcc.target/pr91903.c dg-require stanza

2021-01-29 Thread will schmidt via Gcc-patches
[PATCH, rs6000] Fix typo in gcc.target/pr91903.c dg-require stanza Hi, I somehow messed up when I tested this change.. Committed as obvious, also had pre-approval blessing per offline discussion. Fix obvious typo in testcases dg-require stanza. 2021-01-29 Will Schmidt

Re: [PATCH, rs6000] Optimization for PowerPC 64bit constant generation [PR94395]

2021-01-29 Thread will schmidt via Gcc-patches
On Fri, 2021-01-29 at 11:11 +0800, HAO CHEN GUI via Gcc-patches wrote: > Hi, > Hi, just a couple cosmetic nits below. Thanks, > This patch tries to optimize PowerPC 64 bit constant generation > when > the constant can be transformed from a 32 bit or 16 bit constant by > rotating, shifti

Re: [PATCH] rs6000: Convert the vector element register to SImode [PR98914]

2021-02-18 Thread will schmidt via Gcc-patches
On Wed, 2021-02-03 at 03:01 -0600, Xionghu Luo via Gcc-patches wrote: Hi, > v[k] will also be expanded to IFN VEC_SET if k is long type when > built > with -Og. -O0 didn't exposed the issue due to v is TREE_ADDRESSABLE, > -O1 and above also didn't capture it because of v[k] is not optimized > to

<    1   2   3   4   5   >