Re: [PATCH] rs6000: Use rldimi for vec init instead of shift + ior

2021-02-18 Thread will schmidt via Gcc-patches
On Wed, 2021-02-03 at 14:37 +0800, Kewen.Lin via Gcc-patches wrote: > Hi, > Hi, > This patch merges the previously approved one[1] and its relied patch I don't see the review for [1] in the archives. > made by Segher here[2], it's to make unsigned int vector init go with > rldimi to merge

Re: [PATCH 04/34] rs6000: Add VSX builtins

2021-08-10 Thread will schmidt via Gcc-patches
On Thu, 2021-07-29 at 08:30 -0500, Bill Schmidt wrote: > 2021-06-07 Bill Schmidt > Hi, > gcc/ > * config/rs6000/rs6000-builtin-new.def: Add vsx stanza. > --- > gcc/config/rs6000/rs6000-builtin-new.def | 857 +++ > 1 file changed, 857 insertions(+) > ok > diff -

Re: [PATCH 05/34] rs6000: Add available-everywhere and ancient builtins

2021-08-10 Thread will schmidt via Gcc-patches
On Thu, 2021-07-29 at 08:30 -0500, Bill Schmidt wrote: > 2021-06-07 Bill Schmidt > > gcc/ > * config/rs6000/rs6000-builtin-new.def: Add always, power5, and > power6 stanzas. > --- > gcc/config/rs6000/rs6000-builtin-new.def | 72 > 1 file changed, 72 inserti

Re: [PATCH 06/34] rs6000: Add power7 and power7-64 builtins

2021-08-10 Thread will schmidt via Gcc-patches
On Thu, 2021-07-29 at 08:30 -0500, Bill Schmidt wrote: > 2021-04-02 Bill Schmidt > Hi, > gcc/ > * config/rs6000/rs6000-builtin-new.def: Add power7 and power7-64 > stanzas. ok > --- > gcc/config/rs6000/rs6000-builtin-new.def | 39 > 1 file changed, 39

Re: [PATCH] Generate XXSPLTIDP on power10.

2021-08-26 Thread will schmidt via Gcc-patches
On Wed, 2021-08-25 at 15:46 -0400, Michael Meissner wrote: > Generate XXSPLTIDP on power10. > > This patch implements XXSPLTIDP support for SF and DF scalar constants and > V2DF > vector constants. The XXSPLTIDP instruction is given a 32-bit immediate that > is converted to a vector of two DFmod

Re: [RS6000] rs6000_rtx_costs for AND

2020-09-15 Thread will schmidt via Gcc-patches
On Tue, 2020-09-15 at 10:49 +0930, Alan Modra via Gcc-patches wrote: > The existing "case AND" in this function is not sufficient for > optabs.c:avoid_expensive_constant usage, where the AND is passed in > outer_code. > > * config/rs6000/rs6000.c (rs6000_rtx_costs): Move costing for >

Re: [RS6000] rtx_costs

2020-09-15 Thread will schmidt via Gcc-patches
On Tue, 2020-09-15 at 10:49 +0930, Alan Modra via Gcc-patches wrote: > This patch series fixes a number of issues in rs6000_rtx_costs, the > aim being to provide costing somewhat closer to reality. Probably > the > most important patch of the series is patch 4, which just adds a > comment. Withou

Re: [Patch 5/5] rs6000, Conversions between 128-bit integer and floating point values.

2020-09-18 Thread will schmidt via Gcc-patches
On Tue, 2020-08-11 at 12:23 -0700, Carl Love wrote: > Segher, Will: > > Patch 5 adds the 128-bit integer to/from 128-floating point > conversions. This patch has to invoke the routines to use the 128-bit > hardware instructions if on Power 10 or use software routines if > running on a pre Power 1

[PATCH 1/2, rs6000] int128 sign extention instructions (partial prereq)

2020-09-24 Thread will schmidt via Gcc-patches
[PATCH, rs6000] int128 sign extention instructions (partial prereq) Hi This is a sub-set of the 128-bit sign extension support patch series that I believe will be fully implemented in a subsequent patch from Carl. This is a necessary pre-requisite for the vector-load/store rightmost element

[PATCH 2/2, rs6000] VSX load/store rightmost element operations

2020-09-24 Thread will schmidt via Gcc-patches
[PATCH 2/2, rs6000] VSX load/store rightmost element operations Hi, This adds support for the VSX load/store rightmost element operations. This includes the instructions lxvrbx, lxvrhx, lxvrwx, lxvrdx, stxvrbx, stxvrhx, stxvrwx, stxvrdx; And the builtins vec_xl_sext() /* vector load sign extend

Re: [PATCH 1/5] RS6000 Add 128-bit Binary Integer sign extend operations

2020-09-24 Thread will schmidt via Gcc-patches
On Mon, 2020-09-21 at 16:56 -0700, Carl Love wrote: > Segher, Will: > > Patch 1, adds the 128-bit sign extension instruction support and > corresponding builtin support. > > No changes from the previous version. > > The patch has been tested on > > powerpc64le-unknown-linux-gnu (Power 9 LE)

Re: [PATCH 3/5] Add TI to TD (128-bit DFP) and TD to TI support

2020-09-24 Thread will schmidt via Gcc-patches
On Mon, 2020-09-21 at 16:56 -0700, Carl Love wrote: > Segher, Will: > > Add support for converting to/from 128-bit integers and 128-bit > decimal floating point formats. A more wordy blurb here clarifying what the patch does would be useful. i.e. this adds support for dcffixqq and dctfixqq inst

Re: [PATCH 2/5] RS6000 add 128-bit Integer Operations

2020-09-24 Thread will schmidt via Gcc-patches
On Mon, 2020-09-21 at 16:56 -0700, Carl Love wrote: > Will, Segher: > > Add support for divide, modulo, shift, compare of 128-bit > integers instructions and builtin support. > > The following are the changes from the previous version of the patch. > > The TARGET_TI_VECTOR_OPS was removed per co

Re: [PATCH 5/5] Conversions between 128-bit integer and floating point values.

2020-09-24 Thread will schmidt via Gcc-patches
On Mon, 2020-09-21 at 16:57 -0700, Carl Love wrote: > Segher, Will: > > Patch 5 adds the 128-bit integer to/from 128-floating point > conversions. This patch has to invoke the routines to use the 128- > bit > hardware instructions if on Power 10 or use software routines if > running on a pre Powe

Re: [PATCH 4/5] Test 128-bit shifts for just the int128 type.

2020-09-24 Thread will schmidt via Gcc-patches
On Mon, 2020-09-21 at 16:56 -0700, Carl Love wrote: > Segher, Will: > > Patch 4 adds the vector 128-bit integer shift instruction support for > the V1TI type. > > The following changes were made from the previous version. > > Renamed VSX_TI to VEC_TI, put def in vector.md. Didn't get it > separ

[PATCH, rs6000] correct an erroneous BTM value in the BU_P10_MISC define

2020-09-24 Thread will schmidt via Gcc-patches
[PATCH, rs6000] correct an erroneous blip in the BU_P10_MISC define Hi, We have extraneous BTM entry (RS6000_BTM_POWERPC64) in the define for our P10 MISC 2 builtin definition. This does not exist for the '0', '1' or '3' definitions. It appears to me that this was erroneously copied from the

Re: [EXTERNAL] Re: [PATCH 2/2, rs6000] VSX load/store rightmost element operations

2020-09-25 Thread will schmidt via Gcc-patches
On Thu, 2020-09-24 at 19:40 -0500, Segher Boessenkool wrote: > On Thu, Sep 24, 2020 at 11:04:38AM -0500, will schmidt wrote: > > [PATCH 2/2, rs6000] VSX load/store rightmost element operations > > > > Hi, > > This adds support for the VSX load/store rightmost eleme

Re: [PATCH, rs6000] correct an erroneous BTM value in the BU_P10_MISC define

2020-09-25 Thread will schmidt via Gcc-patches
On Fri, 2020-09-25 at 12:36 -0500, Segher Boessenkool wrote: > Hi! > > On Thu, Sep 24, 2020 at 03:35:24PM -0500, will schmidt wrote: > > We have extraneous BTM entry (RS6000_BTM_POWERPC64) in the > > define for > > our P10 MISC 2 builtin definition. This do

Re: [PATCH v2] builtins: rs6000: Add builtins for fegetround, feclearexcept and feraiseexcept [PR94193]

2020-09-28 Thread will schmidt via Gcc-patches
On Fri, 2020-09-04 at 12:52 -0300, Raoni Fassina Firmino via Gcc-patches wrote: > Changes since v1[1]: > - Fixed english spelling; > - Fixed code-style; > - Changed match operand predicate in feclearexcept and feraiseexcept; > - Changed testcase options; > - Minor changes in test code to

Re: [PATCH] rs6000: Fix extraneous characters in the documentation

2020-10-06 Thread will schmidt via Gcc-patches
On Mon, 2020-10-05 at 17:23 -0300, Tulio Magno Quites Machado Filho via Gcc-patches wrote: > Ping? +cc Segher :-) > > Tulio Magno Quites Machado Filho via Gcc-patches > writes: > > > Replace them with a whitespace in order to avoid artifacts in the HTML > > document. > > > > 2020-08-19 Tul

[PATCH, rs6000] rename BU_P10_MISC_2 define to BU_P10_POWERPC64_MISC_2

2020-10-07 Thread will schmidt via Gcc-patches
Hi, Rename our BU_P10_MISC_2 built-in define macro to be BU_P10_POWERPC64_MISC_2. This more accurately reflects that the macro includes the RS6000_BTM_POWERPC64 entry that is not present in the other BU_P10_MISC macros, and matches the style we used for the P7 equivalent. Should be entirely

Re: [PATCH 1/5] RS6000 Add 128-bit Binary Integer sign extend operations

2020-10-07 Thread will schmidt via Gcc-patches
On Mon, 2020-10-05 at 11:51 -0700, Carl Love wrote: > Will, Segher: > > Patch 1, adds the 128-bit sign extension instruction support and > corresponding builtin support. > > I updated the change log per the comments from Will. > > Patch has been retested on Power 9 LE. > > Pet me know if it i

Re: [PATCH 2a/5] rs6000, vec_rlnm builtin fix arguments

2020-10-07 Thread will schmidt via Gcc-patches
On Mon, 2020-10-05 at 11:52 -0700, Carl Love wrote: > Will, Segher: > > > > The following changes were made from the previous version: > > Per Will's comments, I split the bug fix from patch 2 into a separate > patch. This patch is the bug fix for the vec_rlnm builtin. I recommend trying to k

Re: [PATCH 2b/5] RS6000 add 128-bit Integer Operations

2020-10-07 Thread will schmidt via Gcc-patches
On Mon, 2020-10-05 at 11:52 -0700, Carl Love wrote: > Will and Segher: > > This is the rest of the second patch which adds the 128-bit integer > support for divide, modulo, shift, compare of 128-bit > integers instructions and builtin support. > > In the last round of changes, the flag for the 12

Re: [PATCH 3/5] Add TI to TD (128-bit DFP) and TD to TI support

2020-10-08 Thread will schmidt via Gcc-patches
On Mon, 2020-10-05 at 11:52 -0700, Carl Love wrote: > Will, Segher: > > Add support for converting to/from 128-bit integers and 128-bit > decimal floating point formats. > > The updates from the previous version of the patch: > > Just a fix for the change log per Will's comments. > > No regres

Re: [PATCH 4/5] Test 128-bit shifts for just the int128 type.

2020-10-08 Thread will schmidt via Gcc-patches
On Mon, 2020-10-05 at 11:52 -0700, Carl Love wrote: > Will, Segher: > > Patch 4 adds the vector 128-bit integer shift instruction support for > the V1TI type. > > The changes from the previous version include: > > Fixed up the change log entry issues noted by Will. > > Regression tests reran on

Re: [PATCH 5/5] Conversions between 128-bit integer and floating point values.

2020-10-08 Thread will schmidt via Gcc-patches
On Mon, 2020-10-05 at 11:52 -0700, Carl Love wrote: > Will, Segher: > > This patch adds support for converting to/from 128-bit integers and > 128-bit decimal floating point formats using the new P10 instructions > dcffixqq and dctfixqq. The new instructions are only used on P10 HW, > otherwise th

Re: [PATCH 7/8] [RS6000] rs6000_rtx_costs reduce cost for SETs

2020-10-08 Thread will schmidt via Gcc-patches
On Thu, 2020-10-08 at 09:27 +1030, Alan Modra via Gcc-patches wrote: > The aim of this patch is to make rtx_costs for SETs closer to > insn_cost for SETs. One visible effect on powerpc code is increased > if-conversion. > > * config/rs6000/rs6000.c (rs6000_rtx_costs): Reduce cost of SET >

Re: [RS6000] rotate and mask constants

2020-10-08 Thread will schmidt via Gcc-patches
On Thu, 2020-10-08 at 09:36 +1030, Alan Modra via Gcc-patches wrote: > Implement more two insn constants. rotate_and_mask_constant covers > 64-bit constants that can be formed by rotating a 16-bit signed > constant, rotating a 16-bit signed constant masked on left or right > (rldicl and rldicr), r

[PATCH, rs6000] Tests of ARCH_PWR8 and -mno-vsx option. (1/2)

2022-09-19 Thread will schmidt via Gcc-patches
[PATCH, rs6000] Tests of ARCH_PWR8 and -mno-vsx option. Hi, This adds an assortment of tests to exercise the -mno-vsx option and confirm the impacts on the ARCH_PWR8 define. These are based on and inspired by PR 101865, which reports that _ARCH_PWR8 is disabled when -mno-vsx is passed on the com

[PATCH, rs6000] Split TARGET_POWER8 from TARGET_DIRECT_MOVE [PR101865] (2/2)

2022-09-19 Thread will schmidt via Gcc-patches
[PATCH, rs6000] Split TARGET_POWER8 from TARGET_DIRECT_MOVE [PR101865] Hi, The _ARCH_PWR8 define is conditional on TARGET_DIRECT_MOVE, and can be disabled by dependent options when it should not be. This manifests in the issue seen in PR101865 where -mno-vsx mistakenly disables _ARCH_PWR8. This

[PATCH, rs6000] Eliminate TARGET_CTZ,TARGET_FCTIDZ,FCTIWUZ defines

2022-09-19 Thread will schmidt via Gcc-patches
[PATCH, rs6000] Eliminate TARGET_CTZ,TARGET_FCTIDZ,FCTIWUZ defines Hi, This is the first of a batch of changes that eliminate a number of define TARGET_foo entries we have collected over time. TARGET_CTZ is defined as TARGET_MODULO, and has a low number of uses. References to TARGET_CTZ should

Re: [PATCH, rs6000] Eliminate TARGET_CTZ,TARGET_FCTIDZ,FCTIWUZ defines

2022-09-20 Thread will schmidt via Gcc-patches
On Tue, 2022-09-20 at 16:14 -0500, Segher Boessenkool wrote: > Hi! > > On Mon, Sep 19, 2022 at 06:19:15PM -0500, will schmidt wrote: > > This is the first of a batch of changes that eliminate a number > > of define TARGET_foo entries we have collected over

Re: [PATCH] fixincludes: Deal also with the _Float128x cases [PR107059]

2022-10-04 Thread will schmidt via Gcc-patches
On Fri, 2022-09-30 at 09:20 +0200, Jakub Jelinek via Gcc-patches wrote: > On Wed, Sep 28, 2022 at 08:19:43PM +0200, Jakub Jelinek via Gcc- > patches wrote: > > Another case are the following 3 snippets: > > # if !__GNUC_PREREQ (7, 0) || defined __cplusplus > > # error "_Float128X supported but n

[PATCH, rs6000] Fix addg6s builtin with long long parameters. (PR100693)

2022-10-06 Thread will schmidt via Gcc-patches
[PATCH, rs6000] Fix addg6s builtin with long long parameters. (PR100693) Hi, As reported in PR 100693, attempts to use __builtin_addg6s with long long arguments result in truncated results. Since the int and long long types can be coerced into each other, (documented further near the rs6000-c.c

Re: [PATCH] Optimize signed DImode -> TImode on power10, PR target/104698

2022-03-01 Thread will schmidt via Gcc-patches
On Mon, 2022-02-28 at 22:21 -0500, Michael Meissner wrote: > Optimize signed DImode -> TImode on power10, PR target/104698. > Hi, Logic seems OK to me, a few suggestions on the comments intermixed below. As always, i defer if there are counter arguments. :-) > On power10, GCC tries to optimi

Re: [PATCH, V2] Eliminate power8 fusion options, use power8 tuning, PR target/102059

2022-03-10 Thread will schmidt via Gcc-patches
On Wed, 2022-03-09 at 22:49 -0500, Michael Meissner wrote: > Eliminate power8 fusion options, use power8 tuning, PR target/102059 Hi, > > The power8 fusion support used to be set automatically when -mcpu=power8 or > -mtune=power8 was used, and it was cleared for other cpu's. However, if you > u

Re: [PATCH, V2] Eliminate power8 fusion options, use power8 tuning, PR target/102059

2022-03-10 Thread will schmidt via Gcc-patches
On Thu, 2022-03-10 at 13:49 -0600, Segher Boessenkool wrote: > On Thu, Mar 10, 2022 at 10:44:52AM -0600, will schmidt wrote: > > On Wed, 2022-03-09 at 22:49 -0500, Michael Meissner wrote: > > > --- a/gcc/config/rs6000/rs6000-cpus.def > > > +++ b/gcc/config/rs6000/rs6

rs6000: RFC/Update support for addg6s instruction. PR100693

2022-03-16 Thread will schmidt via Gcc-patches
power8,power9,power10. 2022-03-15 Will Schmidt gcc/ PR target/100693 * config/rs6000/rs600-builtins.def: Remove entry for __builtin_addgs() and add entries for __builtin_addg6s_di() and __builtin_addg6s_si(). * config/rs6000/rs6000-overload.def: Add overloaded

Re: rs6000: RFC/Update support for addg6s instruction. PR100693

2022-03-16 Thread will schmidt via Gcc-patches
On Wed, 2022-03-16 at 13:12 -0500, Segher Boessenkool wrote: > Hi! > > On Wed, Mar 16, 2022 at 12:20:18PM -0500, will schmidt wrote: > > For PR100693, we currently provide an addg6s builtin using unsigned > > int arguments, but we are missing an unsigned long long argument

Re: [PATCHv2, rs6000] Add V1TI into vector comparison expand [PR103316]

2022-03-17 Thread will schmidt via Gcc-patches
On Thu, 2022-03-17 at 13:35 +0800, HAO CHEN GUI via Gcc-patches wrote: > Hi, >This patch adds V1TI mode into a new mode iterator used in vector > comparison expands.With the patch, both built-ins and direct > comparison > could generate P10 new V1TI comparison instructions. Hi, -/* We de

Re: [PATCH v3, rs6000] Add V1TI into vector comparison expand [PR103316]

2022-03-21 Thread will schmidt via Gcc-patches
On Mon, 2022-03-21 at 09:51 +0800, HAO CHEN GUI wrote: > Hi, >This patch adds V1TI mode into a new mode iterator used in vector > comparison expands.Without the patch, the comparisons between two vector > __int128 are converted to scalar comparisons with branches. The code is > suboptimal.The p

Re: [PATCH 8/8] rs6000: Fix some missing built-in attributes [PR104004]

2022-03-30 Thread will schmidt via Gcc-patches
On Fri, 2022-01-28 at 11:50 -0600, Bill Schmidt via Gcc-patches wrote: > PR104004 caught some misses on my part in converting to the new > built-in > function infrastructure. In particular, I forgot to mark all of the > "nosoft" > built-ins, and one of those should also have been marked "no32bit".

Re: [PATCH] rs6000: Adjust mov optabs for opaque modes [PR103353]

2022-04-01 Thread will schmidt via Gcc-patches
On Thu, 2022-03-03 at 16:38 +0800, Kewen.Lin via Gcc-patches wrote: > Hi, > Hi > As PR103353 shows, we may want to continue to expand a MMA built-in > function like a normal function, even if we have already emitted > error messages about some missing required conditions. As shown in > that PR,

Re: [PATCH] Add zero_extendditi2. Improve lxvr*x code generation.

2022-04-06 Thread will schmidt via Gcc-patches
On Wed, 2022-04-06 at 14:21 -0400, Michael Meissner wrote: > From bf51c49f1481001c7b3223474d261dcbf9365eda Mon Sep 17 00:00:00 2001 > From: Michael Meissner > Date: Fri, 1 Apr 2022 22:27:13 -0400 > Subject: [PATCH] Add zero_extendditi2. Improve lxvr*x code generation. > Hi, > This pattern adds

Re: [PATCH v2] rs6000: Adjust mov optabs for opaque modes [PR103353]

2022-04-07 Thread will schmidt via Gcc-patches
On Thu, 2022-04-07 at 17:29 +0800, Kewen.Lin wrote: > Hi, > > As PR103353 shows, we may want to continue to expand a MMA built-in > function like a normal function, even if we have already emitted > error messages about some missing required conditions. As shown in > that PR, without one explicit

Re: [PATCH] Disable float128 tests on VxWorks, PR target/104253.

2022-04-07 Thread will schmidt via Gcc-patches
On Thu, 2022-04-07 at 06:00 -0500, Segher Boessenkool wrote: > On Thu, Apr 07, 2022 at 12:29:45AM -0400, Michael Meissner wrote: > > In PR target/104253, it was pointed out the that test case added as part > > of fixing the PR does not work on VxWorks because float128 is not > > supported on that s

Re: [PATCH] rs6000/test: Adjust p9-vec-length-7 sensitive to unroll [PR103196]

2022-04-07 Thread will schmidt via Gcc-patches
On Mon, 2022-02-28 at 13:37 +0800, Kewen.Lin via Gcc-patches wrote: > Hi, > > As PR103196 shows, p9-vec-length-full-7.c needs to be adjusted as the > complete unrolling can happen on some of its loops. This patch is to > use pragma "GCC unroll 0" to disable all possible loop unrollings. > Hope it

Re: [PATCH, rs6000] Correct match pattern in pr56605.c

2022-04-08 Thread will schmidt via Gcc-patches
On Mon, 2022-02-28 at 11:17 +0800, HAO CHEN GUI via Gcc-patches wrote: > Hi, > This patch corrects the match pattern in pr56605.c. The former pattern > is wrong and test case fails with GCC11. It should match following insn on > each subtarget after mode promotion is disabled. The patch need to b

Re: [PATCH, V4] Eliminate power8 fusion options, use power8 tuning, PR target/102059

2022-04-20 Thread will schmidt via Gcc-patches
On Tue, 2022-04-12 at 21:14 -0400, Michael Meissner wrote: > Eliminate power8 fusion options, use power8 tuning, PR target/102059 > > This is V4 of the patch. Compared to V3 of the patch, GCC will just > ignore -m{,no-}power8-fusion and -m{,no-}power8-fusion-sign. > Hi, No comments on code, a

Re: [PATCH, rs6000] Split TARGET_POWER8 from TARGET_DIRECT_MOVE [PR101865] (2/2)

2022-10-13 Thread will schmidt via Gcc-patches
Ping. On Mon, 2022-09-19 at 11:13 -0500, will schmidt wrote: > [PATCH, rs6000] Split TARGET_POWER8 from TARGET_DIRECT_MOVE [PR101865] > > Hi, > The _ARCH_PWR8 define is conditional on TARGET_DIRECT_MOVE, > and can be disabled by dependent options when it should not be. >

Re: [PATCH, rs6000] Tests of ARCH_PWR8 and -mno-vsx option. (1/2)

2022-10-17 Thread will schmidt via Gcc-patches
On Mon, 2022-10-17 at 10:32 -0500, Segher Boessenkool wrote: > Hi! > > Everything Ke Wen said. Some more commments / hints: Thanks for the reviews. :-) I'll rework things and repost 'soon'. Thanks -WIll

Re: [PATCH, rs6000] Split TARGET_POWER8 from TARGET_DIRECT_MOVE [PR101865] (2/2)

2022-10-18 Thread will schmidt via Gcc-patches
On Mon, 2022-10-17 at 13:08 -0500, Segher Boessenkool wrote: > On Mon, Sep 19, 2022 at 11:13:20AM -0500, will schmidt wrote: > > The _ARCH_PWR8 define is conditional on TARGET_DIRECT_MOVE, > > and can be disabled by dependent options when it should not be. > > This manifests

Re: [PATCH] Optimize vec_splats of constant V2DI/V2DF vec_extract, PR target/99293

2022-05-13 Thread will schmidt via Gcc-patches
On Fri, 2022-05-13 at 10:49 -0400, Michael Meissner wrote: > Optimize vec_splats of constant V2DI/V2DF vec_extract, PR target/99293. > > This patch has been previously posted, but it seemed to get lost.: > > > Date: Tue, 29 Mar 2022 23:25:31 -0400 > > Subject: [PATCH, V2] Optimize vec_splats of c

Re: [PATCH] Replace UNSPEC with RTL code for extendditi2.

2022-05-13 Thread will schmidt via Gcc-patches
On Fri, 2022-05-13 at 10:52 -0400, Michael Meissner wrote: > Replace UNSPEC with RTL code for extendditi2. > Hi, > When I submitted my patch on March 12th for extendditi2, Segher > wished I > had removed the use of the UNSPEC for the vextsd2q instruction. This > patch rewrites extendditi2_vect

Re: [PATCH] Delay splitting addti3/subti3 until first split pass.

2022-05-13 Thread will schmidt via Gcc-patches
On Fri, 2022-05-13 at 11:08 -0400, Michael Meissner wrote: > Add zero_extendditi2. Improve lxvr*x code generation. > Hi, > Subject: Re: [PATCH] Delay splitting addti3/subti3 until first split pass. Subject does not seem to match contents? > This pattern adds zero_extendditi2 so that if w

Re: [PATCH] Add zero_extendditi2. Improve lxvr*x code generation.

2022-05-13 Thread will schmidt via Gcc-patches
On Fri, 2022-05-13 at 12:13 -0400, Michael Meissner wrote: > Add zero_extendditi2. Improve lxvr*x code generation. > Content here matches what I commented on in the prior email with subject "Delay splitting addti3...". > This pattern adds zero_extendditi2 so that if we are extending DIm

Re: [PATCH] Optimize multiply/add of DImode extended to TImode, PR target/103109.

2022-05-13 Thread will schmidt via Gcc-patches
On Fri, 2022-05-13 at 12:17 -0400, Michael Meissner wrote: > Optimize multiply/add of DImode extended to TImode, PR target/103109. > > On power9 and power10 systems, we have instructions that support doing > 64-bit integers converted to 128-bit integers and producing 128-bit > results. This patch

Re: [PATCH] Generate vadduqm and vsubuqm for TImode add/subtract

2022-05-13 Thread will schmidt via Gcc-patches
On Fri, 2022-05-13 at 12:19 -0400, Michael Meissner wrote: > Generate vadduqm and vsubuqm for TImode add/subtract > > If the TImode variable is in an Altivec register instead of a GPR > register, then generate vadduqm and vsubuqm instead of having to move the > value to the GPR registers and doing

[PATCH, rs6000] Remove the (no longer used) RS6000_BTC defines.

2022-05-17 Thread will schmidt via Gcc-patches
I have updated the comment to refer to "SPECIAL" processing, instead of having it refer directly to the RS6000_BTC_SPECIAL macro. 2022-05-17 Will Schmidt gcc/ * config/rs6000/rs6000-builtins.def: rephrase RS6000_BTC_SPECIAL in comment. * config/rs6000/rs6000.

Re: [PATCH] Optimize multiply/add of DImode extended to TImode, PR target/103109.

2022-05-18 Thread will schmidt via Gcc-patches
On Tue, 2022-05-17 at 23:15 -0400, Michael Meissner wrote: > On Fri, May 13, 2022 at 01:20:30PM -0500, will schmidt wrote: > > On Fri, 2022-05-13 at 12:17 -0400, Michael Meissner wrote: > > > > > > > > > gcc/ > > > PR target/103109 > >

Re: [PATCH, rs6000] Optimize pcrel access of globals (updated, ping)

2020-11-05 Thread will schmidt via Gcc-patches
On Wed, 2020-11-04 at 12:10 -0600, acsawdey--- via Gcc-patches wrote: > From: Aaron Sawdey > > Ping, as it has been a while. > This also includes a slight fix to make sure that all references can get > optimized. > I've read over what I could. a few nits below, nothing significant jumped out

Re: [PATCH, rs6000] Update instruction attributes for Power10

2020-11-05 Thread will schmidt via Gcc-patches
On Wed, 2020-11-04 at 14:42 -0600, Pat Haugen via Gcc-patches wrote: > Update instruction attributes for Power10. > > > This patch updates the type/prefixed/dot/size attributes for various new > instructions (and a couple existing that were incorrect) in preparation for > the Power10 scheduling

Re: [PATCH,rs6000] Add patterns for combine to support p10 fusion

2020-11-05 Thread will schmidt via Gcc-patches
On Wed, 2020-11-04 at 12:12 -0600, Aaron Sawdey via Gcc-patches wrote: > Ping. > > Aaron Sawdey, Ph.D. saw...@linux.ibm.com > IBM Linux on POWER Toolchain > > > > On Oct 26, 2020, at 4:44 PM, acsaw...@linux.ibm.com wrote: > > > > From: Aaron Sawdey > > Hi, > > This patch adds the first co

Re: [PATCH, rs6000] Update instruction attributes for Power10

2020-11-06 Thread will schmidt via Gcc-patches
On Fri, 2020-11-06 at 10:46 -0600, Pat Haugen wrote: > On 11/5/20 4:32 PM, will schmidt wrote: > > On Wed, 2020-11-04 at 14:42 -0600, Pat Haugen via Gcc-patches > > wrote: > > > * config/rs6000/rs6000.c (rs6000_final_prescan_insn): Only add > > > 'p'

Re: [PATCH 01/18] rs6000: Handle overloads during program parsing

2021-09-13 Thread will schmidt via Gcc-patches
On Wed, 2021-09-01 at 11:13 -0500, Bill Schmidt via Gcc-patches wrote: Hi, Just a couple cosmetic nits noted below, the majority if which is also in the original code this is based on. THanks -Will > Although this patch looks quite large, the changes are fairly minimal. > Most of it is dupl

Re: [PATCH 02/18] rs6000: Move __builtin_mffsl to the [always] stanza

2021-09-13 Thread will schmidt via Gcc-patches
On Wed, 2021-09-01 at 11:13 -0500, Bill Schmidt via Gcc-patches wrote: > I over-restricted use of __builtin_mffsl, since I was unaware that it > automatically uses mffs when mffsl is not available. Paul Clarke > pointed > this out in discussion of his SSE 4.1 compatibility patches. > > 2021-08-31

Re: [PATCH 03/18] rs6000: Handle gimple folding of target built-ins

2021-09-13 Thread will schmidt via Gcc-patches
On Wed, 2021-09-01 at 11:13 -0500, Bill Schmidt via Gcc-patches wrote: > This is another patch that looks bigger than it really is. Because we > have a new namespace for the builtins, allowing us to have both the old > and new builtin infrastructure supported at once, we need versions of > these f

Re: [PATCH 04/18] rs6000: Handle some recent MMA builtin changes

2021-09-13 Thread will schmidt via Gcc-patches
On Wed, 2021-09-01 at 11:13 -0500, Bill Schmidt via Gcc-patches wrote: > Peter Bergner recently added two new builtins __builtin_vsx_lxvp and > __builtin_vsx_stxvp. These happened to break a pattern in MMA builtins that > I had been using to automate gimple folding of MMA builtins. Previously, >

Re: [PATCH 05/18] rs6000: Support for vectorizing built-in functions

2021-09-13 Thread will schmidt via Gcc-patches
On Wed, 2021-09-01 at 11:13 -0500, Bill Schmidt via Gcc-patches wrote: > This patch just duplicates a couple of functions and adjusts them to use the > new builtin names. There's no logical change otherwise. > > 2021-08-31 Bill Schmidt > > gcc/ > * config/rs6000/rs6000.c (rs6000-builtin

Re: [PATCH] rs6000: Add psabi diagnostic for C++ zero-width bit field ABI change (PR102024)

2021-09-22 Thread will schmidt via Gcc-patches
On Tue, 2021-09-21 at 17:35 -0500, Bill Schmidt wrote: > Hi! > > Previously zero-width bit fields were removed from structs, so that otherwise > homogeneous aggregates were treated as such and passed in FPRs and VSRs. > This was incorrect behavior per the ELFv2 ABI. Now that these fields are no >

Re: PING^4: [RS6000] rotate and mask constants [PR94393]

2021-11-03 Thread will schmidt via Gcc-patches
On Mon, 2021-10-25 at 14:41 -0500, Pat Haugen via Gcc-patches wrote: > Ping. > > On 8/10/21 10:49 AM, Pat Haugen via Gcc-patches wrote: > > On 7/27/21 1:35 PM, will schmidt wrote: > > > On Fri, 2021-07-23 at 15:23 -0500, Pat Haugen via Gcc-patches wrote: > > > &g

Re: [PATCH 1/5] Add XXSPLTI* and LXVKQ instructions (new data structure and function)

2021-11-05 Thread will schmidt via Gcc-patches
On Fri, 2021-11-05 at 00:04 -0400, Michael Meissner wrote: > Add new constant data structure. > > This patch provides the data structure and function to convert a > CONST_INT, CONST_DOUBLE, CONST_VECTOR, or VEC_DUPLICATE of a constant) to > an array of bytes, half-words, words, and double words t

Re: [PATCH 2/5] Add Power10 XXSPLTI* and LXVKQ instructions (LXVKQ)

2021-11-05 Thread will schmidt via Gcc-patches
On Fri, 2021-11-05 at 00:07 -0400, Michael Meissner wrote: > Add LXVKQ support. > > This patch adds support to generate the LXVKQ instruction to load specific > IEEE-128 floating point constants. > > Compared to the last time I submitted this patch, I modified it so that it > uses the bit pattern

Re: [PATCH 3/5] Add Power10 XXSPLTIW

2021-11-05 Thread will schmidt via Gcc-patches
On Fri, 2021-11-05 at 00:09 -0400, Michael Meissner wrote: > Generate XXSPLTIW on power10. > Hi, > This patch adds support to automatically generate the ISA 3.1 XXSPLTIW > instruction for V8HImode, V4SImode, and V4SFmode vectors. It does this by > adding support for vector constants that can b

Re: [PATCH 4/5] Add Power10 XXSPLTIDP for vector constants

2021-11-05 Thread will schmidt via Gcc-patches
On Fri, 2021-11-05 at 00:10 -0400, Michael Meissner wrote: > Generate XXSPLTIDP for vectors on power10. > > This patch implements XXSPLTIDP support for all vector constants. The > XXSPLTIDP instruction is given a 32-bit immediate that is converted to a > vector > of two DFmode constants. The im

Re: [PATCH 5/5] Add Power10 XXSPLTIDP for SFmode/DFmode constants.

2021-11-05 Thread will schmidt via Gcc-patches
On Fri, 2021-11-05 at 00:11 -0400, Michael Meissner wrote: > Generate XXSPLTIDP for scalars on power10. > > This patch implements XXSPLTIDP support for SF, and DF scalar constants. > The previous patch added support for vector constants. This patch adds > the support for SFmode and DFmode scalar

Re: [PATCH 1/2] Add IEEE 128-bit min/max support on PowerPC.

2021-05-20 Thread will schmidt via Gcc-patches
On Tue, 2021-05-18 at 16:26 -0400, Michael Meissner wrote: > [PATCH 1/2] Add IEEE 128-bit min/max support on PowerPC. > Hi, > This patch adds the support for the IEEE 128-bit floating point C minimum and > maximum instructions. The next patch will add the support for using the > compare and se

Re: [PATCH 2/2] Add IEEE 128-bit fp conditional move on PowerPC.

2021-05-20 Thread will schmidt via Gcc-patches
On Tue, 2021-05-18 at 16:28 -0400, Michael Meissner wrote: > [PATCH 2/2] Add IEEE 128-bit fp conditional move on PowerPC. > Hi, > This patch adds the support for power10 IEEE 128-bit floating point > conditional > move and for automatically generating min/max. > > In this patch, I simplified

Re: [PATCH] Fix long double tests when default long double is not IBM.

2021-05-20 Thread will schmidt via Gcc-patches
On Tue, 2021-05-18 at 16:32 -0400, Michael Meissner wrote: > [PATCH] Fix long double tests when default long double is not IBM. > Hi, > This patch adds 3 more selections to target-supports.exp to see if we can > force > the compiler to use a particular long double format (IEEE 128-bit, IBM >

Re: [PATCH] Allow __ibm128 on older PowerPC systems.

2021-05-20 Thread will schmidt via Gcc-patches
On Tue, 2021-05-18 at 16:36 -0400, Michael Meissner wrote: > [PATCH] Allow __ibm128 on older PowerPC systems. > Hi, > On January 8th, 2018, I added code to ibm-ldouble.c to use the built-in > function __builtin_pack_ibm128 if long double is IEEE 128-bit and continue to > use __builtin_pack_long

Re: [PATCH] Change rs6000_const_f32_to_i32 return type.

2021-05-20 Thread will schmidt via Gcc-patches
On Tue, 2021-05-18 at 16:39 -0400, Michael Meissner wrote: > [PATCH] Change rs6000_const_f32_to_i32 return type. > > The function rs6000_const_f32_to_i32 called REAL_VALUE_TO_TARGET_SINGLE > with a long long type and returns it. This patch changes the type to long > which is the proper type for R

Re: [PATCH 1/2] Move xx* builtins to vsx.md.

2021-05-20 Thread will schmidt via Gcc-patches
On Tue, 2021-05-18 at 16:46 -0400, Michael Meissner wrote: > [PATCH 1/2] Move xx* builtins to vsx.md. > Hi, > I noticed that the xx built-in functions (xxspltiw, xxspltidp, xxsplti32dx, > xxeval, xxblend, and xxpermx) were all defined in altivec.md. However, since > the XX instructions can tak

Re: [PATCH 2/2] Fix xxeval predicates.

2021-05-20 Thread will schmidt via Gcc-patches
On Tue, 2021-05-18 at 16:47 -0400, Michael Meissner wrote: > [PATCH 2/2] Fix xxeval predicates. > > In doing the patch to move the XX* built-in functions from altivec.md to > vsx.md, I noticed that the xxeval built-in function used the > altivec_register_operand predicate. Since it takes vsx regi

Re: [PATCH] Fix vec-splati-runnable.c test.

2021-05-20 Thread will schmidt via Gcc-patches
On Tue, 2021-05-18 at 16:49 -0400, Michael Meissner wrote: > [PATCH] Fix vec-splati-runnable.c test. > hi, > I noticed that the vec-splati-runnable.c did not have an abort after one > of the tests. If the test was run with optimization, the optimizer could > delete some of the tests and throw

Re: [PATCH 1/2] Deal with prefixed loads/stores in tests, PR testsuite/100166

2021-05-20 Thread will schmidt via Gcc-patches
On Tue, 2021-05-18 at 16:57 -0400, Michael Meissner wrote: > [PATCH 1/2] Deal with prefixed loads/stores in tests, PR testsuite/100166 > Hi, > This patch updates the various tests in the testsuite to treat plxv > and pstxv as being vector loads/stores. This shows up if you run the > testsuite w

Re: [PATCH 2/2] Fix tests when running on power10, PR testsuite/100166

2021-05-20 Thread will schmidt via Gcc-patches
On Tue, 2021-05-18 at 16:59 -0400, Michael Meissner wrote: > [PATCH 2/2] Fix tests when running on power10, PR testsuite/100166 > Hi, > This patch updates the various tests in the testsuite to adjust the test > if power10 code generation is used. > > Some tests would not generate the expected i

Re: Generate 128-bit divide/modulus

2021-06-04 Thread will schmidt via Gcc-patches
On Fri, 2021-06-04 at 11:10 -0400, Michael Meissner wrote: Hi, > Generate 128-bit divide/modulus. > > This patch adds support for the VDIVSQ, VDIVUQ, VMODSQ, and VMODUQ > instructions to do 128-bit arithmetic. vdivsq,vdivuq,vmodsq,vmoduq should be lowercase ? > > I have tested this on 3 co

Re: Ping ^ 2: [PATCH] rs6000: Expand fmod and remainder when built with fast-math [PR97142]

2021-07-09 Thread will schmidt via Gcc-patches
On Wed, 2021-06-30 at 09:44 +0800, Xionghu Luo via Gcc-patches wrote: > Gentle ping ^2, thanks. > > https://gcc.gnu.org/pipermail/gcc-patches/2021-April/568143.html > > > On 2021/5/14 15:13, Xionghu Luo via Gcc-patches wrote: > > Test SPEC2017 Ofast P8LE for this patch : 511.povray_r +1.14%, > >

Re: [PATCH 05/55] rs6000: Add helper functions for parsing

2021-07-09 Thread will schmidt via Gcc-patches
On Thu, 2021-06-17 at 10:18 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-06-07 Bill Schmidt > > gcc/ > * config/rs6000/rs6000-gen-builtins.c (consume_whitespace): New > function. > (advance_line): Likewise. > (safe_inc_pos): Likewise. > (match_identifier): Lik

Re: PING: [RS6000] rotate and mask constants [PR94393]

2021-07-27 Thread will schmidt via Gcc-patches
On Fri, 2021-07-23 at 15:23 -0500, Pat Haugen via Gcc-patches wrote: > Ping > https://gcc.gnu.org/pipermail/gcc-patches/2020-October/555760.html > > I've done a current bootstrap/regtest on powerpc64/powerpc64le with > no regressions. > > -Pat That patch was previously posted by Alan Modra. Giv

Re: [PATCH 44/55] rs6000: Builtin expansion, part 1

2021-07-27 Thread will schmidt via Gcc-patches
On Thu, 2021-06-17 at 10:19 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-06-17 Bill Schmidt > Hi, > gcc/ > * config/rs6000/rs6000-call.c (rs6000_expand_new_builtin): New > forward decl. > (rs6000_invalid_new_builtin): New stub function. > (rs6000_expand_builtin):

Re: [PATCH 45/55] rs6000: Builtin expansion, part 2

2021-07-27 Thread will schmidt via Gcc-patches
On Thu, 2021-06-17 at 10:19 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-03-05 Bill Schmidt > Hi, > gcc/ > * config/rs6000/rs6000-call.c (rs6000_invalid_new_builtin): > Implement. > (rs6000_expand_ldst_mask): Likewise. > (rs6000_init_builtins): Initialize altivec_

Re: [PATCH 46/55] rs6000: Builtin expansion, part 3

2021-07-27 Thread will schmidt via Gcc-patches
On Thu, 2021-06-17 at 10:19 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-03-05 Bill Schmidt > Hi, > gcc/ > * config/rs6000/rs6000-call.c (new_cpu_expand_builtin): > Implement. ok > --- > gcc/config/rs6000/rs6000-call.c | 100 > 1 file cha

Re: [PATCH 48/55] rs6000: Builtin expansion, part 5

2021-07-27 Thread will schmidt via Gcc-patches
On Thu, 2021-06-17 at 10:19 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-06-17 Bill Schmidt > Hi, > gcc/ > * config/rs6000/rs6000-call.c (new_mma_expand_builtin): > Implement. Ok, > --- > gcc/config/rs6000/rs6000-call.c | 103 > 1 file cha

Re: [PATCH 49/55] rs6000: Builtin expansion, part 6

2021-07-27 Thread will schmidt via Gcc-patches
On Thu, 2021-06-17 at 10:19 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-03-24 Bill Schmidt > > gcc/ > * config/rs6000/rs6000-call.c (new_htm_spr_num): New function. > (new_htm_expand_builtin): Implement. > (rs6000_expand_new_builtin): Handle 32-bit and endian cases. > --

Re: [PATCH 47/55] rs6000: Builtin expansion, part 4

2021-07-27 Thread will schmidt via Gcc-patches
On Thu, 2021-06-17 at 10:19 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-03-05 Bill Schmidt > Hi, > gcc/ > * config/rs6000/rs6000-call.c (elemrev_icode): Implement. > (ldv_expand_builtin): Likewise. > (lxvrse_expand_builtin): Likewise. > (lxvrze_expand_builtin):

Re: [PATCH 52/55] rs6000: Debug support

2021-07-27 Thread will schmidt via Gcc-patches
On Thu, 2021-06-17 at 10:19 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-04-01 Bill Schmidt > > gcc/ > * config/rs6000/rs6000-call.c (rs6000_debug_type): New function. > (def_builtin): Change debug formatting for easier parsing and > include more information. > (rs6

Re: [PATCH 53/55] rs6000: Update altivec.h for automated interfaces

2021-07-27 Thread will schmidt via Gcc-patches
On Thu, 2021-06-17 at 10:19 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-06-10 Bill Schmidt > > gcc/ > * config/rs6000/altivec.h: Delete a number of #defines that are > now superfluous; include rs6000-vecdefines.h; include some > synonyms. > --- > gcc/config/rs6000/altiv

Re: [PATCH 55/55] rs6000: Enable the new builtin support

2021-07-27 Thread will schmidt via Gcc-patches
On Thu, 2021-06-17 at 10:19 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-03-05 Bill Schmidt > > gcc/ > * config/rs6000/rs6000-gen-builtins.c (write_init_file): > Initialize new_builtins_are_live to 1. > --- > gcc/config/rs6000/rs6000-gen-builtins.c | 2 +- > 1 file changed, 1

<    1   2   3   4   5   >