Re: [PATCH, rs6000 v3] enable gimple folding for vec_xl, vec_xst

2018-07-10 Thread Bill Schmidt
> On Jul 10, 2018, at 2:10 AM, Richard Biener > wrote: > > On Mon, Jul 9, 2018 at 9:08 PM Will Schmidt wrote: >> >> Hi, >> Re-posting. Richard provided feedback on a previous version of this >> patch, I wanted to make sure he was/is OK with the latest. :-) >> >> Add support for Gimple fol

Re: [PATCH 0/7] Mitigation against unsafe data speculation (CVE-2017-5753)

2018-07-10 Thread Bill Schmidt
well with systems that used a single speculation >>> barrier that essentially had to wait until all preceding speculation >>> had to be resolved. >> Right. I suggest the Intel and IBM reps chime in on the updated semantics. >> > > Yes, logically, this is a bool

Re: [PATCH, rs6000 v3] enable gimple folding for vec_xl, vec_xst

2018-07-10 Thread Bill Schmidt
> On Jul 10, 2018, at 8:48 AM, Richard Biener > wrote: > > On Tue, Jul 10, 2018 at 3:33 PM Bill Schmidt wrote: >> >> >>> On Jul 10, 2018, at 2:10 AM, Richard Biener >>> wrote: >>> >>> On Mon, Jul 9, 2018 at 9:08 PM Will S

[PATCH, rs6000] Add missing logical-op interfaces to emmintrin.h

2018-07-11 Thread Bill Schmidt
Bill [gcc] 2018-07-10 Bill Schmidt Steve Munroe * config/rs6000/emmintrin.h (_mm_and_si128): New function. (_mm_andnot_si128): Likewise. (_mm_or_si128): Likewise. (_mm_xor_si128): Likewise. [gcc/testsuite] 2018-07-10 Bill Schmidt

[PATCH, cvs] Clarify that powerpc64le-linux-gnu is a primary platform

2018-07-16 Thread Bill Schmidt
Hi, I occasionally get questions about powerpc64le-linux-gnu being a primary platform for GCC, since the release criteria don't specifically call it out (see https://gcc.gnu.org/gcc-8/criteria.html). Currently powerpc64-linux-gnu (for big-endian) is listed instead, which is misleading. I wonder

Re: [PATCH 11/11] rs6000 - add speculation_barrier pattern

2018-07-31 Thread Bill Schmidt
Hi Richard, I can't ack the patch, but I am happy with it. Thank you for this work! -- Bill Bill Schmidt, Ph.D. STSM, GCC Architect for Linux on Power IBM Linux Technology Center wschm...@linux.vnet.ibm.com > On Jul 27, 2018, at 4:37 AM, Richard Earnshaw > wrote: > > >

New repository location

2020-01-19 Thread Bill Schmidt
Question:  Is the new gcc git repository at gcc.gnu.org/git/gcc.git using the same location as the earlier git mirror did?  I'm curious whether our repository on pike is still syncing with the new master, or whether we need to make some adjustments before we next rebase pu against master.

Re: New repository location

2020-01-19 Thread Bill Schmidt
I apologize, I sent this to the wrong mailing list, this had meant to be internal.  But thank you very much for the information!  It appears we have some adjustments to make. Thanks! Bill On 1/19/20 8:46 AM, H.J. Lu wrote: On Sun, Jan 19, 2020 at 6:33 AM Bill Schmidt wrote: Question: Is

Re: [rfc PATCH] rs6000: Updated constraint documentation

2020-01-31 Thread Bill Schmidt
On 1/30/20 6:17 PM, Segher Boessenkool wrote: This is my current work-in-progress version. There still are rough edges, and not much is done for the output modifiers yet, but it should be in much better shape wrt the user manual now. The internals manual also is a bit better I think. md.texi

Re: [rfc PATCH] rs6000: Updated constraint documentation

2020-01-31 Thread Bill Schmidt
On 1/31/20 9:42 AM, Segher Boessenkool wrote: Hi Bill, Thanks a lot for looking at this! :-) On Fri, Jan 31, 2020 at 08:49:21AM -0600, Bill Schmidt wrote: +(define_register_constraint "wa" "rs6000_constraints[RS6000_CONSTRAINT_wa]" + "A VSX register (VSR), @c

[PATCH 03/14] Add file support and functions for diagnostic support.

2020-02-03 Thread Bill Schmidt
2020-02-03 Bill Schmidt * config/rs6000/rs6000-genbif.c (bif_file): New filescope variable. (ovld_file): Likewise. (header_file): Likewise. (init_file): Likewise. (defines_file): Likewise. (pgm_path): Likewise. (bif_path

[PATCH 01/14] Initial create of rs6000-genbif.c.

2020-02-03 Thread Bill Schmidt
Includes header documentation and initial set of include directives. 2020-02-03 Bill Schmidt * config/rs6000/rs6000-genbif.c: New file. --- gcc/config/rs6000/rs6000-genbif.c | 124 ++ 1 file changed, 124 insertions(+) create mode 100644 gcc/config/rs6000

[PATCH 00/14] rs6000: Begin replacing built-in support

2020-02-03 Thread Bill Schmidt
s for easy consumption, but some of the patches may still be a bit large. Please let me know if you'd like me to break any of them up. Thanks in advance for the review! Bill Schmidt (14): Initial create of rs6000-genbif.c. Add stubs for input files. These will grow much larger. Add f

[PATCH 04/14] Support functions to parse whitespace, lines, identifiers, integers.

2020-02-03 Thread Bill Schmidt
2020-02-03 Bill Schmidt * config/rs6000/rs6000-genbif.c (MININT): New defined constant. (exit_codes): New enum. (consume_whitespace): New function. (advance_line): New function. (safe_inc_pos): New function. (match_identifier): New function

[PATCH 02/14] Add stubs for input files. These will grow much larger.

2020-02-03 Thread Bill Schmidt
track this as I move through the transition. 2020-02-03 Bill Schmidt * config/rs6000/rs6000-bif.def: New file. * config/rs6000/rs6000-call.c (altivec_overloaded_builtins): Annotate some deprecated and bogus entries. * config/rs6000/rs6000-overload.def: New file

[PATCH 07/14] Add main function with stub functions for parsing and output.

2020-02-03 Thread Bill Schmidt
2020-02-03 Bill Schmidt * config/rs6000/rs6000-genbif.c (rbtree.h): New include. (num_bif_stanzas): New filescope variable. (num_bifs): Likewise. (num_ovld_stanzas): Likewise. (num_ovlds): Likewise. (exit_codes): Add more enum values

[PATCH 08/14] Add support for parsing rs6000-bif.def.

2020-02-03 Thread Bill Schmidt
2020-02-03 Bill Schmidt * config/rs6000/rs6000-genbif.c (MAXBIFSTANZAS): New defined constant. (bif_stanzas): New filescope variable. (curr_bif_stanza): Likewise. (fnkinds): New enum. (typelist): New struct. (attrinfo): New struct

[PATCH 05/14] Add support functions for matching types.

2020-02-03 Thread Bill Schmidt
2020-02-03 Bill Schmidt * config/rs6000/rs6000-genbif.c (void_status): New enum. (basetype): Likewise. (restriction): Likewise. (typeinfo): New struct. (match_basetype): New function. (match_const_restriction): New function. (match_type

[PATCH 06/14] Red-black tree implementation for balanced tree search.

2020-02-03 Thread Bill Schmidt
2020-02-03 Bill Schmidt * config/rs6000/rbtree.c: New file. * config/rs6000/rbtree.h: New file. --- gcc/config/rs6000/rbtree.c | 233 + gcc/config/rs6000/rbtree.h | 51 2 files changed, 284 insertions(+) create mode 100644 gcc

[PATCH 09/14] Add parsing support for rs6000-overload.def.

2020-02-03 Thread Bill Schmidt
2020-02-03 Bill Schmidt * config/rs6000/rs6000-genbif.c (ovld_stanza): New struct. (MAXOVLDSTANZAS): New defined constant. (ovld_stanzas): New filescope variable. (curr_ovld_stanza): Likewise. (MAXOVLDS): New defined constant. (ovlddata): New

[PATCH 12/14] Write code to rs6000-bif.h.

2020-02-03 Thread Bill Schmidt
2020-02-03 Bill Schmidt * config/rs6000/rs6000-genbif.c (write_autogenerated_header): New function. (write_bif_enum): New callback function. (write_ovld_enum): New callback function. (write_decls): New function. (write_extern_fntype): New

[PATCH 11/14] Write #defines to rs6000-vecdefines.h.

2020-02-03 Thread Bill Schmidt
2020-02-03 Bill Schmidt * config/rs6000/rs6000-genbif.c (write_defines_file): Implement. --- gcc/config/rs6000/rs6000-genbif.c | 4 1 file changed, 4 insertions(+) diff --git a/gcc/config/rs6000/rs6000-genbif.c b/gcc/config/rs6000/rs6000-genbif.c index 7bb7d2b24a4..0bcd035060d

[PATCH 10/14] Build function type identifiers and store them.

2020-02-03 Thread Bill Schmidt
2020-02-03 Bill Schmidt * config/rs6000/rs6000-genbif.c (complete_vector_type): New function. (complete_base_type): New function. (construct_fntype_id): New function. (parse_bif_entry): Call construct_fntype_id. (parse_ovld_entry): Likewise

[PATCH 13/14] Write code to rs6000-bif.c.

2020-02-03 Thread Bill Schmidt
2020-02-03 Bill Schmidt * config/rs6000/rs6000-genbif.c (typemap): New struct. (TYPE_MAP_SIZE): New defined constant. (type_map): New filescope variable. (write_fntype): New callback function. (map_token_to_type_node): New function

[PATCH 14/14] Incorporate new code into the build machinery.

2020-02-03 Thread Bill Schmidt
2020-02-03 Bill Schmidt * config.gcc (powerpc-*-*-*): Add rs6000-bif.o to extra_objs. * config/rs6000/t-rs6000 (rs6000-genbif.o): New target. (rbtree.o): Likewise. (rs6000-genbif): Likewise. (rs6000-bif.c): Likewise. (rs6000-bif.o): Likewise

Re: [PATCH 01/14] Initial create of rs6000-genbif.c.

2020-02-04 Thread Bill Schmidt
On 2/4/20 12:27 PM, Segher Boessenkool wrote: Hi! On Mon, Feb 03, 2020 at 08:26:02PM -0600, Bill Schmidt wrote: Includes header documentation and initial set of include directives. Please use full sentences in commit messages. OK. +/* This program generates built-in function

Re: [PATCH 01/14] Initial create of rs6000-genbif.c.

2020-02-04 Thread Bill Schmidt
On 2/4/20 4:36 PM, Segher Boessenkool wrote: On Tue, Feb 04, 2020 at 03:10:32PM -0600, Bill Schmidt wrote: I really don't think using the new acronym "bif" helps; built-in functions already are often called "builtins" (or "intrinsics", which is problematic i

Re: [PATCH 00/14] rs6000: Begin replacing built-in support

2020-02-05 Thread Bill Schmidt
On 2/5/20 6:30 AM, Segher Boessenkool wrote: Hi! On Wed, Feb 05, 2020 at 08:57:16AM +0100, Richard Biener wrote: On Tue, Feb 4, 2020 at 6:40 PM Segher Boessenkool wrote: On Mon, Feb 03, 2020 at 08:26:01PM -0600, Bill Schmidt wrote: My intent is to make adding new built-in functions as

rs6000: Correct documentation for __builtin_mtfsf

2020-02-06 Thread Bill Schmidt
Hi, PR93570 reports that the documentation shows __builtin_mtfsf to return a double, but that is incorrect.  The return signature should be void. Corrected herein. Built on powerpc64le-unknown-linux-gnu and verified correct PDF output. Committed as obvious. Thanks! Bill 2020-02-06 Bill

Re: [PATCH], Rename and document PowerPC -mprefixed-addr to -mprefixed

2020-02-10 Thread Bill Schmidt
On 2/10/20 9:24 PM, Segher Boessenkool wrote: Hi! On Mon, Feb 10, 2020 at 01:45:42PM -0500, Michael Meissner wrote: This patch renames the PowerPC internal switch -mprefixed-addr to be -mprefixed. If you use -mpcrel, you must be using the 64-bit ELF v2 ABI, and the code model must be medium.

Re: [PATCH, rs6000] Adjust vectorization cost for scalar COND_EXPR

2019-12-11 Thread Bill Schmidt
Hi! I can't approve this, but for what it's worth it looks fine to me. Bill On 12/11/19 6:31 AM, Kewen.Lin wrote: Hi, We found that the vectorization cost modeling on scalar COND_EXPR is a bit off on rs6000. One typical case is 548.exchange2_r, -Ofast -mcpu=power9 -mrecip -fvect-cost-model=u

Re: [PATCH]. Fix HAVE_SYS_SDT_H for cross-compilation

2013-08-22 Thread Bill Schmidt
Hi Christian and Jakub, I'm curious whether there was ever any resolution for: http://gcc.gnu.org/ml/gcc-patches/2012-12/msg01124.html. We've encountered what appears to be the same issue internally when building a cross for powerpc64le-linux-gnu: /scratch/tmp/anton/toolchain/build/src/gcc/libgc

Re: [PATCH]. Fix HAVE_SYS_SDT_H for cross-compilation

2013-08-22 Thread Bill Schmidt
On Thu, 2013-08-22 at 19:47 +0200, Jakub Jelinek wrote: > On Thu, Aug 22, 2013 at 09:39:48AM -0500, Bill Schmidt wrote: > > Hi Christian and Jakub, > > > > I'm curious whether there was ever any resolution for: > > http://gcc.gnu.org/ml/gcc-patches/2012-12/msg

Re: [PATCH GCC]Catch more MEM_REFs sharing common addressing part in gimple strength reduction

2013-09-07 Thread Bill Schmidt
On Mon, 2013-09-02 at 11:15 +0200, Richard Biener wrote: > On Mon, Sep 2, 2013 at 8:56 AM, bin.cheng wrote: > > Hi, > > > > The gimple-ssa-strength-reduction pass handles CAND_REFs in order to find > > different MEM_REFs sharing common part in addressing expression. If such > > MEM_REFs are found

Re: [PATCH GCC]Catch more MEM_REFs sharing common addressing part in gimple strength reduction

2013-09-08 Thread Bill Schmidt
On Mon, 2013-09-02 at 11:15 +0200, Richard Biener wrote: > On Mon, Sep 2, 2013 at 8:56 AM, bin.cheng wrote: > > Hi, > > > > The gimple-ssa-strength-reduction pass handles CAND_REFs in order to find > > different MEM_REFs sharing common part in addressing expression. If such > > MEM_REFs are found

RE: [PATCH GCC]Catch more MEM_REFs sharing common addressing part in gimple strength reduction

2013-09-09 Thread Bill Schmidt
On Mon, 2013-09-09 at 14:25 +0800, bin.cheng wrote: > Thanks for reviewing, I will correct all stupid spelling problem in the next > version of patch. > > On Mon, Sep 9, 2013 at 8:15 AM, Bill Schmidt > wrote: > > > >>>+ int (i * S). > >>&

RE: [PATCH GCC]Catch more MEM_REFs sharing common addressing part in gimple strength reduction

2013-09-09 Thread Bill Schmidt
On Mon, 2013-09-09 at 10:20 -0500, Bill Schmidt wrote: > On Mon, 2013-09-09 at 14:25 +0800, bin.cheng wrote: > > Thanks for reviewing, I will correct all stupid spelling problem in the > > next version of patch. > > > > On Mon, Sep 9, 2013 at 8:15 A

RE: [PATCH GCC]Catch more MEM_REFs sharing common addressing part in gimple strength reduction

2013-09-10 Thread Bill Schmidt
On Tue, 2013-09-10 at 15:41 +0800, bin.cheng wrote: > On Mon, Sep 9, 2013 at 11:35 PM, Bill Schmidt > wrote: > > > >> > I rely on size_binop to convert T2 into sizetype, because T2' may be in > >> > other kind of type. Otherwise there will be ssa_ve

Re: [PATCH GCC] Tweak gimple-ssa-strength-reduction.c:backtrace_base_for_ref () to cover different cases as seen on AArch64

2013-09-11 Thread Bill Schmidt
On Wed, 2013-09-11 at 10:32 +0200, Richard Biener wrote: > On Tue, Sep 10, 2013 at 5:53 PM, Yufeng Zhang wrote: > > Hi, > > > > Following Bin's patch in > > http://gcc.gnu.org/ml/gcc-patches/2013-09/msg00695.html, this patch tweaks > > backtrace_base_for_ref () to strip of any widening conversion

Re: [PATCH, PowerPC] Fix PR57949 (ABI alignment issue)

2013-09-11 Thread Bill Schmidt
On Wed, 2013-09-11 at 21:08 +0930, Alan Modra wrote: > On Wed, Aug 14, 2013 at 10:32:01AM -0500, Bill Schmidt wrote: > > This fixes a long-standing problem with GCC's implementation of the > > PPC64 ELF ABI. If a structure contains a member requiring 128-bit > > alignm

[PATCH, PowerPC] Change code generation for VSX loads and stores for little endian

2013-09-30 Thread Bill Schmidt
continuing to investigate the recently introduced problems. I also bootstrapped and tested the patch on a big-endian machine (powerpc64-unknown-linux-gnu) to verify that I introduced no regressions in that environment. Ok for trunk? Thanks, Bill gcc: 2013-09-30 Bill Schmidt * config

Re: [PATCH GCC] Tweak gimple-ssa-strength-reduction.c:backtrace_base_for_ref () to cover different cases as seen on AArch64

2013-10-01 Thread Bill Schmidt
t; * gimple-ssa-strength-reduction.c (safe_to_multiply_p): New > > function. > > (backtrace_base_for_ref): Call get_unwidened, check 'base_in' > > again and set unwidend_p with true; call safe_to_multiply_p to avoid > >

Re: [PATCH GCC] Tweak gimple-ssa-strength-reduction.c:backtrace_base_for_ref () to cover different cases as seen on AArch64

2013-10-01 Thread Bill Schmidt
On Tue, 2013-10-01 at 08:17 -0500, Bill Schmidt wrote: > On Tue, 2013-10-01 at 12:19 +0200, Richard Biener wrote: > > On Wed, Sep 25, 2013 at 1:37 PM, Yufeng Zhang wrote: > > > Hello, > > > > > > Please find the updated version of the patch in the att

Re: [PATCH GCC] Tweak gimple-ssa-strength-reduction.c:backtrace_base_for_ref () to cover different cases as seen on AArch64

2013-10-01 Thread Bill Schmidt
On Tue, 2013-10-01 at 08:17 -0500, Bill Schmidt wrote: > On Tue, 2013-10-01 at 12:19 +0200, Richard Biener wrote: > > On Wed, Sep 25, 2013 at 1:37 PM, Yufeng Zhang wrote: > > > Hello, > > > > > > Please find the updated version of the patch in the att

Re: [PATCH GCC] Tweak gimple-ssa-strength-reduction.c:backtrace_base_for_ref () to cover different cases as seen on AArch64

2013-10-01 Thread Bill Schmidt
dig deeper into why those opportunities are missed when sizetype is larger than int. Let me know if you need help figuring it out. Thanks, Bill On Tue, 2013-10-01 at 16:06 +0100, Yufeng Zhang wrote: > Hi Bill, > > Thank you for the review and the offer to help. > > On 10/01/13

Re: [PATCH GCC] Tweak gimple-ssa-strength-reduction.c:backtrace_base_for_ref () to cover different cases as seen on AArch64

2013-10-01 Thread Bill Schmidt
On Tue, 2013-10-01 at 11:56 -0500, Bill Schmidt wrote: > OK, thanks. The problem that you've encountered is that you are > attempting to do something illegal. ;) (Bin's original patch is > actually to blame for that, as well as me for not catching it then.) > > As y

Re: [PATCH GCC] Tweak gimple-ssa-strength-reduction.c:backtrace_base_for_ref () to cover different cases as seen on AArch64

2013-10-01 Thread Bill Schmidt
On Tue, 2013-10-01 at 23:57 +0100, Yufeng Zhang wrote: > On 10/01/13 20:55, Bill Schmidt wrote: > > > > > > On Tue, 2013-10-01 at 11:56 -0500, Bill Schmidt wrote: > >> OK, thanks. The problem that you've encountered is that you are > >> attempting

Re: [PATCH GCC] Tweak gimple-ssa-strength-reduction.c:backtrace_base_for_ref () to cover different cases as seen on AArch64

2013-10-02 Thread Bill Schmidt
On Tue, 2013-10-01 at 20:21 -0500, Bill Schmidt wrote: > On Tue, 2013-10-01 at 23:57 +0100, Yufeng Zhang wrote: > > On 10/01/13 20:55, Bill Schmidt wrote: > > > > > > > > > On Tue, 2013-10-01 at 11:56 -0500, Bill Schmidt wrote: > > >> OK, thanks.

[PATCH, committed] Fix PR55008

2012-10-22 Thread Bill Schmidt
be a legal basis for the second, resulting in an invalid replacement. The obvious solution is to keep a statement from serving as its own basis. Bootstrapped and tested on powerpc64-unknown-linux-gnu with no new regressions, committed as obvious. Thanks, Bill -- Bill Schmidt, Ph.D. IBM Advance Too

Re: [PATCH GCC] Tweak gimple-ssa-strength-reduction.c:backtrace_base_for_ref () to cover different cases as seen on AArch64

2013-10-02 Thread Bill Schmidt
On Wed, 2013-10-02 at 07:40 -0500, Bill Schmidt wrote: > On Tue, 2013-10-01 at 20:21 -0500, Bill Schmidt wrote: > > On Tue, 2013-10-01 at 23:57 +0100, Yufeng Zhang wrote: > > > On 10/01/13 20:55, Bill Schmidt wrote: > > > > > > > > > > > >

[PATCH, rs6000] Correct vector permute for little endian

2013-10-06 Thread Bill Schmidt
known-linux-gnu and powerpc64-unknown-linux-gnu. Ok for trunk? Thanks, Bill 2013-10-06 Bill Schmidt * config/rs6000/rs6000.c (altivec_expand_vec_perm_const_le): New. (altivec_expand_vec_perm_const): Call it. Index: gcc/config/rs6000/rs6

[PATCH, rs6000] Fix variable permute control vectors for little endian

2013-10-09 Thread Bill Schmidt
okay for trunk? Thanks, Bill 2013-10-09 Bill Schmidt * config/rs6000/vector.md (vec_realign_load): Generate vperm directly to circumvent subtract from splat{31} workaround. * config/rs6000/rs6000-protos.h (altivec_expand_vec_perm_le): New prototype.

[PATCH, rs6000] Handle missing permute splits for V2DF/V4SF in little endian

2013-10-11 Thread Bill Schmidt
regressions. Ok for trunk? Thanks, Bill 2013-10-11 Bill Schmidt * config/rs6000/vsx.md (*vsx_le_perm_load_v2di): Generalize to handle vector float as well. (*vsx_le_perm_load_v4si): Likewise. (*vsx_le_perm_store_v2di): Likewise

[PATCH, rs6000] Fix vsx_concat_ insns for little endian

2013-10-15 Thread Bill Schmidt
2013-10-15 Bill Schmidt * config/rs6000/vsx.md (vsx_concat_): Adjust output for LE. (vsx_concat_v2sf): Likewise. Index: gcc/config/rs6000/vsx.md === --- gcc/config/rs6000/vsx.md(revision 203508) +++ gcc

[PATCH, rs6000] Fix vsx_unpack expansions for endianness

2013-10-16 Thread Bill Schmidt
For vector unpack operations, the meaning of "high" and "low" is reversed for little endian. Bootstrapped and tested on powerpc64{,le}-unknown-linux-gnu with no regressions. This fixes one test case for little endian (gcc.dg/vect/vect-122.c). Ok for trunk? Thanks, Bil

[PATCH, rs6000] Don't convert a vector constant load into a splat illegally

2013-10-17 Thread Bill Schmidt
. Adjusting the loop boundaries fixes the problem. Currently bootstrapping for powerpc64{,le}-unknown-linux-gnu. Ok to commit to trunk if no regressions? Thanks, Bill 2013-10-18 Bill Schmidt * config/rs6000/rs6000.c (vspltis_constant): Make sure we check all elements for both

Re: [PATCH, rs6000] Don't convert a vector constant load into a splat illegally

2013-10-17 Thread Bill Schmidt
On Fri, 2013-10-18 at 00:34 -0400, David Edelsohn wrote: > On Thu, Oct 17, 2013 at 10:43 PM, Bill Schmidt > wrote: > > Hi, > > > > In little endian mode, we managed to convert a load of the V4SI vector > > {3, 3, 3, 7} into a vspltisw of 3, apparently taking of

Re: [PATCH, rs6000] Don't convert a vector constant load into a splat illegally

2013-10-18 Thread Bill Schmidt
lean towards the last as the most easily understood. Thanks, Bill On Fri, 2013-10-18 at 00:09 -0500, Bill Schmidt wrote: > > On Fri, 2013-10-18 at 00:34 -0400, David Edelsohn wrote: > > On Thu, Oct 17, 2013 at 10:43 PM, Bill Schmidt > > wrote: > > > Hi, > > >

[PATCH, rs6000] Adjust vec_unpacku patterns for little endian

2013-10-19 Thread Bill Schmidt
no new regressions. Is this ok for trunk? Thanks, Bill 2013-10-19 Bill Schmidt * altivec.md (vec_unpacku_hi_v16qi): Adjust for little endian. (vec_unpacku_hi_v8hi): Likewise. (vec_unpacku_lo_v16qi): Likewise. (vec_unpacku_lo_v8hi): Likewise. Index: gcc

[PATCH, rs6000] Be careful with special permute masks for little endian

2013-10-21 Thread Bill Schmidt
otstrapped and tested on powerpc64{,le}-unknown-linux-gnu with no new failures. Is this ok for trunk? Thanks, Bill 2013-10-21 Bill Schmidt * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Reverse meaning of merge-high and merge-low masks for little endian; avoid

Re: [PATCH, rs6000] Be careful with special permute masks for little endian

2013-10-21 Thread Bill Schmidt
wapped (or swapped back) to ensure proper right-to-left numbering from 0 to 2N-1. */ On Mon, 2013-10-21 at 10:02 -0400, David Edelsohn wrote: > On Mon, Oct 21, 2013 at 8:49 AM, Bill Schmidt > wrote: > > Hi, > > > > In altivec_expand_vec_perm_con

Re: [PATCH, rs6000] Be careful with special permute masks for little endian

2013-10-21 Thread Bill Schmidt
Please hold off reviewing this. I see at least one testcase that will have to be modified (expected code generation pattern will be different for LE vs. BE). I'll resubmit the whole thing later today. Thanks, Bill On Mon, 2013-10-21 at 11:39 -0500, Bill Schmidt wrote: > Whoops, look

[PATCH, rs6000] Be careful with special permute masks for little endian, take 2

2013-10-21 Thread Bill Schmidt
(9 vector failures left to go!). Bootstrapped and tested on powerpc64{,le}-unknown-linux-gnu with no new failures. Is this ok for trunk? Thanks, Bill gcc: 2013-10-21 Bill Schmidt * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Reverse meaning of merge-high and merge

[PATCH, rs6000] Fix mulv8hi3 pattern for little endian

2013-10-22 Thread Bill Schmidt
fixes 3 test case failures for the little endian target. Is this ok for trunk? Thanks, Bill 2013-10-22 Bill Schmidt * config/rs6000/altivec.md (mulv8hi3): Adjust for little endian. Index: gcc/config/rs6000/altivec.md

[PATCH, testsuite/rs6000] Adjust two VMX tests for little endian

2013-10-28 Thread Bill Schmidt
Hi, These two test cases require source changes when compiled on a little endian target. Verified on powerpc64{,le}-unknown-linux-gnu. Ok to commit? Thanks, Bill 2013-10-28 Bill Schmidt * gcc.dg/vmx/gcc-bug-i.c: Add little endian variant. * gcc.dg/vmx/eg-5.c: Likewise

[PATCH, rs6000] Correct handling of multiply high-part for little endian

2013-10-30 Thread Bill Schmidt
n in the code in rs6000.c: altivec_expand_vec_perm_const_le (). The change has no intended effect when generating big-endian code. Bootstrapped and tested on powerpc64{,le}-unknown-linux-gnu with no new regressions. This fixes the gcc.dg/vect/pr51581-4.c test failure for little endian. Ok for trunk? Thanks, Bill

[PATCH, rs6000] Fix rs6000_expand_vector_set for little endian

2013-10-31 Thread Bill Schmidt
vector and swap the order of the input operands. I added a test case based on the bug report. Bootstrapped and tested on powerpc64{,le}-unknown-linux-gnu with no regressions. The new test now passes for both endiannesses. Is this ok for trunk? Thanks, Bill gcc: 2013-10-31 Bill Schmidt

[Fwd: Re: [PATCH, rs6000] Correct handling of multiply high-part for little endian]

2013-10-31 Thread Bill Schmidt
m2 = tmp; } For PowerPC, the target hook would return !BYTES_BIG_ENDIAN. The default implementation for all other targets would return false. Would you find such an approach tolerable? Thanks, Bill --- Begin Message --- On Wed, Oct 30, 2013 at 6:55 PM, Bill Schmidt wrote: >

Re: [Fwd: Re: [PATCH, rs6000] Correct handling of multiply high-part for little endian]

2013-11-01 Thread Bill Schmidt
After discussing this for Richard S at some length today, I want to withdraw this for now and re-examine the issue. I don't feel I understand this as well as I thought I did... ;) Thanks, Bill On Thu, 2013-10-31 at 21:06 -0500, Bill Schmidt wrote: > Hi maintainers, > > I agree w

[PATCH, rs6000] Re-permute source register for postreload splits of VSX LE stores

2013-11-02 Thread Bill Schmidt
way to make it fully accurate? Bootstrapped and tested on powerpc64{,le}-unknown-linux-gnu with no regressions. This fixes two failing test cases. Is this ok for trunk? Thanks! Bill 2013-11-02 Bill Schmidt * config/rs6000/vsx.md (*vsx_le_perm_store_ for VSX_D): Replace the d

[PATCH, rs6000] (0/3) Patch set to fix multiply even/odd problem and associated fallout for little endian

2013-11-03 Thread Bill Schmidt
Hi, This set of patches addresses the problem with vector multiply even/odd instructions in little endian mode that I incorrectly attempted to address as part of expand_mult_highpart. (Thanks to Richard Sandiford for setting me on the right path.) The first patch fixes the root problem wherein t

[PATCH, rs6000] (1/3) Reverse meanings of multiply even/odd for little endian

2013-11-03 Thread Bill Schmidt
{,le}-unknown-linux-gnu with no regressions. Ok for trunk? Thanks, Bill 2013-11-03 Bill Schmidt * config/rs6000/altivec.md (vec_widen_umult_even_v16qi): Swap meanings of even and odd multiplies for little endian. (vec_widen_smult_even_v16qi): Likewise

[PATCH, rs6000] (2/3) Fix widening multiply high/low operations for little endian

2013-11-03 Thread Bill Schmidt
the generic handling code for VEC_WIDEN_MULT_LO_EXPR. Bootstrapped and tested with the rest of the patch set on powerpc64{,le}-unknown-linux-gnu, with no regressions. Is this ok for trunk? Thanks, Bill 2013-11-03 Bill Schmidt * config/rs6000/altivec.md (vec_widen_umult_hi_v16qi): Swap

[PATCH, rs6000] (3/3) Fix mulv4si3 and mulv8hi3 patterns for little endian

2013-11-03 Thread Bill Schmidt
to reverse the order of inputs on the merge high/low instructions to compensate. Bootstrapped and tested with the rest of the patch set on powerpc64{,le}-unknown-linux-gnu with no regressions. Ok for trunk? Thanks, Bill 2013-11-03 Bill Schmidt * config/rs6000/altivec.md (mulv4si3

[PATCH, rs6000] Fix vect_pack_trunc_v2df pattern for little endian

2013-11-04 Thread Bill Schmidt
hen fixing them. Bootstrapped and tested on powerpc64{,le}-unknown-linux-gnu with no regressions. Is this ok for trunk? Thanks, Bill 2013-11-04 Bill Schmidt * config/rs6000/vector.md (vec_pack_trunc_v2df): Adjust for little endian. Index: gcc/config/r

Re: [PATCH, rs6000] (3/3) Fix mulv4si3 and mulv8hi3 patterns for little endian

2013-11-04 Thread Bill Schmidt
On Mon, 2013-11-04 at 15:48 +, Richard Sandiford wrote: > Bill Schmidt writes: > > + /* We need this to be vmulouh for both big and little endian, > > + but for little endian we would swap this, so avoid that. */ > > + if (BYTES_BIG_ENDIAN

Re: [PATCH, rs6000] (2/3) Fix widening multiply high/low operations for little endian

2013-11-04 Thread Bill Schmidt
Per Richard S's suggestion, I'm reworking parts 1 and 3 of the patch set, but this one will remain unchanged and is ready for review. Thanks, Bill On Sun, 2013-11-03 at 23:34 -0600, Bill Schmidt wrote: > Hi, > > This patch fixes the widening multiply high/low operations to

Re: [PATCH, rs6000] (3/3) Fix mulv4si3 and mulv8hi3 patterns for little endian

2013-11-04 Thread Bill Schmidt
-linux-gnu with no regressions. Is this ok for trunk? Thanks, Bill 2013-11-04 Bill Schmidt * config/rs6000/altivec.md (mulv4si3): Ensure we generate vmulouh for both big and little endian. (mulv8hi3): Swap input operands for merge high and merge low instructions

Re: [PATCH, rs6000] (1/3) Reverse meanings of multiply even/odd for little endian

2013-11-04 Thread Bill Schmidt
Hi, Here's a new version of this patch, revised according to Richard Sandiford's suggestions. Unfortunately the diffing is a little bit ugly for this version. Bootstrapped and tested on powerpc64{,le}-unknown-linux-gnu with no regressions. Is this ok for trunk? Thanks, Bill 2013-1

Re: [PATCH, rs6000] Fix vect_pack_trunc_v2df pattern for little endian

2013-11-04 Thread Bill Schmidt
2013-11-04 Bill Schmidt * config/rs6000/vector.md (vec_pack_sfix_trunc_v2df): Adjust for little endian. (vec_pack_ufix_trunc_v2df): Likewise. Index: gcc/config/rs6000/vector.md === --- gcc/config/rs6000

Re: libsanitizer merge from upstream r191666

2013-11-04 Thread Bill Schmidt
Hi Peter, The buildbot shows the latest LLVM ppc64 build is working ok: http://lab.llvm.org:8011/builders/llvm-ppc64-linux2/builds/8086 This build completed about two hours ago. Hope this helps, Bill On Mon, 2013-11-04 at 20:02 -0600, Peter Bergner wrote: > On Mon, 2013-11-04 at 17:48 -0800, K

[PATCH, rs6000] Fix PR63354

2016-01-21 Thread Bill Schmidt
Blanchard Bill Schmidt PR target/63354 * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New #define. * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New function. [gcc/testsuite] 2016-01-21 Anton Blanchard

[PATCH, rs6000] Fix PR67489

2016-01-21 Thread Bill Schmidt
test no longer runs on 32-bit targets. Tested on powerpc64-unknown-linux-gnu using -m32. Is this ok for trunk? Thanks, Bill 2016-01-21 Bill Schmidt PR testsuite/67489 * gcc.target/powerpc/p8vector-builtin-8.c: Remove { target int128 } from dg-do compile directive

Re: [PATCH, rs6000] Fix PR63354

2016-01-21 Thread Bill Schmidt
The testcase will need a slight adjustment, as currently it fails on powerpc64 with -m32 testing. Working on a fix. Bill On Thu, 2016-01-21 at 12:28 -0500, David Edelsohn wrote: > On Thu, Jan 21, 2016 at 11:48 AM, Bill Schmidt > wrote: > > Hi, > > > > Anton Blanchard p

Re: [PATCH, rs6000] Fix PR63354

2016-01-21 Thread Bill Schmidt
Hi, On Thu, 2016-01-21 at 21:21 -0600, Bill Schmidt wrote: > The testcase will need a slight adjustment, as currently it fails on > powerpc64 with -m32 testing. Working on a fix. > > Bill > This patch adjusts the gcc.target/powerpc/pr63354 test to require 64-bit code gener

Re: [PATCH, rs6000] Fix PR63354

2016-01-22 Thread Bill Schmidt
OK, thanks, Joseph! I'll make that adjustment later today. Bill On Fri, 2016-01-22 at 15:51 +, Joseph Myers wrote: > On Thu, 21 Jan 2016, Bill Schmidt wrote: > > > +/* { dg-do compile { target { powerpc64*-linux-* } } } */ > > That's suboptimal; you should all

Re: [PATCH, rs6000] Fix PR63354

2016-01-24 Thread Bill Schmidt
On Sun, 2016-01-24 at 02:18 +0100, Jan-Benedict Glaw wrote: > On Thu, 2016-01-21 23:42:40 -0600, Bill Schmidt > wrote: > > On Thu, 2016-01-21 at 21:21 -0600, Bill Schmidt wrote: > > > The testcase will need a slight adjustment, as currently it fails on > > > powerpc

Re: [PATCH, rs6000] Fix PR63354

2016-01-25 Thread Bill Schmidt
Thanks, committed as r232793. Bill On Mon, 2016-01-25 at 08:54 -0500, David Edelsohn wrote: > On Sun, Jan 24, 2016 at 9:17 PM, Bill Schmidt > wrote: > > > Hi Jan, thanks for the report! Patch below that should fix the problem. > > Bootstrapped and tested on powerpc64le-

[PATCH, 4.9, rs6000, testsuite] Fix PR69479

2016-01-26 Thread Bill Schmidt
for 4.9 on powerpc64le-unknown-linux-gnu. Ok to commit to that branch? Thanks, Bill 2016-01-26 Bill Schmidt * gcc.dg/and-1.c: Remove nand test for powerpc*-*-*. Index: gcc/testsuite/gcc.dg/and-1.c === --- gcc/testsuite

[PATCH, rs6000] Partial fix for PR65546 (GCC 6)

2016-01-28 Thread Bill Schmidt
2016-01-28 Bill Schmidt PR target/65546 * gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Disable check for "vectorization not profitable" when the target supports misaligned loads and stores. Index: gcc/testsuite/gcc.dg/vect/costmodel/ppc/

Re: [PATCH, rs6000] Partial fix for PR65546 (GCC 6)

2016-01-28 Thread Bill Schmidt
Actually, please hold off on this. The test in general is just faulty. I'll get something more complete later on. Sorry for the noise, Bill On Thu, 2016-01-28 at 11:45 -0600, Bill Schmidt wrote: > Hi, > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65546 discusses the failure &g

[PATCH, rs6000] Fix PR65546

2016-01-28 Thread Bill Schmidt
ower7 and -mcpu=power8, which differ in their support for misalignment. Is this ok for trunk? Provided verification succeeds on 4.9 and 5, is the revised test ok for those releases? Thanks, Bill 2016-01-28 Bill Schmidt PR target/65546 * gcc.dg/vect/costmodel/ppc/costm

[wwwdocs] Add more PowerPC information to gcc-6/changes.html

2016-02-03 Thread Bill Schmidt
Hi, The following was applied to the website to record additional GCC 6 changes for PowerPC. The changes passed XHTML verification. Index: changes.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-6/changes.html,v retrieving revision 1

Re: [PATCH, rs6000] Add -maltivec=be semantics in LE mode for vec_ld and vec_st

2016-02-15 Thread Bill Schmidt
ll, > > > 2014-02-20 Bill Schmidt > > > > * config/rs6000/altivec.md (altivec_lvxl): Rename as > > *altivec_lvxl__internal and use VM2 iterator instead of > > V4SI. > > (altivec_lvxl_): New define_expand incorporating > > -ma

[PATCH, rs6000] Fix pasto resulting in wrong instruction from builtins for lvxl

2016-02-16 Thread Bill Schmidt
. I hand-checked some of the existing test cases that invoke __builtin_altivec_lvxl and vec_lvxl to verify correct code gen. Is this okay for trunk? I would also like to backport this to GCC 5 and 4.9 if that's acceptable. Thanks, Bill 2016-02-16 Bill Schmidt

Re: [PATCH, rs6000] Fix pasto resulting in wrong instruction from builtins for lvxl

2016-02-16 Thread Bill Schmidt
On Tue, 2016-02-16 at 11:40 -0800, David Edelsohn wrote: > This is okay, but how about starting with a testcase for this? That's fine. I'll make it generic enough that we can add to it later, then. Bill > > Thanks David > > On Feb 16, 2016 11:37 AM, "Bill S

Re: [PATCH, rs6000] Fix pasto resulting in wrong instruction from builtins for lvxl

2016-02-16 Thread Bill Schmidt
On Tue, 2016-02-16 at 11:40 -0800, David Edelsohn wrote: > This is okay, but how about starting with a testcase for this? Fair enough. Here's the revised patch with a test, which I've verified on powerpc64-unknown-linux-gnu. Ok to proceed? Thanks! Bill [gcc] 2016-02-16

Re: [PATCH, rs6000] Fix PR63354

2016-02-18 Thread Bill Schmidt
ll On Sat, 2016-02-06 at 21:35 +0100, Andreas Schwab wrote: > Bill Schmidt writes: > > > Index: gcc/testsuite/gcc.target/powerpc/pr63354.c > > === > > --- gcc/testsuite/gcc.target/powerpc/pr63354.c (revision 0

[PATCH, rs6000] Fix PR61397 (test case update for P8 vector loads/stores)

2016-02-26 Thread Bill Schmidt
As stated, verified on powerpc64-unknown-linux-gnu (-m32, -m64) and powerpc64le-unknown-linux-gnu (-m64). Is this ok for trunk and GCC 5? Thanks, Bill 2016-02-26 Michael Meissner Bill Schmidt * gcc.target/powerpc/p8vector-ldst.c: Adjust to test desired functio

Re: [PATCH] Avoid 1x vectors in tree-vect-generic (PR rtl-optimization/69896)

2016-02-26 Thread Bill Schmidt
Also tested with powerpc64le-unknown-linux-gnu native bootstrap with no regressions, where it fixes this bug as well as the (reopened) PR69613. Bill On Sat, 2016-02-27 at 00:04 +0100, Jakub Jelinek wrote: > Hi! > > On ppc64, the widest (and only) supported vector mode for __int128 > element type

  1   2   3   4   5   6   7   8   9   10   >