[PATCH] MAINTAINERS: Change to my personal email address

2019-11-15 Thread Kelvin Nilsen
I'm leaving IBM and am changing my email to my my personal address. ChangeLog: 2019-11-15 Kelvin Nilsen * MAINTAINERS: Change my email address as maintainer. Index: MAINTAINERS === --- MAINTAINERS (revision 278306

Re: Ping: [PATCH v4, rs6000] Replace X-form addressing with D-form addressing in new pass for Power9

2019-11-13 Thread Kelvin Nilsen
On 10/25/19 8:30 PM, Kelvin Nilsen wrote: > > This patch adds a new optimization pass for rs6000 targets. > > This new pass scans existing rtl expressions and replaces X-form loads and > stores with rtl expressions that favor selection of the D-form instructions > in

[PATCH, rs6000] Add xxswapd support for V2DF and V2DI modes

2019-11-06 Thread Kelvin Nilsen
and tested without regressions on powerpc64le-unknown-linux. Is this ok for trunk? gcc/ChangeLog: 2019-11-06 Kelvin Nilsen * config/rs6000/vsx.md (xxswapd_): Add support for V2DF and V2DI modes. Index: gcc/config/rs6000/vsx.md

[PATCH v4, rs6000] Replace X-form addressing with D-form addressing in new pass for Power9

2019-10-25 Thread Kelvin Nilsen
Kelvin Nilsen * config/rs6000/rs6000-p9dform.c: New file. * config/rs6000/rs6000-passes.def: Add pass_insert_dform. * config/rs6000/rs6000-protos.h (rs6000_target_supports_dform_offset_p): New function prototype. (make_pass_insert_dform): Likewise

Re: {PATCH v3, rs6000] Replace X-form addressing with D-form addressing in new pass for Power9

2019-10-22 Thread Kelvin Nilsen
On 10/17/19 5:57 PM, Segher Boessenkool wrote: > Hi Kelvin, > > On Wed, Oct 09, 2019 at 03:28:45PM -0500, Kelvin Nilsen wrote: >> This new pass scans existing rtl expressions and replaces them with rtl >> expressions that favor selection of the D-form instructions in c

{PATCH v3, rs6000] Replace X-form addressing with D-form addressing in new pass for Power9

2019-10-09 Thread Kelvin Nilsen
tested this patch on powerpc64le-unknown-linux target with no regressions. Is this ok for trunk? gcc/ChangeLog: 2019-10-09 Kelvin Nilsen * config/rs6000/rs6000-p9dform.c: New file. * config/rs6000/rs6000-passes.def: Add pass_insert_dform. * config/rs6000/rs6000-protos.h

[PATCH v2, rs6000] Replace X-form addressing with D-form addressing in new pass for Power 9

2019-09-03 Thread Kelvin Nilsen
and cooling costs for heavy server workloads would benefit. I have built and regression tested this patch on powerpc64le-unknown-linux target with no regressions. Is this ok for trunk? gcc/ChangeLog: 2019-09-03 Kelvin Nilsen * config/rs6000/rs6000-p9dform.c: New file. * config

[PATCH, rs6000] PR89765: Multiple problems with vec-insert implementation on PowerPC

2019-04-30 Thread Kelvin Nilsen
Kelvin Nilsen PR target/89765 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): In handling of ALTIVEC_BUILTIN_VEC_INSERT, use modular arithmetic to compute vector element selector for both constant and variable operands. * config/rs6000

[PATCH, rs6000] PR89424: __builtin_vec_ext_v1ti (v, i) results in ICE with variable i (RS6000)

2019-04-25 Thread Kelvin Nilsen
? Thanks. gcc/ChangeLog: 2019-04-25 Kelvin Nilsen PR target/89424 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add handling of V1TImode. gcc/testsuite/ChangeLog: 2019-04-25 Kelvin Nilsen PR target/89424 * gcc.target/powerpc/pr89424-0.c

[PATCH, rs6000] PR89424: __builtin_vec_ext_v1ti (v, i) results in ICE with variable i (RS6000)

2019-04-25 Thread Kelvin Nilsen
/ChangeLog: 2019-04-25 Kelvin Nilsen PR target/89424 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add handling of V1TImode. gcc/testsuite/ChangeLog: 2019-04-25 Kelvin Nilsen PR target/89424 * gcc.target/powerpc/pr89424-0.c: New test

[PATCH, rs6000] PR87532: Bad results from vec_extract (unsigned char, foo) dependent upon function inline

2019-04-09 Thread Kelvin Nilsen
) and on powerpc-linux (P7 and P8, both -m32 and -m64). Is this ok for trunk and backports? Thanks. gcc/ChangeLog: 2019-04-09 Kelvin Nilsen PR target/87532 * config/rs6000/rs6000.c (rs6000_split_vec_extract_var): Use inner mode of vector rather than mode of destination

[PATCH, rs6000] PR89732: New test pr87532-mc.c fails on compiler not defaulting to VSX

2019-03-19 Thread Kelvin Nilsen
with trunk. gcc/testsuite/ChangeLog: 2019-03-19 Kelvin Nilsen PR target/89736 * gcc.target/powerpc/pr87532-mc.c: Modify dejagnu directives to restrict this test to vsx targets. Index: gcc/testsuite/gcc.target/powerpc/pr87532-mc.c

[PATCH v2, rs6000] PR87532: Bad Results from vec_extract(unsigned char, foo) dependent upon function inline

2019-03-13 Thread Kelvin Nilsen
itted and those tests have been updated. This has bootstrapped and tested without regressions on powerpc64le-unknown-linux (both P8 and P9) and on powerpc-linux (P7 big-endian, with both -m32 and -m64 target options). Is this ok for trunk? gcc/ChangeLog: 2019-03-13 Kelvin Nilsen PR tar

[PATCH, rs6000] PR87532: Bad Results from vec_extract(unsigned char, foo) dependent upon function inline

2019-03-08 Thread Kelvin Nilsen
on powerpc64le-unknown-linux (both P8 and P9) and on powerpc-linux (P7 big-endian, with both -m32 and -m64 target options). Is this ok for trunk? gcc/ChangeLog: 2019-03-08 Kelvin Nilsen PR target/87532 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): When handling

[PATCH, rs6000] Correct dg directives on recently added vec-extract tests

2019-02-01 Thread Kelvin Nilsen
tested this on powerpc64-linux (P7 big-endian, both -m32 and -m64), both 32-bit and 64-bit. Is this ok for trunk and for various backports to which the original patch is to be directed? gcc/testsuite/ChangeLog: 2019-02-01 Kelvin Nilsen * gcc.target/powerpc/vec-extract-slong-1.c

[PATCH, rs6000] Fix invalid type returned from builtin vec_extract

2019-01-28 Thread Kelvin Nilsen
lt of vec_extract so that it matches the type of the array element supplied as its first argument. I have built and regression tested this patch on powerpc64le-unknown-linux with no regressions. Is this ok for trunk? gcc/ChangeLog: 2019-01-28 Kelvin Nilsen * config/rs6000

[PATCH, rs6000] Replace X-form addressing with D-form addressing in new pass for Power9

2018-12-13 Thread Kelvin Nilsen
(Power9) target with no regressions. Is this ok for trunk? gcc/ChangeLog: 2018-12-13 Kelvin Nilsen * config/rs6000/rs6000-p9dform.c: New file. * config/rs6000/rs6000-passes.def: Add pass_insert_dform after pass_loop2. * config/rs6000/rs6000-protos.h

[RFC][PATCH, rs6000] Replace X-form addressing with D-form addressing in new pass for Power9

2018-11-10 Thread Kelvin Nilsen
invite comments and suggestions regarding this draft patch at this time. gcc/ChangeLog: 2018-11-10 Kelvin Nilsen * config.gcc: Add entry to compile new object rs6000-p9indexing.o. * config/rs6000/rs6000-passes.def: Add pass_fix_indexing after pass_loop2. * config

Re: [PATCH, rs6000] Correct descriptions of __builtin_bcdadd* and _builtin_bcdsub* functions

2018-08-07 Thread Kelvin Nilsen
My "consistency" check was against the implementation. On 8/2/18 11:38 AM, Segher Boessenkool wrote: > Hi Kelvin, > > On Wed, Aug 01, 2018 at 02:55:22PM -0500, Kelvin Nilsen wrote: >> Several errors were discovered in the descriptions of the __builtin_bcdadd

[PATCH, rs6000] Correct descriptions of __builtin_bcdadd* and _builtin_bcdsub* functions

2018-08-01 Thread Kelvin Nilsen
. This patch corrects these documentation errors. I have built the gcc.pdf file and reviewed the formatting, and all looks good. Is this ok for trunk? gcc/ChangeLog: 2018-08-01 Kelvin Nilsen * doc/extend.texi (PowerPC AltiVec Built-in Functions Available on ISA 2.07): Correct spelling

Re: Fwd: [PATCH, rs6000] Replace __uint128_t and __int128_t with __uint128 and __int128 in Power PC built-in documentation

2018-07-27 Thread Kelvin Nilsen
gt; On Thu, Jul 26, 2018 at 08:40:01AM -0500, Kelvin Nilsen wrote: >> To improve internal consistency and to improve consistency with published >> ABI documents, this patch replaces the __uint128_t type with __uint128 and >> replaces __int128_t with __int128. > >> Is this

[PATCH, rs6000] Replace __uint128_t and __int128_t with __uint128 and __int128 in Power PC built-in documentation

2018-07-26 Thread Kelvin Nilsen
built and reviewed the gcc.pdf file. Is this ok for trunk? gcc/ChangeLog: 2018-07-25 Kelvin Nilsen * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA 2.05): Replace __uint128_t with __uint128 and __int128_t with __int128 in built-in function

[PATCH, rs6000] Sort Altivec/VSX built-in functions into subsubsections according to configuration requirements

2018-07-17 Thread Kelvin Nilsen
. Is this ok for trunk? gcc/ChangeLog: 2018-07-17 Kelvin Nilsen * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions): Corrected spelling of this subsection. Moved some material to new subsubsections "PowerPC AltiVec Built-in Functions on ISA 2.06" and

Re: [RFC] Induction variable candidates not sufficiently general

2018-07-16 Thread Kelvin Nilsen
e a compiler optimization flag that allows the optimizer to ignore array index integer overflow in considering legal optimizations? On 7/13/18 9:14 PM, Bin.Cheng wrote: > On Fri, Jul 13, 2018 at 6:04 AM, Kelvin Nilsen wrote: >> A somewhat old "issue report" pointed me to the code gen

[RFC] Induction variable candidates not sufficiently general

2018-07-12 Thread Kelvin Nilsen
A somewhat old "issue report" pointed me to the code generated for a 4-fold manually unrolled version of the following loop: > while (++len != len_limit) /* this is loop */ > if (pb[len] != cur[len]) >

[PATCH, rs6000] Alphabetize prototypes of AltiVec built-in functions in extend.texi

2018-07-10 Thread Kelvin Nilsen
. */ < /* vec_unsignede requires -mcpu=power8. */ < /* vec_unsignede requires -mvsx. */ < /* vec_unsignedo requires -mvsx. */ < /* vec_unsigned requires -mvsx. */ Is this patch ok for trunk? gcc/ChangeLog: 2018-07-10 Kelvin Nilsen * doc/extend.texi (PowerPC AltiVec Built-

[PATCH] Backport testsuite: Introduce be/le selectors

2018-06-27 Thread Kelvin Nilsen
Hi Jeff, Is it ok to backport this patch to gcc 8? There are other backports of test programs that would like to use the new selector options. Thanks. On 5/23/18 12:31 PM, Segher Boessenkool wrote: > On Tue, May 22, 2018 at 03:21:30PM -0600, Jeff Law wrote: >> On 05/21/2018 03:46 PM, Segher

Re: [PATCH, rs6000] Backport Fix tests that are failing in gcc.target/powerpc/bfp with -m32

2018-06-26 Thread Kelvin Nilsen
Hi Segher, This patch, as revised in response to your suggestions, was committed to trunk on 4/17/2018. Is this ok for backporting to gcc8, gcc7, and gcc6? Thanks. On 4/13/18 3:15 PM, Kelvin Nilsen wrote: > Twelve failures have been occuring in the bfp test directory during -

[PATCH, rs6000] Obvious patch to fix erroneous comment

2018-06-26 Thread Kelvin Nilsen
regression testing, I have committed this patch as obvious. gcc/testsuite/ChangeLog: 2018-06-26 Kelvin Nilsen * gcc.target/powerpc/builtins-1.c: Correct a comment. Index: gcc/testsuite/gcc.target/powerpc/builtins-1.c === --- gcc

Re: [PATCH v2, rs6000] Backport Fix implementation of vec_pack (vector double, vector double) built-in function

2018-06-22 Thread Kelvin Nilsen
Hi Segher, After waiting a few days for this newly committed patch to settle, is it ok to backport to gcc 6, gcc 7, and gcc 8? Thanks. On 6/22/18 5:34 PM, Kelvin Nilsen wrote: > Thanks for feedback. It turns out that the vmrgew and vmrgow instructions > require power 8. >

Re: [PATCH v2, rs6000] Fix implementation of vec_pack (vector double, vector double) built-in function

2018-06-22 Thread Kelvin Nilsen
e, Jun 19, 2018 at 01:37:51PM -0500, Kelvin Nilsen wrote: >> --- gcc/testsuite/gcc.target/powerpc/builtins-9.c(nonexistent) >> +++ gcc/testsuite/gcc.target/powerpc/builtins-9.c(working copy) >> @@ -0,0 +1,21 @@ >> +/* { dg-do compile } */ >> +/* { dg-requi

Re: [PATCH, rs6000] Backport Fix implementation of vec_packsu (vector unsigned long long, vector unsigned long long) built-in function

2018-06-22 Thread Kelvin Nilsen
This has been committed to trunk. Is this ok to backport to gcc6, gcc7, and gcc8? Thanks. On 6/19/18 2:30 PM, Segher Boessenkool wrote: > Hi! > > On Mon, Jun 18, 2018 at 11:29:55AM -0500, Kelvin Nilsen wrote: >> +/* A single vpkudus matches twice because this is co

[PATCH v2, rs6000] Fix implementation of vec_pack (vector double, vector double) built-in function

2018-06-19 Thread Kelvin Nilsen
directives. This patch has bootstrapped and tested without regressions on powerpc64le-unknown-linux (both P8 and P9) and on powerpc-linux (P8 big-endian, both -m32 and -m64). Is this ok for the trunk? gcc/ChangeLog: 2018-06-19 Kelvin Nilsen * config/rs6000/rs6000-c.c

[PATCH, rs6000] Fix implementation of vec_packsu (vector unsigned long long, vector unsigned long long) built-in function

2018-06-18 Thread Kelvin Nilsen
, both -m32 and -m64). Is this ok for the trunk? gcc/ChangeLog: 2018-06-18 Kelvin Nilsen * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Change behavior of vec_packsu (vector unsigned long long, vector unsigned long long) to match behavior of vec_packs

[PATCH, rs6000] Fix implementation of vec_pack (vector double, vector double) built-in function

2018-06-15 Thread Kelvin Nilsen
for the trunk? gcc/ChangeLog: 2018-06-14 Kelvin Nilsen * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Change behavior of vec_pack (double, double) to match behavior of vec_float2 (double, double). gcc/testsuite/ChangeLog: 2018-06-14 Kelvin Nilsen

[PATCH, rs6000] Improve indentation of prototype documentation

2018-06-04 Thread Kelvin Nilsen
x (P8). I have also built the gcc.pdf file and reviewed its contents. Segher: if you prefer, I can break this into multiple smaller patches. What would be the ideal size of each patch? Is this ok for trunk? gcc/ChangeLog: 2018-06-04 Kelvin Nilsen * doc/extend.texi (PowerPC Alt

[PATCH, rs6000] Correct documentation of vec_lvsl and vec_lvsr arguments

2018-06-04 Thread Kelvin Nilsen
-unknown-linux (P8). I have built the gcc.pdf file and reviewed its contents. Is this ok for trunk? gcc/ChangeLog: 2018-06-04 Kelvin Nilsen * doc/extend.texi (PowerPC AltiVec Built-in Functions): Remove volatile qualifier from vec_lvsl and vec_lvsr argument prototypes. Index: gcc

[PATCH, rs6000] Clean up implementation of built-in functions

2018-06-01 Thread Kelvin Nilsen
bootstrapped and tested without regressions on powerpc64le-unknown-linux (P8). Is this ok for trunk? gcc/ChangeLog: 2018-06-01 Kelvin Nilsen * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_LD, VSX_BUILTIN_VEC_ST): Add comment to explain non-traditional uses

[PATCH, rs6000] Remove incorrect built-in function documentation

2018-05-23 Thread Kelvin Nilsen
on both powerpc64le-unknown-linux (P8) and on powerpc-linux (P7 big-endian, with both -m32 and -m64 target options). The patch affects only extend.texi. The gcc.pdf file has been built and reviewed. Is this ok for the trunk? gcc/ChangeLog: 2018-05-23 Kelvin Nilsen <kel...@gcc.gnu.org>

[PATCH, rs6000] Improved Documentation of Built-in Functions Part 2

2018-05-14 Thread Kelvin Nilsen
Kelvin Nilsen <kel...@gcc.gnu.org> * doc/extend.texi (Basic PowerPC Built-in Functions): Rename this subsection to be "PowerPC Built-in Functions". (PowerPC Altivec/VSX Built-in Functions): Change this subsection to subsubsection and rename as

[PATCH v2, rs6000] Improve Documentation of Built-In Functions Part 1

2018-05-09 Thread Kelvin Nilsen
orm because it is missing relevant fonts. Is this ok for the trunk? 2018-05-09 Kelvin Nilsen <kel...@gcc.gnu.org> * doc/extend.texi (PowerPC Built-in Functions): Rename this subsection. (Basic PowerPC Built-in Functions): The new name of the subsection previ

Re: [PATCH, rs6000] Improve Documentation of Built-In Functions Part 1

2018-04-25 Thread Kelvin Nilsen
! > > On Tue, Apr 24, 2018 at 02:25:58PM -0500, Kelvin Nilsen wrote: >>> 4. Remove descriptions of built-in function that do not belong in this >>> section because the >>>built-in functions are generic (not specific to PowerPC): >>> __bu

Re: [PATCH, rs6000] Improve Documentation of Built-In Functions Part 1

2018-04-24 Thread Kelvin Nilsen
as submitted previously. On 4/24/18 9:12 AM, Kelvin Nilsen wrote: > This is the first of several patches to address shortcomings in existing > documentation of > PowerPC built-in functions.  The focus of this particular patch is to > improve documentation > of low-level built-in fu

[PATCH, rs6000] Improve Documentation of Built-In Functions Part 1

2018-04-24 Thread Kelvin Nilsen
unction descriptions into these sections. This patch affects only extend.texi.  The gcc.pdf file has been built and reviewed. Is this ok for the trunk? gcc/ChangeLog: 2018-04-24  Kelvin Nilsen  <kel...@gcc.gnu.org>     * doc/extend.texi: Tidy documentation of PowerPC built-in functions.

[PATCH, rs6000] Fix tests that are failing in gcc.target/powerpc/bfp with -m32

2018-04-13 Thread Kelvin Nilsen
/ChangeLog: 2018-04-13  Kelvin Nilsen  <kel...@gcc.gnu.org>     * config/rs6000/rs6000-protos.h (rs6000_builtin_is_supported_p):     New prototype.     * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):     Add note to error message to explain internal mapping of overloaded     b

[PATCH][OBVIOUS] PR85347: New testcase vec-ldl-1.c FAILs on powerpc64-linux

2018-04-12 Thread Kelvin Nilsen
This new test case required a dejagnu qualifier to restrict its execution on big-endian platforms. The patch bootstrapped and tested without regressions.  Was committed as obvious. gcc/testsuite/ChangeLog: 2018-04-12  Kelvin Nilsen  <kel...@gcc.gnu.org>     PR target/85347     * gcc.

[PATCH v2, rs6000] Tidy implementation of vec_ldl

2018-04-04 Thread Kelvin Nilsen
st program. This patch has bootstrapped and tested without regressions on both powerpc64le-unknown-linux (P8) and on powerpc-linux (P7 big-endian, with both -m32 and -m64 target options). Is this ok for trunk? gcc/ChangeLog: 2018-04-03  Kelvin Nilsen  <kel...@gcc.gnu.org>     * config/r

[PATCH, rs6000] Tidy implementation of vec_ldl

2018-03-29 Thread Kelvin Nilsen
for trunk? gcc/ChangeLog: 2018-03-29  Kelvin Nilsen <kel...@gcc.gnu.org>     * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove     erroneous entries for     "vector int vec_ldl (int, long int *)", and     "vector    unsigned int vec_ldl (int, unsigned

[PATCH, rs6000] Finish implementation of __builtin_atlivec_lvx_v1ti

2018-03-14 Thread Kelvin Nilsen
/ChangeLog: 2018-03-14 Kelvin Nilsen <kel...@gcc.gnu.org> * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add entries for V1TI variants of __builtin_altivec_ld builtin. * config/rs6000/rs6000.c (altivec_expand_lv_builtin): Add test and handling of V1TI v

[PATCH v2, rs6000] Remove unused (and incorrect) code for internal store and load operations

2018-03-14 Thread Kelvin Nilsen
, with both -m32 and -m64 target options). Is this patch ok for trunk? gcc/ChangeLog: 2018-03-14 Kelvin Nilsen <kel...@gcc.gnu.org> * config/rs6000/rs6000-builtin.def: Remove various BU_ALTIVEC_X macro expansions for definition of ST_INTERNAL_ and LD_INTERNAL_ bu

[PATCH, rs6000] Remove unused (and incorrect) code for internal store and load operations

2018-03-13 Thread Kelvin Nilsen
) and on powerpc-linux (P7 big-endian, with both -m32 and -m64 target options). Is this patch ok for trunk? gcc/ChangeLog: 2018-03-09 Kelvin Nilsen <kel...@gcc.gnu.org> * config/rs6000/rs6000-builtin.def: Remove various BU_ALTIVEC_X macro expansions for definition of ST_INT

wwwdocs: An additional release note for powerpc for GCC 8

2018-02-14 Thread Kelvin Nilsen
Is this revision to the existing draft GCC 8 release notes ok for commit? Thanks ? cvs.diffs Index: htdocs/gcc-8/changes.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-8/changes.html,v retrieving revision 1.36 diff -u -3 -p

[PATCH, rs6000] Begin deprecation of -maltivec=be

2018-02-13 Thread Kelvin Nilsen
on powerpc64le-unknown-linux. Is this ok for trunk? gcc/ChangeLog: 2018-02-13 Kelvin Nilsen <kel...@gcc.gnu.org> * config/rs6000/rs6000.c (rs6000_option_override_internal): Issue warning message if user requests -maltivec=be. gcc/testsuite/ChangeLog: 2018-02-13 Kelvin

[PATCH] PR 80867: ICE during -O3 compile of libgnat

2018-01-29 Thread Kelvin Nilsen
and regression testing, with preapproval, this patch has been committed to the trunk. It it ok to backport to GCC 7 and GCC 6 (after testing on those platforms)? Thanks. gcc/ChangeLog: 2018-01-29 Richard Biener <rguent...@suse.de> Kelvin Nilsen <kel...@gcc.gnu.org>

[PATCH, rs6000] Fix ICE caused by recent patch: Generate lvx and stvx without swaps for aligned vector loads and stores

2018-01-16 Thread Kelvin Nilsen
) with both -m32 and -m64 target options. Is this ok for trunk? gcc/ChangeLog: 2018-01-16 Kelvin Nilsen <kel...@gcc.gnu.org> * config/rs6000/rs6000-p8swap.c (rs6000_gen_stvx): Generate different rtl trees depending on TARGET_64BIT. (rs6000_gen_lvx): Likewise.

[PATCH, rs6000] Generate lvx and stvx without swaps for aligned vector loads and stores

2018-01-12 Thread Kelvin Nilsen
runk4test99327/gcc/dse.c:3569^M > ;; 0x112e525b execute^M > ;; /home/kelvin/gcc/gcc-trunk4test99327/gcc/dse.c:3627^M > ;; Please submit a full bug report,^M Is this patch ok for trunk? gcc/ChangeLog: 2018-01-10 Kelvin Nilsen <kel...@gcc.gnu.org> * config/rs60

Backports to gcc 7.x

2017-12-06 Thread Kelvin Nilsen
I would like to backport the following patch to the GCC 7 branch. PR80101: Fix ICE in store_data_bypass_p https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00953.html This patch has been bootstrapped and regression tested on the GCC 7 branch. Is this ok for backporting to GCC 7?

[PATCH,rs6000] Correct dejagnu directives in several newly added tests

2017-09-29 Thread Kelvin Nilsen
-09-29 Kelvin Nilsen <kel...@gcc.gnu.org> * gcc.target/powerpc/swaps-p8-30.c: Exchange the order of dg-do and dg-require-effective-target directives to correct testing behavior. * gcc.target/powerpc/swaps-p8-32.c: Likewise. * gcc.target/powerpc/swaps-p

[PATCH v2,rs6000] Replace swap of a loaded vector constant with load of a swapped vector constant

2017-09-25 Thread Kelvin Nilsen
). Is this ok for trunk? gcc/ChangeLog: 2017-09-25 Kelvin Nilsen <kel...@gcc.gnu.org> * config/rs6000/rs6000-p8swap.c (const_load_sequence_p): Revise this function to return false if the definition used by the swap instruction is artificial, or if the memory address from

[PATCH,rs6000] Replace swap of a loaded vector constant with load of a swapped vector constant

2017-09-15 Thread Kelvin Nilsen
Kelvin Nilsen <kel...@gcc.gnu.org> * config/rs6000/rs6000-p8swap.c (const_load_sequence_p): Revise this function to return false if the definition used by the swap instruction is artificial, or if the memory address from which the constant value is

Backports to gcc 6.x

2017-07-11 Thread Kelvin Nilsen
I would like to backport the following patches to the GCC 6 branch. PR9: Fix failure of gcc.dg/loop-8.c on Power https://gcc.gnu.org/ml/gcc-patches/2017-01/msg01788.html PR68972: g++.dg/cpp1y/vla-initlist1.C test case fails on power

[PATCH,rs6000] PR80103: Fix typo in test case

2017-06-30 Thread Kelvin Nilsen
-30 Kelvin Nilsen <kel...@gcc.gnu.org> PR target/80103 * gcc.target/powerpc/pr80103-1.c (b): Correct spelling of __attribute__. Index: gcc/testsuite/gcc.target/powerpc/pr80103-1.c === --- gcc/tes

Re: Backport [PATCH,rs6000] PR80103: Fix ICE with cross compiler

2017-06-28 Thread Kelvin Nilsen
04:14 PM, Segher Boessenkool wrote: > On Fri, Mar 24, 2017 at 04:04:33PM -0600, Kelvin Nilsen wrote: >> PR 80103 provides a test case which results in an internal >> compiler error when invoked with -mno-direct-move -mpower9-dform- >> vector target options. The internal c

Re: Backport [PATCH,rs6000] Handle conflicting target options -mno-power9-vector and -mcpu=power9

2017-06-28 Thread Kelvin Nilsen
I have bootstrapped and tested this patch on powerpc64le-unkonwn-linux-gnu with no regressions. Is this ok for backporting to gcc 6? On 03/22/2017 10:17 PM, Segher Boessenkool wrote: > On Wed, Mar 22, 2017 at 05:55:53PM -0600, Kelvin Nilsen wrote: >>> Or it could do -mpower9-

Re: [PATCH] PR68972: g++.dg/cpp1y/vla-initlist1.C test case fails on power (backport)

2017-06-26 Thread Kelvin Nilsen
Is this ok for backport to GCC 6? On 02/06/2017 03:20 PM, Kelvin Nilsen wrote: > > The test g++.dg/cpp1y/vla-initlist1.C makes assumptions that the memory > used to represent the private temporary variables of neighboring control > blocks at the same control nesting level is: &

Re: [PATCH] PR66669: Fix failure of gcc.dg/loop-8.c on Power (Backport)

2017-06-26 Thread Kelvin Nilsen
Is it ok to backport this patch to GCC-6? On 01/23/2017 09:59 AM, Kelvin Nilsen wrote: > > The test gcc.dg/loop-8.c makes assumptions that are not valid on Power > architecture (and on certain other architectures for which this issue > has already been addressed). The test

[PATCH,rs6000] Add IEEE 128 support for several existing built-in functions

2017-06-21 Thread Kelvin Nilsen
Kelvin Nilsen <kel...@gcc.gnu.org> * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add array entries to represent __ieee128 versions of the scalar_test_data_class, scalar_test_neg, scalar_extract_exp, scalar_extract_sig, and scalar_insert_exp

[PATCH v2,rs6000] Add built-in function support for compare bytes instruction

2017-05-08 Thread Kelvin Nilsen
due to alignment of tabs in the diff output. The patch has been bootstrapped and tested on powerpc64le-unknown-linux and powerpc-unknown-linux (big-endian, with both -m32 and -m64 target options) with no regressions. Is this ok for the trunk? gcc/testsuite/ChangeLog: 2017-05-08 Kelvin Nilsen

[PATCH,rs600] Add built-in function support for compare bytes instruction

2017-04-28 Thread Kelvin Nilsen
. Is this ok for the trunk? gcc/ChangeLog: 2017-04-28 Kelvin Nilsen <kel...@gcc.gnu.org> * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add support for TARGET_CMPB. * config/rs6000/rs6000.h: Add support for RS6000_BTM_CMPB. * config/rs6000/

[PATCH v3,rs6000] PR80101: Fix ICE in store_data_bypass_p

2017-04-21 Thread Kelvin Nilsen
without regressions on powerpc64le-unknown-linux-gnu. Is this ok for the trunk? gcc/testsuite/ChangeLog: 2017-04-20 Kelvin Nilsen <kel...@gcc.gnu.org> PR target/80101 * gcc.target/powerpc/pr80101-1.c: New test. gcc/ChangeLog: 2017-04-20 Kelvin Nilsen <kel...@gc

[PATCH v2] PR80101: Fix ICE in store_data_bypass_p

2017-04-14 Thread Kelvin Nilsen
changes to the function do as well. The patch has been boostrapped without regressions on powerpc64le-unknown-linux-gnu. Is this ok for the trunk? gcc/testsuite/ChangeLog: 2017-04-14 Kelvin Nilsen <kel...@gcc.gnu.org> * gcc.target/powerpc/pr80101-1.c: New test. gcc/ChangeLog: 2017

[PATCH,rs6000] PR80315: Add test cases to confirm ICE has been fixed

2017-04-12 Thread Kelvin Nilsen
confirmed that these test programs reproduce the error reported with PR80315 before yesterday's patch was applied, and that all test programs pass following application of yesterday's patch. Is this ok for the trunk? gcc/testsuite/ChangeLog: 2017-04-12 Kelvin Nilsen <kel...@gcc.gnu.

RFC: seeking insight on store_data_bypass_p (recog.c)

2017-04-12 Thread Kelvin Nilsen
that by the time the hardware executes the consumer, the stored value is no longer in the write buffer, so even though we might have "thought" two PARALLEL rtl expressions qualified for the store bypass optimization, we really should have returned false. Can someone help me understand this better? Thanks much. -- Kelvin Nilsen, Ph.D. kdnil...@linux.vnet.ibm.com home office: 801-756-4821, cell: 520-991-6727 IBM Linux Technology Center - PPC Toolchain

[PATCH] PR80101: Fix ICE in store_data_bypass_p

2017-04-06 Thread Kelvin Nilsen
boostrapped without regressions on powerpc64le-unknown-linux-gnu. Is this ok for the trunk? gcc/ChangeLog: 2017-03-29 Kelvin Nilsen <kel...@gcc.gnu.org> PR target/80101 * recog.c (store_data_bypass_p): Rather than terminate with assertion error, return false if

[PATCH v2,rs6000] PR80108: Fix ICE with cross compiler

2017-04-06 Thread Kelvin Nilsen
. Is this ok for the trunk? gcc/ChangeLog: 2017-04-06 Kelvin Nilsen <kel...@gcc.gnu.org> PR target/80108 * config/rs6000/rs6000.c (rs6000_option_override_internal): Enhance special handling given to the TARGET_P9_MINMAX option in relation to certain other options

[PATCH v2] PR80108: Fix ICE with cross compiler

2017-04-06 Thread Kelvin Nilsen
contexts. This patch has been bootstrapped and tested with no regressions on both powerpc64-unknown-linux-gnu and powerpc64le-unknown-linux-gnu. Is this ok for the trunk? gcc/ChangeLog: 2017-04-06 Kelvin Nilsen <kel...@gcc.gnu.org> PR target/80108 * config/rs6000/rs

[PATCH,rs6000] PR80108: Fix ICE with cross compiler

2017-03-31 Thread Kelvin Nilsen
-options directive to exercise the problematic command-line options. This patch has been bootstrapped and tested with no regressions on both powerpc64-unknown-linux-gnu and powerpc64le-unknown-linux-gnu. Is this ok for the trunk? gcc/ChangeLog: 2017-03-31 Kelvin Nilsen <kel...@gcc.gnu.

[PATCH] PR80101: Fix ICE in store_data_bypass_p

2017-03-29 Thread Kelvin Nilsen
with an assertion error. False indicates that the passed arguments are not eligible for the store bypass scheduling optimization. The patch has been boostrapped without regressions on powerpc64le-unknown-linux-gnu. Is this ok for the trunk? gcc/ChangeLog: 2017-03-29 Kelvin Nilsen <

[PATCH,rs6000] PR80103: Fix ICE with cross compiler

2017-03-24 Thread Kelvin Nilsen
=power9 target options. This patch has been bootstrapped and tested with no regressions on both powerpc64-unknown-linux-gnu and powerpc64le-unknown-linux-gnu. Is this ok for the trunk? gcc/testsuite/ChangeLog: 2017-03-24 Kelvin Nilsen <kel...@gcc.gnu.org> PR target

Re: [PATCH,rs6000] Handle conflicting target options -mno-power9-vector and -mcpu=power9

2017-03-22 Thread Kelvin Nilsen
On 03/22/2017 05:35 PM, Segher Boessenkool wrote: > On Wed, Mar 22, 2017 at 11:44:49AM -0600, Kelvin Nilsen wrote: >> Internal testing recently revealed that use of the -mno-power9-vector >> target option in combination with the -mcpu=power9 target option >> results

[PATCH,rs6000] Handle conflicting target options -mno-power9-vector and -mcpu=power9

2017-03-22 Thread Kelvin Nilsen
to demonstrate the fix. The patch has been bootstrapped and tested with no regressions on both powerpc64-unknown-linux-gnu and powerpc64le-unknown-linux-gnu. Is this ok for the trunk? gcc/testsuite/ChangeLog: 2017-03-21 Kelvin Nilsen <kel...@gcc.gnu.org> * gcc.target/powerpc/p9-options-1.

[PATCH,rs6000] Add documentation to describe implicit handling of command-line target options

2017-03-17 Thread Kelvin Nilsen
Kelvin Nilsen <kel...@gcc.gnu.org> * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add comments. * config/rs6000/rs6000.c (rs6000_option_override_internal): Add comments. Index: gcc/config/rs6000/rs60

[PATCH,RS6000] PR79963: Correct which condition code bit represents result of vec_any_eq built-in function

2017-03-14 Thread Kelvin Nilsen
patch, it was discovered that changes to the C++ templates representing the vec_all_ne and vec_any_eq built-in functions were incomplete. This patch has bootstrapped and been tested on powerpc64le-unknown-linux with no regressions. Is this ok for trunk? gcc/ChangeLog: 2017-03-14 Kelvin Nilsen

[PATCH,rs6000] PR79395: Fix compile error with -mcpu=power9 and -mno-vsx and __builtin_vec_cmpne_p

2017-02-28 Thread Kelvin Nilsen
in the PR 79395 report. This patch has been bootstrapped and tested on powerpc64le-unknown-linux with no regressions. Is this ok for trunk? gcc/ChangeLog: 2017-02-28 Kelvin Nilsen <kel...@gcc.gnu.org> PR target/79395 * config/rs6000/altivec.h (vec_ctz and others):

[PATCH,rs6000] PR78056: Remove unreliable test case

2017-02-17 Thread Kelvin Nilsen
This patch amends a patch merged with the trunk on 2017-01-14. One of the new test cases added at that time has proven to be unreliable so this path removes it. Is this patch ok for trunk? gcc/testsuite/ChangeLog: 2017-02-17 Kelvin Nilsen <kel...@gcc.gnu.org> PR target

[PATCH v2] PR68972: g++.dg/cpp1y/vla-initlist1.C test case fails on power

2017-02-07 Thread Kelvin Nilsen
this particular test case on power hardware. The patch has been bootstrapped and tested on powerpc64le-unknown-linux with no regressions. Is this ok for trunk? gcc/testsuite/ChangeLog: 2017-02-07 Kelvin Nilsen <kel...@gcc.gnu.org> PR target/68972 * g++.dg/cpp1y/vla-ini

[PATCH] PR68972: g++.dg/cpp1y/vla-initlist1.C test case fails on power

2017-02-06 Thread Kelvin Nilsen
Kelvin Nilsen <kel...@gcc.gnu.org> PR target/68972 * g++.dg/cpp1y/vla-initlist1.C: Add dg-skip-if directive to disable this test on power architecture. Index: gcc/testsuite/g++.dg/cpp1y/vla-initl

[PATCH] PR66669: Fix failure of gcc.dg/loop-8.c on Power

2017-01-23 Thread Kelvin Nilsen
-propagated within the loop, and the subsequent loop-invariant code motion moves two loop-invariant statements out of the loop. This patch simply disables this test case on Power architecture. gcc/testsuite/ChangeLog: 2017-01-23 Kelvin Nilsen <kel...@gcc.gnu.org> PR target

[PATCH,rs6000] Correct argument and result types for binary floating point built-in functions

2017-01-19 Thread Kelvin Nilsen
tested on powerpcle-unknown-linux (little-endian) and on powerpc-unknown-linux (big-endian, with both -m32 and -m64 target option) with no regressions. Is this ok for the trunk? gcc/testsuite/ChangeLog: 2017-01-19 Kelvin Nilsen <kel...@gcc.gnu.org> * gcc.target/powerpc/bfp/scala

[PATCH v2,rs6000] PR78056: Finish fixing build failure on Power7

2016-12-16 Thread Kelvin Nilsen
e-unknown-linux and powerpc-unknown-linux (big-endian, with both -m32 and -m64 target options) with no regressions. Is this patch ok for trunk? gcc/testsuite/ChangeLog: 2016-12-16 Kelvin Nilsen <kel...@gcc.gnu.org> PR target/78056 * gcc.target/powerpc/pr78056-1.c: New test.

Re: [PATCH v3,rs6000] Add built-in function support for Power9 byte instructions

2016-12-13 Thread Kelvin Nilsen
. They are checking that the compiler rejects those programs with appropriate error messages. On 12/13/2016 03:14 PM, Segher Boessenkool wrote: > Hi Kelvin, > > On Mon, Dec 12, 2016 at 05:40:05PM -0700, Kelvin Nilsen wrote: >> The patch has been bootstrapped and tested on >> powe

[PATCH v3,rs6000] Add built-in function support for Power9 byte instructions

2016-12-12 Thread Kelvin Nilsen
target options) with no regressions. Is this ok for the trunk? gcc/testsuite/ChangeLog: 2016-12-12 Kelvin Nilsen <kel...@gcc.gnu.org> * gcc.target/powerpc/byte-in-either-range-0.c: New test. * gcc.target/powerpc/byte-in-either-range-1.c: New test. * gcc.target/powerp

[PATCH] PR78056: Finish fixing build failure on Power7

2016-12-09 Thread Kelvin Nilsen
and tested without regressions on powerpc64le-unknown-linux and powerpc-unknown-linux (big-endian, with both -m32 and -m64 target options) with no regressions. Is this patch ok for trunk? gcc/ChangeLog: 2016-12-08 Kelvin Nilsen <kel...@gcc.gnu.org> PR target/78056 *

[PATCH v2,rs6000] Add built-in function support for Power9 byte instructions.

2016-12-05 Thread Kelvin Nilsen
for the trunk? gcc/testsuite/ChangeLog: 2016-12-05 Kelvin Nilsen <kel...@gcc.gnu.org> * gcc.target/powerpc/byte-in-either-range-0.c: New test. * gcc.target/powerpc/byte-in-either-range-1.c: New test. * gcc.target/powerpc/byte-in-range-0.c: New test. * gcc.

[PATCH,rs6000] Correct mode of operand 2 in vector extract half-word and word instruction patterns

2016-11-30 Thread Kelvin Nilsen
of generated code, since the existing implementation implicitly coerces the operand types to the declared type. The patch has been bootstrapped and tested on powerpc64le-unknown-linux without regressions. Is this ok for the trunk? gcc/ChangeLog: 2016-11-30 Kelvin Nilsen <kel...@gcc.gnu.

Re: [PATCH,rs6000] Add built-in function support for Power9 byte instructions

2016-11-15 Thread Kelvin Nilsen
in define_expands? > The pattern I'm familiar with is to allocate the temporary scratch register during expansion, and to use the allocated temporary at insn match time. I'll have to teach myself a new pattern to do all of this at insn match time. Feel free to point me to an example of define

Re: [PATCH,rs6000] Add built-in function support for Power9 byte instructions

2016-11-15 Thread Kelvin Nilsen
Thank you very much for the prompt and thorough review. There are a few points below where I'd like to seek further clarification. On 11/15/2016 04:19 AM, Segher Boessenkool wrote: > Hi! > > On Mon, Nov 14, 2016 at 04:43:35PM -0700, Kelvin Nilsen wrote: >> * config/rs

[PATCH,rs6000] Add built-in function support for Power9 byte instructions

2016-11-14 Thread Kelvin Nilsen
? gcc/testsuite/ChangeLog: 2016-11-14 Kelvin Nilsen <kel...@gcc.gnu.org> * gcc.target/powerpc/byte-in-either-range-0.c: New test. * gcc.target/powerpc/byte-in-either-range-1.c: New test. * gcc.target/powerpc/byte-in-range-0.c: New test. * gcc.target/powerp

[PATCH] PR78056: Fix build failure on Power7

2016-10-25 Thread Kelvin Nilsen
integration since the error has broken the trunk for certain system configurations. Is this patch ok for trunk? gcc/ChangeLog: 2016-10-25 Kelvin Nilsen <kel...@gcc.gnu.org> PR target/78056 * config/rs6000/rs6000.c (spe_init_builtins): Modify loops to not define b

[PATCH,committed] PR77847: Add FALLTRHOUGH comment to fix build error

2016-10-05 Thread Kelvin Nilsen
This trivial/obvious patch was committed without review as svn revision 240783. The patch fixes a compile-time error that recently surfaced with big-endian Power architecture builds. libcpp/ChangeLog: 2016-10-04 Kelvin Nilsen <kel...@gcc.gnu.org> PR target/77847 *

  1   2   >