[PATCH] rs6000: Make rs6000_invalid_builtin static (committed)

2019-12-02 Thread Bill Schmidt
Hi, I noticed this function should have been made static in the recent separation of rs6000-call.c from rs6000.c. Bootstrapped and tested on powerpc64le-linux-gnu, committed. Thanks! Bill Make rs6000_invalid_builtin static. 2019-12-02 Bill Schmidt * config/rs6000/rs6000-call.c

Re: [PATCH, RFC, rs6000] enable GIMPLE folding of vec_splat

2018-08-09 Thread Bill Schmidt
> On Aug 7, 2018, at 2:25 PM, Will Schmidt wrote: > > Hi > Enable GIMPLE folding of the vec_splat() intrinsic. > > For review.. feedback is expected. :-) > > I came up with the following after spending some time poking around > at the tree_vec_extract() and vector_element() functions as seen

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

2018-08-25 Thread Bill Schmidt
On 8/14/18 6:18 PM, Will Schmidt wrote: > Hi, > > Here is a first pass at fixing PR86731, which is an issue introduced > when gimple folding the vec_sl() intrinsic. > > This has been sniff tested (successfully) on a power7. Full regtests for > linux/Powerpc systems is pending. I expect I'

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

2018-08-25 Thread Bill Schmidt
On 8/20/18 4:44 PM, Will Schmidt wrote: > Hi > Enable GIMPLE folding of the vec_splat() intrinsic. (v3). > > This uses the tree_vec_extract() function out of tree-vect-generic.c > to retrieve the splat value, which is a BIT_FIELD_REF. That function is > made non-static as part of this change

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

2018-08-25 Thread Bill Schmidt
On 8/25/18 1:09 PM, Segher Boessenkool wrote: > Hey, > > On Sat, Aug 25, 2018 at 12:15:16PM -0500, Bill Schmidt wrote: >> On 8/20/18 4:44 PM, Will Schmidt wrote: >>> Enable GIMPLE folding of the vec_splat() intrinsic. (v3). >>> >>> This uses the tr

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

2017-06-07 Thread Bill Schmidt
> On Jun 6, 2017, at 11:37 AM, Will Schmidt wrote: > > On Thu, 2017-06-01 at 10:15 -0500, Bill Schmidt wrote: >>> On Jun 1, 2017, at 2:48 AM, Richard Biener >>> wrote: >>> >>> On Wed, May 31, 2017 at 10:01 PM, Will Schmidt >>> wrote:

[PATCH] Fix PR71815 (SLSR misses PHI opportunities)

2017-06-16 Thread Bill Schmidt
egressions. I've also tested this with SPEC cpu2006 and the patch is performance neutral on a POWER8 box (as expected). Is this ok for trunk? Thanks, Bill [gcc] 2016-06-16 Bill Schmidt * gimple-ssa-strength-reduction.c (uses_consumed_by_stmt): New

Re: [PATCH] Fix PR71815 (SLSR misses PHI opportunities)

2017-06-20 Thread Bill Schmidt
On Jun 20, 2017, at 6:23 AM, Richard Biener wrote: > > On Fri, Jun 16, 2017 at 6:10 PM, Bill Schmidt > wrote: >> Hi, >> >> PR71815 identifies a situation where SLSR misses opportunities for >> PHI candidates when code hoisting is enabled (which is now on by &

Re: [PATCH] Fix PR71815 (SLSR misses PHI opportunities)

2017-06-23 Thread Bill Schmidt
for the review! Bill [gcc] 2016-06-23 Bill Schmidt * gimple-ssa-strength-reduction.c (uses_consumed_by_stmt): New function. (find_basis_for_candidate): Call uses_consumed_by_stmt rather than has_single_use. (slsr_process

Re: [PATCH] Fix PR71815 (SLSR misses PHI opportunities)

2017-06-26 Thread Bill Schmidt
> On Jun 26, 2017, at 2:22 PM, H.J. Lu wrote: > > This may have caused: > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81216 > > -- > H.J. > Nope. Reverting my patch does not solve the problem, which appears to begin with r249643. Bill

Re: [PATCH, rs6000] Signed builtin support

2017-06-29 Thread Bill Schmidt
On Jun 28, 2017, at 4:48 PM, Segher Boessenkool wrote: > > Hi Carl, > > On Wed, Jun 28, 2017 at 08:37:35AM -0700, Carl Love wrote: >> The following patch adds support for the vec_signed, vec_signede, >> vec_signedo and vec_signed2 builtins. > > Are those names ABI-dictated? Unfortunately, yes

[PATCH, rs6000] Repair vec_xl, vec_xst, vec_xl_be, vec_xst_be built-in functions

2017-11-13 Thread Bill Schmidt
rapped and tested on powerpc64le-linux-gnu (POWER8 and POWER9) with no regressions. Is this okay for trunk? Thanks, Bill [gcc] 2017-11-13 Bill Schmidt * config/rs6000/altivec.h (vec_xst_be): New #define. * config/rs6000/altivec.md (altivec_vperm__direct): Rename

Re: [PATCH, rs6000] Repair vec_xl, vec_xst, vec_xl_be, vec_xst_be built-in functions

2017-11-14 Thread Bill Schmidt
Please hold review on this until I investigate something that Carl brought up. Thanks, and sorry for the noise! -- Bill > On Nov 13, 2017, at 10:30 AM, Bill Schmidt > wrote: > > Hi, > > Some previous patches to add support for vec_xl_be and fill in gaps in testing > f

Re: [PATCH, rs6000] Repair vec_xl, vec_xst, vec_xl_be, vec_xst_be built-in functions

2017-11-14 Thread Bill Schmidt
Hi, I had a pasto in the function prototype for vec_xst_be. Fixed patch is below. Thanks, Bill On 11/14/17 8:11 AM, Bill Schmidt wrote: > Please hold review on this until I investigate something that Carl brought > up. Thanks, > and sorry for the noise! > > -- Bill >> O

Re: [PATCH, rs6000] gimple folding of vec_msum()

2017-12-01 Thread Bill Schmidt
Hi Will, > On Dec 1, 2017, at 3:43 PM, Will Schmidt wrote: > > On Fri, 2017-12-01 at 18:46 +0100, Richard Biener wrote: >> On December 1, 2017 6:22:21 PM GMT+01:00, Will Schmidt >> wrote: >>> Hi, >>> Add support for folding of vec_msum in GIMPLE. >>> >>> This uses the DOT_PROD_EXPR gimple op,

[wwwdocs] Update location of Power ELFv2 ABI Specification

2017-12-08 Thread Bill Schmidt
Hi, I noticed the location of the Power ELFv2 ABI document was out of date, so I committed the following change. Thanks, Bill Index: htdocs/readings.html === RCS file: /cvs/gcc/wwwdocs/htdocs/readings.html,v retrieving revision 1.28

Re: [PATCH, rs6000] (v2) Gimple folding of splat_uX

2017-12-08 Thread Bill Schmidt
On Dec 8, 2017, at 11:08 AM, Will Schmidt wrote: > > > Hi, > Add support for gimple folding of splat_u{8,16,32}. > Testcase coverage is primarily handled by existing tests > testsuite/gcc.target/powerpc/fold-vec-splat_*.c > > One new test added to verify we continue to receive > an 'invalid arg

[PATCH, rs6000] Fix PR83332 (missing vcond patterns)

2017-12-11 Thread Bill Schmidt
patch does. That's sufficient to cause the failing test to pass. Bootstrapped and tested on powerpc64le-linux-gnu with no regressions. Is this okay for trunk? Thanks, Bill 2017-12-11 Bill Schmidt PR target/83332 * config/rs6000/vector.md (vcondv2dfv2di): New def

Re: [PATCH, rs6000] Fix PR83332 (missing vcond patterns)

2017-12-12 Thread Bill Schmidt
> On Dec 12, 2017, at 2:02 AM, Richard Biener > wrote: > > On Mon, Dec 11, 2017 at 10:55 PM, Bill Schmidt > wrote: >> Hi, >> >> A new test case introduced for PR81303 failed on powerpc64 (BE, LE). This >> turns out to be due to a missing standard

[PATCH] Slight cost adjustment in SLSR

2017-12-14 Thread Bill Schmidt
this okay for trunk? Thanks, Bill 2017-12-14 Bill Schmidt * gimple-ssa-strength-reduction.c (analyze_increments): Distinguish replacement costs for constant strides from those for unknown strides. Index: gcc/gimple-ssa-strength-reduction.c

[PATCH, rs6000] Don't optimize swaps when a swap has mixed use

2017-12-19 Thread Bill Schmidt
both fed by a permuting load and feeds into a permuting store. Bootstrapped and tested on powerpc64le-unknown-linux-gnu for POWER8 with no regressions. Carl has verified this fixes the related problems in his test cases under development. Is this okay for trunk? Thanks, Bill 2017-12-19 Bill

Re: [PATCH, rs6000] Don't optimize swaps when a swap has mixed use

2018-01-02 Thread Bill Schmidt
Segher was kind enough to give me an offline review on his vacation. I made some small changes and committed the following. Thanks! Bill 2018-01-02 Bill Schmidt * config/rs6000/rs6000-p8swap.c (swap_feeds_both_load_and_store): New function. (rs6000_analyze_swaps

[PATCH, rs6000] Fix PR83677 (incorrect generation of xxpermr)

2018-01-04 Thread Bill Schmidt
-linux-gnu with no regressions. Is this okay for trunk and shortly for backport to GCC 7? I will check on 6, but I'm pretty certain this was introduced in 7, as 6 has only minimal POWER9 support. Thanks, Bill [gcc] 2018-01-04 Bill Schmidt PR target/83677 * config/r

Re: [PATCH] Punt on possibly throwing assignments in SLSR (PR tree-optimization/83605)

2018-01-04 Thread Bill Schmidt
Hi Jakub, Okay by me. Thanks for fixing this! Sorry I missed this bug on the list. Feel free to CC me on any SLSR bugs. -- Bill > On Jan 4, 2018, at 3:23 PM, Jakub Jelinek wrote: > > Hi! > > While the testcase could be perhaps handled with some extra effort (the > issue there is just CSE o

Re: [PATCH 1/3] [builtins] Generic support for __builtin_load_no_speculate()

2018-01-07 Thread Bill Schmidt
Hi Richard, Unfortunately, I don't see any way that this will be useful for the ppc targets. We don't have a way to force resolution of a condition prior to continuing speculation, so this will just introduce another comparison that we would speculate past. For our mitigation we will have to

Re: [PATCH 1/3] [builtins] Generic support for __builtin_load_no_speculate()

2018-01-08 Thread Bill Schmidt
> On Jan 7, 2018, at 10:47 PM, Jeff Law wrote: > > On 01/07/2018 07:20 PM, Bill Schmidt wrote: >> Hi Richard, >> >> Unfortunately, I don't see any way that this will be useful for the ppc >> targets. We don't >> have a way to fo

Re: [PATCH 1/3] [builtins] Generic support for __builtin_load_no_speculate()

2018-01-08 Thread Bill Schmidt
On Jan 8, 2018, at 8:06 AM, Richard Earnshaw (lists) wrote: > > On 08/01/18 02:20, Bill Schmidt wrote: >> Hi Richard, >> >> Unfortunately, I don't see any way that this will be useful for the ppc >> targets. We don't >> have a way to force

Re: [PATCH 1/3] [builtins] Generic support for __builtin_load_no_speculate()

2018-01-08 Thread Bill Schmidt
On Jan 8, 2018, at 9:23 AM, Richard Earnshaw (lists) wrote: > > On 08/01/18 14:19, Bill Schmidt wrote: >> >>> On Jan 7, 2018, at 10:47 PM, Jeff Law wrote: >>> >>> On 01/07/2018 07:20 PM, Bill Schmidt wrote: >>>> Hi Richard, >>>

Re: [PATCH 1/3] [builtins] Generic support for __builtin_load_no_speculate()

2018-01-08 Thread Bill Schmidt
On Jan 8, 2018, at 1:40 PM, Jeff Law wrote: > > On 01/08/2018 07:19 AM, Bill Schmidt wrote: >> >>> On Jan 7, 2018, at 10:47 PM, Jeff Law wrote: >>> >>> On 01/07/2018 07:20 PM, Bill Schmidt wrote: >>>> Hi Richard, >>>> >>&

Re: [PATCH, rs6000] Fix PR83677 (incorrect generation of xxpermr)

2018-01-08 Thread Bill Schmidt
Thanks for the review! Committed with suggested changes as r256358.

[PATCH, committed] Additional fix related to PR85712

2018-05-25 Thread Bill Schmidt
egressions. On GCC 6, this fixes the problem that occurs there on one test case. Committed to trunk; will backport next week if all remains well. Thanks, Bill 2018-05-25 Bill Schmidt PR tree-optimization/85712 * gimple-ssa-strength-reduction.c (replace_one_candidate): Skip

Re: [PATCH, rs6000 8/9] enable gimple folding for vec_xl, vec_xst

2018-06-01 Thread Bill Schmidt
On Jun 1, 2018, at 10:11 AM, Will Schmidt wrote: > > On Fri, 2018-06-01 at 08:53 +0200, Richard Biener wrote: >> On Thu, May 31, 2018 at 9:59 PM Will Schmidt >> wrote: >>> >>> Hi, >>> Add support for gimple folding for unaligned vector loads and stores. >>> testcases posted separately in this

Re: [PATCH, rs6000 8/9] enable gimple folding for vec_xl, vec_xst

2018-06-01 Thread Bill Schmidt
On Jun 1, 2018, at 10:35 AM, Richard Biener wrote: > > On June 1, 2018 5:15:58 PM GMT+02:00, Bill Schmidt > wrote: >> On Jun 1, 2018, at 10:11 AM, Will Schmidt >> wrote: >>> >>> On Fri, 2018-06-01 at 08:53 +0200, Richard Biener wrote: >>&g

Re: [PATCH,rs6000] Fix vec_permxor builtin support, fix test cases for vec_permxor and vec_insert4b

2018-06-05 Thread Bill Schmidt
Hi Carl, That looks like a typo in the ABI document to me. The return type should match the argument types like it does for the other variants. Sorry -- I'll open a bug against the ABI doc. Thanks! Good catch, Segher. -- Bill Bill Schmidt, Ph.D. STSM, GCC Architect for Linux on Powe

Re: [PATCH,rs6000] Fix vec_permxor builtin support, fix test cases for vec_permxor and vec_insert4b

2018-06-05 Thread Bill Schmidt
> On Jun 5, 2018, at 5:04 PM, Carl Love wrote: > > On Tue, 2018-06-05 at 16:45 -0500, Bill Schmidt wrote: >> Hi Carl, >> >> That looks like a typo in the ABI document to me. The return type >> should match the >> argument types like it does for the o

Re: [PATCH, rs6000 8/9] [v2] Enable gimple folding for vec_xl, vec_xst

2018-06-12 Thread Bill Schmidt
On 6/12/18 11:56 AM, Will Schmidt wrote: > Hi, > Gimple folding for unaligned vector loads and stores. > Regtest completed across variety of systems, P6,P7,P8,P9. > > [v2] Added the type for the MEM_REF, per feedback. > Testcases for gimple-folding of the same are currently in-tree > as powerp

Re: [PATCH, rs6000] Change word selector to prefered location for vec_insert builtin

2018-06-25 Thread Bill Schmidt
> On Jun 22, 2018, at 7:56 PM, Segher Boessenkool > wrote: > > Hi Carl, > > On Fri, Jun 22, 2018 at 07:32:47AM -0700, Carl Love wrote: >> The following patch changes the word selected when extracting the word >> from the second vector to insert into the first vector by the >> vec_insert() bui

Re: [PATCH,rs6000] Fix implementation of vec_unpackh, vec_unpackl builtins

2018-06-29 Thread Bill Schmidt
On Jun 29, 2018, at 9:38 AM, Carl Love wrote: > > GCC Maintainers: > > The vec_unpackh, vec_unpackl builtins with vector float arguments > unpack the high or low half of a floating point vector and convert the > elements to a vector of doubles. The current implementation of the > builtin for th

Re: [PATCH 1/3] [builtins] Generic support for __builtin_load_no_speculate()

2018-01-09 Thread Bill Schmidt
On Jan 9, 2018, at 4:21 AM, Richard Earnshaw (lists) wrote: > > On 08/01/18 16:01, Bill Schmidt wrote: >> On Jan 8, 2018, at 8:06 AM, Richard Earnshaw (lists) >> wrote: >>> >>> On 08/01/18 02:20, Bill Schmidt wrote: >>>> Hi Richard, >>

[PATCH, rs6000] Add __builtin_speculation_barrier

2018-01-11 Thread Bill Schmidt
for trunk? Thanks, Bill [gcc] 2018-01-11 Bill Schmidt * config/rs6000/rs6000-builtin.def (BU_P7_MISC_X): New #define. (SPEC_BARRIER): New instantiation of BU_P7_MISC_X. * config/rs6000/rs6000.c (rs6000_expand_builtin): Handle MISC_BUILTIN_SP

Re: [PATCH, rs6000] Add __builtin_speculation_barrier

2018-01-11 Thread Bill Schmidt
On Jan 11, 2018, at 11:16 AM, Richard Biener wrote: > > On January 11, 2018 6:14:34 PM GMT+01:00, Segher Boessenkool > wrote: >> On Thu, Jan 11, 2018 at 10:25:25AM -0600, Bill Schmidt wrote: >>> This patch adds a pattern for "ori 31,31,0" as a speculation

[PATCH, rs6000] Add -msafe-indirect-jumps option and implement safe bctrl

2018-01-12 Thread Bill Schmidt
okay for trunk? Thanks, Bill [gcc] 2018-01-12 Bill Schmidt * config/rs6000/rs6000.c (rs6000_opt_vars): Add entry for safe-indirect-jumps. * config/rs6000/rs6000.md (*call_indirect_elfv2): Restrict to case where -msafe-indirect-jumps i

Re: [PATCH 1/3] [builtins] Generic support for __builtin_load_no_speculate()

2018-01-12 Thread Bill Schmidt
Hi Richard and Jeff, Sorry I missed this earlier today, it somehow ended up in my spam folder... > On Jan 12, 2018, at 10:08 AM, Richard Earnshaw (lists) > wrote: > > On 10/01/18 23:26, Jeff Law wrote: >> On 01/08/2018 09:01 AM, Bill Schmidt wrote: >>> On Jan 8

[PATCH v2, rs6000] Add -msafe-indirect-jumps option and implement safe bctr / bctrl

2018-01-13 Thread Bill Schmidt
;t see a way around it due to the expected form of indirect jumps in cfganal.c. Bootstrapped and tested on powerpc64-linux-gnu and powerpc64le-linux-gnu with no regressions. Is this okay for trunk? Thanks, Bill [gcc] 2018-01-13 Bill Schmidt * config/rs6000/rs6000.c (rs6000_opt_

Re: [PATCH, rs6000] Add -msafe-indirect-jumps option and implement safe bctrl

2018-01-13 Thread Bill Schmidt
Hi, This is now superceded by https://gcc.gnu.org/ml/gcc-patches/2018-01/msg01204.html. Sorry for the noise. Thanks, Bill > On Jan 12, 2018, at 4:33 PM, Bill Schmidt wrote: > > Hi, > > This patch adds a new option for the compiler to produce only "safe" indirect &

[PATCH, rs6000] Executable tests for -msafe-indirect-jumps

2018-01-14 Thread Bill Schmidt
patch is approved? Thanks, Bill 2018-01-14 Bill Schmidt * gcc.target/powerpc/safe-indirect-jump-4.c: New file. * gcc.target/powerpc/safe-indirect-jump-5.c: New file. * gcc.target/powerpc/safe-indirect-jump-6.c: New file. Index: gcc/testsuite/gcc.target/powerpc/safe

Re: [PATCH v2, rs6000] Add -msafe-indirect-jumps option and implement safe bctr / bctrl

2018-01-15 Thread Bill Schmidt
On Jan 15, 2018, at 3:46 AM, Richard Biener wrote: > > On Sun, Jan 14, 2018 at 5:53 AM, Bill Schmidt > wrote: >> Hi, >> >> [This patch supercedes and extends >> https://gcc.gnu.org/ml/gcc-patches/2018-01/msg01135.html. >> There was a small error in t

Re: [PATCH, rs6000] Executable tests for -msafe-indirect-jumps

2018-01-15 Thread Bill Schmidt
On Jan 15, 2018, at 11:05 AM, Segher Boessenkool wrote: > > Hi! > > On Sun, Jan 14, 2018 at 11:34:06AM -0600, Bill Schmidt wrote: >> It was pointed out off-list that I should add some executable tests for >> the new -msafe-indirect-jumps implementation. This patch add

Re: [PATCH v2, rs6000] Add -msafe-indirect-jumps option and implement safe bctr / bctrl

2018-01-15 Thread Bill Schmidt
Hi Segher, Thanks for the quick review! > On Jan 15, 2018, at 10:38 AM, Segher Boessenkool > wrote: > > Hi! > > On Sat, Jan 13, 2018 at 10:53:57PM -0600, Bill Schmidt wrote: >> This patch adds a new option for the compiler to produce only "safe" indirect

[PATCH v3, rs6000] Add -mspeculate-indirect-jumps option and implement non-speculating bctr / bctrl

2018-01-15 Thread Bill Schmidt
sions. Is this okay for trunk? Thanks, Bill [gcc] 2018-01-15 Bill Schmidt * config/rs6000/rs6000.c (rs6000_opt_vars): Add entry for -mspeculate-indirect-jumps. * config/rs6000/rs6000.md (*call_indirect_elfv2): Disable for -mno-speculate-indi

Re: [PATCH v3, rs6000] Add -mspeculate-indirect-jumps option and implement non-speculating bctr / bctrl

2018-01-16 Thread Bill Schmidt
On Jan 16, 2018, at 6:13 AM, Segher Boessenkool wrote: > > Hi! > > On Tue, Jan 16, 2018 at 09:29:13AM +0100, Richard Biener wrote: >> Did you consider simply removing the tablejump/casesi support so >> expansion always >> expands to a balanced tree? At least if we have any knobs to tune we >>

[PATCH, rs6000] Implement ABI_AIX indirect call handling for -mno-speculate-indirect-jumps

2018-01-16 Thread Bill Schmidt
l [gcc] 2018-01-16 Bill Schmidt * config/rs6000/rs6000.md (*call_indirect_aix): Disable for -mno-speculate-indirect-jumps. (*call_indirect_aix_nospec): New define_insn. (*call_value_indirect_aix): Disable for -mno-speculate

[PATCH v2, rs6000] Implement 32- and 64-bit BE handling for -mno-speculate-indirect-jumps

2018-01-16 Thread Bill Schmidt
call coverage. Bootstrapped and tested on powerpc64-linux-gnu and powerpc64le-linux-gnu with no regressions. Is this okay for trunk? Thanks, Bill [gcc] 2018-01-16 Bill Schmidt * config/rs6000/rs6000.md (*call_indirect_nonlocal_sysv): Generate different code for -mno

Re: [PATCH v2, rs6000] Implement 32- and 64-bit BE handling for -mno-speculate-indirect-jumps

2018-01-19 Thread Bill Schmidt
ked up on a respin anyway. So I should have the fix in place before that happens. Bill > > Thanks, David > > On Tue, Jan 16, 2018 at 9:08 PM, Bill Schmidt > wrote: >> Hi, >> >> This patch supercedes and extends >> https://gcc.gnu.org/ml/gcc-patches/2018-01/msg0

[PATCH, rs6000] Use $ instead of . for PC

2018-01-19 Thread Bill Schmidt
universally accepted alternative. So change the code and the test cases to use $ instead of . for this purpose. Regstrap is in progress on powerpc64-linux-gnu and powerpc64le-linux-gnu. Assuming no issues are found, is this okay for trunk and backport to 7? Thanks, Bill [gcc] 2018

Re: [PATCH, rs6000] Use $ instead of . for PC

2018-01-19 Thread Bill Schmidt
I see that David already proposed this same patch in PR83946. Sorry, I've gotten behind on my email. Two changes I need: The scan-assembly should have \$ rather than $ in it, and I should add PR83946 to the ChangeLog. Sorry for the noise. -- Bill Bill Schmidt, Ph.D. STSM, GCC Architec

Re: [PATCH, rs6000] Use $ instead of . for PC

2018-01-19 Thread Bill Schmidt
> On Jan 19, 2018, at 3:09 PM, Jakub Jelinek wrote: > > On Fri, Jan 19, 2018 at 02:58:07PM -0600, Bill Schmidt wrote: >> --- gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-2.c (revision >> 256894) >> +++ gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-2.c

Re: [PATCH, rs6000] Use $ instead of . for PC

2018-01-19 Thread Bill Schmidt
> On Jan 19, 2018, at 3:58 PM, Segher Boessenkool > wrote: > > On Fri, Jan 19, 2018 at 10:20:23PM +0100, Andreas Schwab wrote: >> On Jan 19 2018, Bill Schmidt wrote: >> >>>> On Jan 19, 2018, at 3:09 PM, Jakub Jelinek wrote: >>>> >>>

Re: [PATCH, rs6000] Use $ instead of . for PC

2018-01-19 Thread Bill Schmidt
> On Jan 19, 2018, at 7:53 PM, David Edelsohn wrote: > > On Fri, Jan 19, 2018 at 3:58 PM, Bill Schmidt > wrote: >> Hi, >> >> My recent patches to trunk and gcc-7-branch for avoiding speculation of >> indirect branches has a flaw, pointed out by David. Usag

[PATCH v2, rs6000] Use $ instead of . for PC

2018-01-19 Thread Bill Schmidt
to "setcr 2" to accommodate the AIX assembler. Thanks, Bill [gcc] 2018-01-19 Bill Schmidt David Edelsohn PR target/83946 * config/rs6000/rs6000.md (*sibcall_nonlocal_sysv): Change assembly output from . to $. (*sibcall_value

Re: [PATCH v2, rs6000] Use $ instead of . for PC

2018-01-19 Thread Bill Schmidt
Forgot to mention, these have also been tested successfully as backports in gcc-7-branch. Okay to fix there as well? Thanks, Bill > On Jan 19, 2018, at 9:31 PM, Bill Schmidt wrote: > > Hi, > > Here's the same patch with corrected test cases. This has now passed > b

[PATCH, rs6000] Requested cleanups for BE handling of -mno-speculate-indirect-jumps

2018-01-19 Thread Bill Schmidt
don't intend to backport these. Thanks, Bill 2018-01-19 Bill Schmidt * config/rs6000/rs6000.md (*call_indirect_nonlocal_sysv): Simplify the clause that sets the length attribute. (*call_value_indirect_nonlocal_sysv): Likewise. (*sibcall_nonlocal_sysv): Cle

[PATCH v3, rs6000] Use $ instead of . for PC, use "crset 2" instead of "crset eq"

2018-01-19 Thread Bill Schmidt
is still regstrapping on BE/LE, trunk/7. If these all complete successfully, is this okay for trunk and backport? Thanks, Bill [gcc] 2018-01-19 Bill Schmidt David Edelsohn PR target/83946 * config/rs6000/rs6000.md (*call_indirect_nonlocal_sysv):

Re: [PATCH v3, rs6000] Use $ instead of . for PC, use "crset 2" instead of "crset eq"

2018-01-20 Thread Bill Schmidt
On Jan 19, 2018, at 10:48 PM, Bill Schmidt wrote: > > Hi, > > Here's another version of this patch incorporating the late-breaking news > that the AIX assembler doesn't comprehend the "eq" symbol. Same as > https://gcc.gnu.org/ml/gcc-patches/2018-01/ms

Re: [PATCH v3, rs6000] Use $ instead of . for PC, use "crset 2" instead of "crset eq"

2018-01-20 Thread Bill Schmidt
On Jan 20, 2018, at 7:12 AM, Segher Boessenkool wrote: > > Hi Bill, > > On Fri, Jan 19, 2018 at 10:48:18PM -0600, Bill Schmidt wrote: >> Here's another version of this patch incorporating the late-breaking news >> that the AIX assembler doesn't comprehend t

[PATCH, rs6000] Skip safe-indirect-jump-8.c for AIX

2018-01-21 Thread Bill Schmidt
possible backport to 7 after a quick AIX sniff test? Thanks, Bill 2018-01-21 Bill Schmidt PR target/83946 * gcc.target/powerpc/safe-indirect-jump-8.c: Skip for AIX. Index: gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-8.c

Re: PR84033, powerpc64le -moptimize-swaps bad code with vec_vbpermq

2018-01-25 Thread Bill Schmidt
On Jan 25, 2018, at 4:09 AM, Alan Modra wrote: > > vbpermq produces its output in bits 48..63 of the target vector reg, > so the output cannot be lane swapped. Bootstrapped and regression > tested powerpc64le-linux. OK to apply mainline, and backport to the > branches? I can't approve, but FWI

[PATCH] Fix PR81038

2018-02-02 Thread Bill Schmidt
tput. Verified on powerpc64le-unknown-linux-gnu. Is this okay for trunk? Thanks, Bill 2018-02-02 Bill Schmidt * g++.dg/vect/slp-pr56812.cc: Convert from DOS newline characters to utf-8-unix. Change to scan "optimized" dump for indications that the code was

[PATCH, rs6000] Deprecate -mno-speculate-indirect-jumps

2018-02-05 Thread Bill Schmidt
remove it completely in GCC 9. Bootstrapped and tested on powerpc64le-linux-gnu with no regressions. Is this okay for trunk? At least one distribution partner has also requested that we backport this to the GCC 7 branch for 7.4. Is that okay as well? Thanks, Bill [gcc] 2018-02-05 Bi

Re: [PATCH, rs6000] Deprecate -mno-speculate-indirect-jumps

2018-02-06 Thread Bill Schmidt
On Feb 6, 2018, at 10:33 AM, Segher Boessenkool wrote: > > Hi Bill, > > On Mon, Feb 05, 2018 at 12:28:34PM -0600, Bill Schmidt wrote: >> It's been determined that we won't recommend use of the recently added >> undocumented option -mno-speculate-indirec

Re: [PATCH] Fix PR81038

2018-02-08 Thread Bill Schmidt
> On Feb 8, 2018, at 4:52 AM, Richard Biener wrote: > > On Sat, Feb 3, 2018 at 12:30 AM, Bill Schmidt > wrote: >> Hi, >> >> The test g++.dg/vect/slp-pr56812.cc is somewhat fragile and is currently >> failing >> on several targets. PR81038

Re: [PATCH, rs6000] PR84220 fix altivec_vec_sld and vec_sldw intrinsic definitions

2018-02-14 Thread Bill Schmidt
> On Feb 13, 2018, at 5:28 PM, Will Schmidt wrote: > > On Thu, 2018-02-08 at 17:48 -0600, Segher Boessenkool wrote: >> Hi! >> >> On Wed, Feb 07, 2018 at 09:14:59AM -0600, Will Schmidt wrote: >>> Our VEC_SLD definitions were mistakenly allowing the third argument to be >>> of an invalid type, t

Rename __builtin_rs6000_speculation_barrier

2018-03-04 Thread Bill Schmidt
s this okay for trunk? Thanks, Bill [gcc] 2018-03-04 Bill Schmidt * config/rs6000/rs6000-builtin.def (rs6000_speculation_barrier): Rename to powerpc_speculation_barrier. * config/rs6000/rs6000.c (rs6000_expand_builtin): Rename called

Re: Rename __builtin_rs6000_speculation_barrier

2018-03-05 Thread Bill Schmidt
> On Mar 5, 2018, at 9:04 AM, Segher Boessenkool > wrote: > > Hi! > > On Sun, Mar 04, 2018 at 01:52:20PM -0600, Bill Schmidt wrote: >> We realized recently that the use of "rs6000" in a builtin name doesn't agree >> with our normal naming convent

Re: [PATCH ] PR 844422 Fix FCTID, FCTIW with -mcpu=power7

2018-03-19 Thread Bill Schmidt
On Mar 16, 2018, at 5:51 PM, Segher Boessenkool wrote: > > Hi Carl, > > On Wed, Mar 14, 2018 at 08:27:08AM -0700, Carl Love wrote: >> The following patch fixes an ICE when compiling the test case >> >> gcc -mcpu=power7 builtin-fctid-fctiw-runnable.c >> >> The GCC compiler now gives a message

Re: [PATCH ] PR 844422 Fix FCTID, FCTIW with -mcpu=power7

2018-03-19 Thread Bill Schmidt
> On Mar 19, 2018, at 8:19 AM, Bill Schmidt wrote: > > On Mar 16, 2018, at 5:51 PM, Segher Boessenkool > wrote: >> >> Hi Carl, >> >> On Wed, Mar 14, 2018 at 08:27:08AM -0700, Carl Love wrote: >>> The following patch fixes an ICE when compiling th

[PATCH, rs6000] xmmintrin.h needs to use __vector __bool everywhere

2018-03-27 Thread Bill Schmidt
ases where this was happening. They haven't caused trouble yet, but it's just a matter of time. This patch cleans those up. Bootstrapped and tested on powerpc64le-unknown-linux-gnu. Is this okay for trunk? Thanks, Bill 2018-03-27 Bill Schmidt * config/rs6000/xmmintrin.h (_m

[PATCH, committed] Update my MAINTAINERS entries

2018-03-30 Thread Bill Schmidt
Just updating my email address and making it a little clearer which is which between Will Schmidt and me. Committed. 2018-03-30 Bill Schmidt * MAINTAINERS: Update my email address and disambiguate myself a bit from Will Schmidt. Index: MAINTAINERS

Re: [PATCH, committed] Update my MAINTAINERS entries

2018-04-01 Thread Bill Schmidt
> On Mar 31, 2018, at 7:49 AM, Gerald Pfeifer wrote: > > On Fri, 30 Mar 2018, Bill Schmidt wrote: >> Just updating my email address and making it a little clearer which >> is which between Will Schmidt and me. Committed. > > Actually you can (should) remove

[PATCH, rs6000] Undefine vector, bool, pixel in xmmintrin.h

2018-04-01 Thread Bill Schmidt
ested on powerpc64le-linux-gnu with no regressions. Is this okay for trunk? Thanks, Bill [gcc] 2018-04-02 Bill Schmidt * config/rs6000/emmintrin.h (_mm_cvtpd_epi32): Use __vector rather than vector. (_mm_cvtpd_ps): Likewise. (_mm_cvttpd_epi32): Likewise.

Re: [PATCH, rs6000] Undefine vector, bool, pixel in xmmintrin.h

2018-04-04 Thread Bill Schmidt
> On Apr 4, 2018, at 3:53 AM, Jakub Jelinek wrote: > > On Sun, Apr 01, 2018 at 08:24:32PM -0500, Bill Schmidt wrote: >> I also updated the gcc.target/powerpc/powerpc.exp file to allow C++ >> tests to be placed in that directory (with a *.C suffix). > > I think th

Re: [PATCH, rs6000] Undefine vector, bool, pixel in xmmintrin.h

2018-04-04 Thread Bill Schmidt
On Apr 4, 2018, at 3:51 PM, Jakub Jelinek wrote: > > On Wed, Apr 04, 2018 at 03:47:18PM -0500, Bill Schmidt wrote: >>> If we (for GCC9?) want to create a spot for target C++ tests, we should >>> just add g++.target// directories and add all the needed infrastructure >

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

2018-09-12 Thread Bill Schmidt
On 9/12/18 8:23 AM, Segher Boessenkool wrote: > Hi! > > Sorry this is all taking so long. > > On Mon, Aug 20, 2018 at 04:44:30PM -0500, Will Schmidt wrote: >> 2018-08-20 Will Schmidt >> >> * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add support for >>early gimple fol

Re: [PATCH,rs6000] Add _MM_SHUFFLE definitions for rs6000

2018-09-13 Thread Bill Schmidt
On 9/13/18 2:08 PM, Carl Love wrote: > GCC maintainers: > > The _MM_SHUFFLE and _MM_SHUFFLE2 macros are currently defined in the > i386 branch. This patch adds the two macro definitions to the rs6000 > config directory as requested. > > The patch has been tested on  > > powerpc64le-unknown-l

[PATCH, rs6000, committed] Use correct ABI type in mmintrin.h and xmmintrin.h

2018-09-15 Thread Bill Schmidt
Hi, Jinsong Ji reported that these header files are using the non-ABI type __int128_t rather than __int128. This patch from Jinsong corrects this. Bootstrapped and tested on powerpc64le-linux-gnu with no regressions, committed as obvious. Thanks, Bill 2018-09-15 Jinsong Ji Bill

Re: [PATCH, rs6000, committed] Use correct ABI type in mmintrin.h and xmmintrin.h

2018-09-17 Thread Bill Schmidt
On 9/15/18 4:21 PM, Segher Boessenkool wrote: > On Sat, Sep 15, 2018 at 03:28:17PM -0500, Bill Schmidt wrote: >> Jinsong Ji reported that these header files are using the non-ABI type >> __int128_t rather than __int128. This patch from Jinsong corrects this. >> Boots

[PATCH, testsuite] Fix powerpc-specific portions of PR85326

2018-04-15 Thread Bill Schmidt
-04-15 Bill Schmidt PR testsuite/85326 * g++.dg/undef-bool-1.C: New file. * gcc.target/powerpc/powerpc.exp: Remove .C support. * gcc.target/powerpc/undef-bool-1.C: Remove file. Index: gcc/testsuite/g++.dg/undef-bool-1.C

Re: [PATCH, testsuite] Fix powerpc-specific portions of PR85326

2018-04-15 Thread Bill Schmidt
On Apr 15, 2018, at 5:50 PM, Jakub Jelinek wrote: > > On Sun, Apr 15, 2018 at 04:53:27PM -0500, Bill Schmidt wrote: >> 2018-04-15 Bill Schmidt >> >> PR testsuite/85326 >> * g++.dg/undef-bool-1.C: New file. > > Tests really shouldn&#x

Re: [PATCH, testsuite] Fix powerpc-specific portions of PR85326

2018-04-15 Thread Bill Schmidt
On Apr 15, 2018, at 6:29 PM, Segher Boessenkool wrote: > > On Sun, Apr 15, 2018 at 06:08:44PM -0500, Bill Schmidt wrote: >> On Apr 15, 2018, at 5:50 PM, Jakub Jelinek wrote: >>> >>> On Sun, Apr 15, 2018 at 04:53:27PM -0500, Bill Schmidt wrote: >>>> 2

[PATCH, rs6000] Fix PR85080

2018-04-15 Thread Bill Schmidt
[gcc/testsuite] 2018-04-16 Bill Schmidt PR target/85080 * gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c: Skip dump checks if the target supports efficient unaligned storage accesses. Index: gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c

[PATCH, rs6000, committed] Fix undef-bool-* tests for older BE processors

2018-04-17 Thread Bill Schmidt
as --with-cpu=power4), target triple powerpc64-linux-gnu. Committed as obvious. Thanks, Bill [gcc/testsuite] 2018-04-17 Bill Schmidt * gcc.target/powerpc/undef-bool-2.c: Add -mvsx. * gcc.target/g++.dg/ext/undef-bool-1.C: Likewise. Index: gcc/testsuite/gcc.target/powerpc

[PATCH, rs6000, committed] undef-bool-* tests should exclude -m32

2018-04-20 Thread Bill Schmidt
Hi, These two new tests don't work with -m32, because they include headers that don't support 32-bit. Require lp64 to stop the noise. Tested on powerpc64-linux-gnu (P7, 32/64) and powerpc64le-linux-gnu (P8, 64), committed as pre-approved. Thanks! Bill [gcc/testsuite] 2018-0

[PATCH] Fix PR85712 (SLSR cleanup of alternative interpretations)

2018-05-22 Thread Bill Schmidt
all supported branches after some burn-in time? Thanks, Bill 2018-05-22 Bill Schmidt * gimple-ssa-strength-reduction.c (struct slsr_cand_d): Add first_interp field. (alloc_cand_and_find_basis): Initialize first_interp field. (slsr_process_mul): Modify

Re: [PATCH] Fix PR85712 (SLSR cleanup of alternative interpretations)

2018-05-23 Thread Bill Schmidt
On May 23, 2018, at 4:32 AM, Richard Biener wrote: > > On Tue, May 22, 2018 at 11:37 PM Bill Schmidt > wrote: > >> Hi, > >> PR85712 shows where an existing test case fails in the SLSR pass because >> the code is flawed that cleans up alternative interpretati

[PATCH] Make web_entry subclassable

2014-08-13 Thread Bill Schmidt
nd tested on powerpc64le-unknown-linux-gnu with no regressions. Is this ok for trunk? Thanks, Bill 2014-08-13 Bill Schmidt * df.h (web_entry_base): Replace existing struct web_entry with a new class web_entry_base with only the predecessor member. (unionfind_

[PATCH,rs6000] Add pass to optimize away xxpermdi's from vector computations

2014-08-13 Thread Bill Schmidt
are added to verify that the pass works as expected for some vectorized code samples. Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no regressions. Is this ok for trunk? Thanks, Bill [gcc] 2014-08-13 Bill Schmidt * config/rs6000/rs6000.c (context.h): New incl

[PATCH,rs6000] Add __VEC_ELEMENT_REG_ORDER__ builtin define for PowerPC

2014-08-15 Thread Bill Schmidt
Bill Schmidt * conifg/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Provide builtin define __VEC_ELEMENT_REG_ORDER__. Index: gcc/config/rs6000/rs6000-c.c === --- gcc/config/rs6000/rs6000-c.c(revision 214025

Re: [PATCH,rs6000] Add pass to optimize away xxpermdi's from vector computations

2014-08-17 Thread Bill Schmidt
On Sun, 2014-08-17 at 14:52 -0400, David Edelsohn wrote: > On Wed, Aug 13, 2014 at 7:14 PM, Bill Schmidt > wrote: > > Hi, > > > > This patch adds a PowerPC-specific pass just prior to the first cse RTL > > pass. The pass runs only when generating little-endia

[PING][PATCH] Make web_entry subclassable

2014-08-20 Thread Bill Schmidt
Ping -- the patch that depends on this one has been approved, but I am still waiting for approval on these target-independent bits. Thanks, Bill On Wed, 2014-08-13 at 18:01 -0500, Bill Schmidt wrote: > Hi, > > I want to reuse some of the infrastructure in web.c (and df.h) for a

Re: [PATCH,rs6000] Add __VEC_ELEMENT_REG_ORDER__ builtin define for PowerPC

2014-08-20 Thread Bill Schmidt
However, our macro is tied to a particular target-specific option. If other targets find the concept useful we'd certainly be open to a more unified approach. Thanks, Bill > --Alan > > Bill Schmidt wrote: > > Hi, > > > > This adds a macro to indicate the order in

<    1   2   3   4   5   6   7   8   9   10   >