[PATCH v2,rs6000] Add built-in function support for Power9 binary floating point operations

2016-08-04 Thread Kelvin Nilsen
bootstrapped and tested on powerpc64le-unknown-linux and on powerpc64-unknown-linux (big-endian) with no regressions. Is this ok for the trunk? gcc/ChangeLog: 2016-08-04 Kelvin Nilsen * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add overloaded binary floating point

[PATCH,rs6000] Add built-in function support Power9 binary floating point operations

2016-07-29 Thread Kelvin Nilsen
no regressions. Is this ok for the trunk? gcc/testsuite/ChangeLog: 2016-07-28 Kelvin Nilsen * gcc.target/powerpc/bfp/bfp.exp: New file. * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-0.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-1.c: New test

[PATCH,rs6000] Consolidate Power9 Option Flags

2016-07-21 Thread Kelvin Nilsen
-21 Kelvin Nilsen * config/rs6000/rs6000.c (rs6000_option_override_internal): Add comments to explain why certain error messages make mention of undocumented options. (rs6000_invalid_builtin): Change error messages to replace mention of undocumented options

[PATCH,rs6000] Fix error in Power9 code generation for vpermr instruction

2016-06-29 Thread Kelvin Nilsen
or-subscript-2.c -O2 -flto > -fno-use-linker-plugin -flto-partition=none execution test > PASS: c-c++-common/torture/vector-subscript-2.c -O2 -flto > -fuse-linker-plugin -fno-fat-lto-objects execution test The patch has bootstrapped and regression tested on powerpc64le-unknown-linux

[PATCH,rs6000] Improve tests for Power9 vector shift variable instructions

2016-06-28 Thread Kelvin Nilsen
ok for trunk? Is it ok for gcc-6 after burn-in on the trunk? Thanks. gcc/testsuite/ChangeLog: 2016-06-28 Kelvin Nilsen * gcc.target/powerpc/vslv-0.c: Add a dg-require-effective-target directive to run this test only with compilers that are aware of Power9 instructions

[PATCH,rs6000] Add support for Power9 DFP Test Significance Immediate instruction

2016-06-27 Thread Kelvin Nilsen
/ChangeLog: 2016-06-27 Kelvin Nilsen * gcc.target/powerpc/dtstsfi-0.c: New test. * gcc.target/powerpc/dtstsfi-1.c: New test. * gcc.target/powerpc/dtstsfi-10.c: New test. * gcc.target/powerpc/dtstsfi-11.c: New test. * gcc.target/powerpc/dtstsfi-12.c: New

[PATCH,rs6000] Add support for HAVE_AS_POWER9

2016-06-20 Thread Kelvin Nilsen
anks. gcc/ChangeLog: 2016-06-20 Kelvin Nilsen * config/rs6000/rs6000.h: Add conditional preprocessing directives to disable Power9-specific compiler features if HAVE_AS_POWER9 is not defined. gcc/testsuite/ChangeLog: 2016-06-20 Kelvin Nilsen * gcc.target/p

Re: [PATCH,rs6000] Improve tests for Power9 vector absolute difference unsigned instructions

2016-06-16 Thread Kelvin Nilsen
On 06/16/2016 11:47 AM, Kelvin Nilsen wrote: > This patch improves upon a recently committed patch to add support for > Power9 vector absolute difference unsigned instructions in two ways: > > 1. The dg-require-effective-target directive is changed in all tests to > allow the t

[PATCH,rs6000] Improve tests for Power9 vector absolute difference unsigned instructions

2016-06-16 Thread Kelvin Nilsen
tested by vadsdub-1.c. In the previous commit, these two tests were identical. gcc/testsuite/ChangeLog: 2016-06-16 Kelvin Nilsen * gcc.target/powerpc/vadsdu-0.c: Replace dg-require-effective-target directive to allow test to run on more platforms, and add dg-skip-if

[PATCH v2, rs6000] Add built-in function support for new Power9 vector absolute difference unsigned instructions

2016-06-08 Thread Kelvin Nilsen
trunk? gcc/ChangeLog: 2016-06-08 Kelvin Nilsen * config/rs6000/altivec.h (vec_absd): New macro for vector absolute difference unsigned. (vec_absdb): New macro for vector absolute difference unsigned byte. (vec_absdh): New macro for vector absolute

[PATCH,rs6000] Add built-in function support for new Power9 vector absolute difference unsigned instructions

2016-06-06 Thread Kelvin Nilsen
for backporting to gcc6 after a few days of burn-in time on the trunk? gcc/testsuite/ChangeLog: 2016-06-06 Kelvin Nilsen * gcc.target/powerpc/vadsdu-0.c: New test. * gcc.target/powerpc/vadsdu-1.c: New test. * gcc.target/powerpc/vadsdu-2.c: New test. * gcc.target

[PATCH, RS6000] Add RS6000_BTM_MODULO to set of RS6000_BTM_COMMON flags

2016-06-02 Thread Kelvin Nilsen
with the gcc-6-branch after waiting a few days following the trunk integration? gcc/ChangeLog: 2016-06-02 Kelvin Nilsen * config/rs6000/rs6000.h (RS6000_BTM_COMMON): Add the RS6000_BTM_MODULO flag into the set of flags that are considered to be part of the common

[PATCH, rs6000] Add builtin-support for new Power9 vslv and vsrv (vector shift left and right variable) instructions

2016-05-27 Thread Kelvin Nilsen
on infrastructure that has not yet been backported to gcc-6. Once the necessary infrastructure is available, is this ok for backporting to gcc6 following bootstrap and regression testing? Thanks, Kelvin gcc/ChangeLog: 2016-05-27 Kelvin Nilsen * config/rs6000/altivec.h (vec_slv): New

Re: [PATCH #3], Add PowerPC ISA 3.0 vpermr/xxpermr support

2016-05-24 Thread Kelvin Nilsen
ally to GCC 6.2? >> >> [gcc] >> 2016-05-23 Michael Meissner >> Kelvin Nilsen >> >> * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate >> vpermr/xxpermr on ISA 3.0. >> (altivec_expand

[PATCH v3, rs6000] Add built-in support for new Power9 darn (deliver a random number) instruction

2016-05-11 Thread Kelvin Nilsen
gcc-6-branch on both powerpc64le-unknown-linux-gnu and powerpc64-unknown-linux-gnu with no regressions. Is this ok for trunk and for backporting to GCC 6 after a few days of burn-in time on the trunk? Thanks, Kelvin gcc/testsuite/ChangeLog: 2016-05-11 Kelvin Nilsen * gcc.target/p

[PATCHv2,rs6000] Add built-in support for new Power9 darn (deliver a random number) instruction

2016-05-05 Thread Kelvin Nilsen
against the gcc-6-branch on both powerpc64le-unknown-linux-gnu and powerpc64-unknown-linux-gnu with no regressions. Is this ok for trunk and for backporting to GCC 6 after a few days of burn-in time on the trunk?. Thanks, Kelvin gcc/testsuite/ChangeLog: 2016-05-04 Kelvin Nilsen

[PATCH,rs6000] Add built-in support for new Power9 darn (deliver a random number) instruction

2016-05-05 Thread Kelvin Nilsen
-05-04 Kelvin Nilsen * gcc.target/powerpc/darn-0.c: New test. * gcc.target/powerpc/darn-1.c: New test. * gcc.target/powerpc/darn-2.c: New test. gcc/ChangeLog: 2016-05-04 Kelvin Nilsen * config/rs6000/altivec.h: Add macro definitions for darn

[COMMITTED] Add myself as GCC maintainer

2016-03-29 Thread Kelvin Nilsen
I've added myself to the "Write After Approval" maintainers (Committed revision 234526): 2016-03-29 Kelvin Nilsen * MAINTAINERS (Write After Approval): Add myself. -- Kelvin Nilsen, Ph.D. kdnil...@linux.vnet.ibm.com home office: 801-756-4821, cell: 520-991

[PATCH, rs6000] Add support for xxpermr and vpermr instructions

2016-03-18 Thread Kelvin Nilsen
testing of P9 fusion instructions revealed a problem with that particular code expansion. So this new revision of the patch omits the fusion instruction generation pattern.) Thanks. gcc/testsuite/ChangeLog: 2016-03-17 Kelvin Nilsen * gcc.target/powerpc/p9-permute.c: Generalize

[PATCH, rs6000] Add support for xxpermr and vpermr instructions

2016-03-08 Thread Kelvin Nilsen
TARGET_P9_VECTOR and !VECTOR_ELT_ORDER_BIG. The patch has bootstrapped and tested on powerpc64le-unknown-linux-gnu and powerpc64-unknown-linux-gnu with no regressions. Is this ok for GCC 7 when stage 1 opens? Thanks. -- Kelvin Nilsen, Ph.D. kdnil...@linux.vnet.ibm.com home office: 801-756-4821

[PATCH, rs6000] PR 66337: Improve Compliance with Power ABI

2016-02-18 Thread Kelvin Nilsen
at field alignment calculations on 64-bit architectures ignore the -malign-power command-line option. With this fix, the test case identified in the PR behaves as was expected by the submitter. gcc/ChangeLog: 2016-02-17 Kelvin Nilsen PR target/66337 * config/rs6000/freebsd

[PATCH v4] PR48344: Fix unrecognizable insn error with -fstack-limit-register=r2

2016-02-11 Thread Kelvin Nilsen
and eliminated special initialization function that had been proposed in the V3 patch. gcc/testsuite/ChangeLog: 2016-02-11 Kelvin Nilsen * gcc.target/powerpc/pr48344-1.c: New test. gcc/ChangeLog: 2016-02-11 Kelvin Nilsen * opts-global.c (handle_common_deferred_op

Re: [PATCH v3] PR48344: Fix unrecognizable insn error with -fstack-limit-register=r2

2016-02-05 Thread Kelvin Nilsen
Ping. Thanks. On 01/27/2016 11:12 AM, Kelvin Nilsen wrote: This patch has bootstrapped and tested on powerpc64le-unknown-linux-gnu with no regressions. Is this ok for the trunk? See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48344 for the original problem report. The error resulted

[PATCH v3] PR48344: Fix unrecognizable insn error with -fstack-limit-register=r2

2016-01-27 Thread Kelvin Nilsen
ether Pmode can change with attribute target. It cannot. gcc/ChangeLog: 2016-01-27 Kelvin Nilsen * toplev.c (do_compile): Invoke finish_deferred_option_handling () upon return from process_options () and provide comment to explain why. * opts-glo

[PATCH v2] PR48344: Fix unrecognizable insn error when gcc

2016-01-20 Thread Kelvin Nilsen
n the implementation of do_compile () to immediately preceding the invocation of handle_common_deferred_options () (inside toplev::main ()). gcc/ChangeLog: 2016-01-14 Kelvin Nilsen * toplev.c (do_compile): remove invocation of process_options () from within do_compile () (t

[PATCH/RFC] PR48344: Fix unrecognizable insn error when gcc command line specifies -fstack-limit-register=r2

2016-01-14 Thread Kelvin Nilsen
nside toplev::main ()). gcc/ChangeLog: 2016-01-14 Kelvin Nilsen * toplev.c (do_compile): remove invocation of process_options () from within do_compile () (toplev::main): insert invocation of process_options () before invocation of handle_common_deferred_options ().

[PATCH/RFC v2] PR68212: Improve Accounting of Block Frequencies During Loop Unrolling

2015-11-20 Thread Kelvin Nilsen
functions, comments now clarify the bound on the recursion depth. c) Code that had been conditionally compiled under the ENABLE_CHECKING attribute is now unconditionally compiled and executed only if the flag_checking variable is non-zero. gcc/ChangeLog: 2015-11-20 Kelvin Nilsen

RFC: Incomplete Draft Patches to Correct Errors in Loop Unrolling Frequencies (bugzilla problem 68212)

2015-11-07 Thread Kelvin Nilsen
: 2015-11-07 Kelvin Nilsen * cfgloopmanip.h (in_loop_p): new extern declaration (zero_loop_frequencies): new extern declaration (increment_loop_frequencies): new extern declaration * cfgloopmanip.c (in_loop_p): new helper routine

<    1   2