Re: [PATCH/RFC] LRA: Don't emit move for substituted CONSTATNT_P operand [PR116170]

2024-08-13 Thread Kewen.Lin
on 2024/8/13 18:02, Richard Sandiford wrote: > "Kewen.Lin" writes: >> on 2024/8/12 21:02, Richard Sandiford wrote: >>> "Kewen.Lin" writes: >>>> Hi Richard, >>>> >>>> Thanks for the comments! >>>>

Re: [PATCH 4/4] rs6000, Add tests and documentation for vector, conversions between integer and float

2024-08-20 Thread Kewen.Lin
Hi Carl, on 2024/8/8 01:15, Carl Love wrote: > > >  GCC maintainers: > > The following patch fixes errors in the definition of the > __builtin_vsx_uns_floate_v2di, __builtin_vsx_uns_floato_v2di and > __builtin_vsx_uns_float2_v2di built-ins.  The arguments should be unsigned > but are listed

Re: [PATCH ver 2] rs6000,extend and document built-ins vec_test_lsbb_all_ones and vec_test_lsbb_all_zeros

2024-08-20 Thread Kewen.Lin
Hi Carl, on 2024/8/9 23:57, Carl Love wrote: > > Gcc maintainers: > > Version 2, based on discussion additional overloaded instances of the > vec_test_lsbb_all_ones and, vec_test_lsbb_all_zeros built-ins has been added.  > The additional instances are for arguments of vector signed char and ve

Re: [PATCH V3 08/10] rs6000: Adjust altivec dot-product backend patterns

2024-08-20 Thread Kewen.Lin
Hi Victor, on 2024/8/15 16:44, Victor Do Nascimento wrote: > Following the migration of the dot_prod optab from a direct to a > conversion-type optab, ensure all back-end patterns incorporate the > second machine mode into pattern names. This patch is OK, thanks! BR, Kewen > > gcc/ChangeLog: >

Re: [PATCH] rs6000: Fix PTImode handling in power8 swap optimization pass [PR116415]

2024-08-22 Thread Kewen.Lin
Hi Peter, on 2024/8/21 21:14, Peter Bergner wrote: > Our power8 swap optimization pass has some special handling for optimizing > swaps of TImode variables. The test case reported in bugzilla uses a call > to __atomic_compare_exchange, which introduces a variable of PTImode and > that does not g

Re: [PATCH] sched: Don't skip empty block by removing no_real_insns_p [PR108273]

2024-08-25 Thread Kewen.Lin
Hi Jeff, on 2024/8/26 06:13, Jeff Law wrote: > > So is this patch still relevant Kewen? Yes, sorry that I forgot to follow up this after stage 1 opens. > > On 12/20/23 2:25 AM, Kewen.Lin wrote: >> Hi, >> >> This patch follows Richi's suggestion "sc

Re: [PATCH ver 3] rs6000,extend and document built-ins vec_test_lsbb_all_ones and vec_test_lsbb_all_zeros

2024-08-25 Thread Kewen.Lin
Hi Carl, on 2024/8/22 23:24, Carl Love wrote: > Gcc maintainers: > > Version 3, fixed a few typos per Kewen's review.  Fixed the expected number > of scan-assembler-times for xvtlsbb and setbc.  Retested on Power 10 LE. > > Version 2, based on discussion additional overloaded instances of the

Re: [PATCH] rs6000: allow split vsx_stxvd2x4_le_const after RA[pr116030]

2024-08-25 Thread Kewen.Lin
Hi, on 2024/8/21 15:23, Jiufu Guo wrote: > Hi, > > Previous, vsx_stxvd2x4_le_const_ is introduced for 'split1' pass, > so it is guarded by "can_create_pseudo_p ()". > While, it would be possible to match the pattern of this insn during/after > RA, so this insn could be updated to make it work for

Re: [PATCH V2] rs6000: add clober and guard for vsx_stxvd2x4_le_const[pr116030]

2024-08-25 Thread Kewen.Lin
Hi Jeff, I just noticed this v2 ... on 2024/8/22 14:22, Jiufu Guo wrote: > Hi, > > Previous, vsx_stxvd2x4_le_const_ is introduced for 'split1' pass, > so it is guarded by "can_create_pseudo_p ()". > While, it would be possible to match the pattern of this insn during/after > RA, so this insn cou

Re: [Patch-2, rs6000] Eliminate unnecessary byte swaps for duplicated constant vector store [PR113325]

2024-06-05 Thread Kewen.Lin
Hi Haochen, on 2024/1/26 09:17, HAO CHEN GUI wrote: > Hi, > This patch creates an insn_and_split pattern which helps the duplicated > constant vector replace the source pseudo of store insn in fwprop pass. > Thus the store can be implemented by a single stxvd2x and it eliminates the > unnecessar

Re: [PATCH 07/52] darwin: Replace use of LONG_DOUBLE_TYPE_SIZE

2024-06-05 Thread Kewen.Lin
Hi Iain, on 2024/6/4 14:21, Iain Sandoe wrote: > Hi Kewen, > >> On 3 Jun 2024, at 04:00, Kewen Lin wrote: >> >> Joseph pointed out "floating types should have their mode, >> not a poorly defined precision value" in the discussion[1], >> as he and Richi suggested, the existing macros >> {FLOAT,{,

Re: [PATCH 03/52] fortran: Replace uses of {FLOAT, {, LONG_}DOUBLE}_TYPE_SIZE

2024-06-05 Thread Kewen.Lin
Hi Harald, on 2024/6/4 04:01, Harald Anlauf wrote: > Hi, > > Am 03.06.24 um 05:00 schrieb Kewen Lin: >> Joseph pointed out "floating types should have their mode, >> not a poorly defined precision value" in the discussion[1], >> as he and Richi suggested, the existing macros >> {FLOAT,{,LONG_}DOU

Re: [PATCH 02/52 v2] d: Replace use of LONG_DOUBLE_TYPE_SIZE

2024-06-05 Thread Kewen.Lin
Hi Iain, on 2024/6/4 19:35, Iain Buclaw wrote: > Excerpts from Kewen.Lin's message of Juni 4, 2024 5:17 am: >> Hi Iain, >> >> on 2024/6/3 22:39, Iain Buclaw wrote: >>> Excerpts from Kewen.Lin's message of Juni 3, 2024 10:57 am: Hi Iain, on 2024/6/3 16:40, Iain Buclaw wrote: > Ex

Re: [PATCH 01/52] ada: Replace use of LONG_DOUBLE_TYPE_SIZE

2024-06-05 Thread Kewen.Lin
Hi Eric, on 2024/6/3 16:51, Eric Botcazou wrote: >> Joseph pointed out "floating types should have their mode, >> not a poorly defined precision value" in the discussion[1], >> as he and Richi suggested, the existing macros >> {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE will be replaced with a >> hook mode_f

Re: [Patch-2, rs6000] Eliminate unnecessary byte swaps for duplicated constant vector store [PR113325]

2024-06-05 Thread Kewen.Lin
Hi, on 2024/6/6 09:43, HAO CHEN GUI wrote: > Hi Kewen, > > 在 2024/6/5 17:00, Kewen.Lin 写道: >> This predicate can be moved to its only use (define_insn part condition). >> The const_vector match_code check is redundant as const_vec_duplicate_p >> already checks that,

Re: [PATCH 23/52] mmix: Remove macros {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE

2024-06-05 Thread Kewen.Lin
Hi Hans-Peter, on 2024/6/6 09:41, Hans-Peter Nilsson wrote: > On Sun, 2 Jun 2024, Kewen Lin wrote: > >> This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE >> defines in mmix port. > > This is fine once prerequisites are in place. > > If I may add a nit: In these target change commit mess

Re: [PATCH 1/13 ver 3] rs6000, Remove __builtin_vsx_cmple* builtins

2024-06-05 Thread Kewen.Lin
Hi Carl, on 2024/6/6 06:25, Carl Love wrote: > Kewen: > > On 6/3/24 23:00, Kewen.Lin wrote: >> Hi Carl, >> >> on 2024/5/29 23:52, Carl Love wrote: >>> This patch was approved in the previous series. There are no changes to >>> this patch. Reposti

Re: [PATCH 06/52] m2: Replace uses of {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE

2024-06-05 Thread Kewen.Lin
Hi Gaius, on 2024/6/5 22:22, Gaius Mulley wrote: > "Kewen.Lin" writes: > >> Hi Joseph and Gaius, >> >> on 2024/6/4 02:02, Joseph Myers wrote: >>> On Sun, 2 Jun 2024, Kewen Lin wrote: >>> >>>> diff --git a/gcc/m2/gm2-gcc/m2type.c

Re: [Patch-2v2, rs6000] Eliminate unnecessary byte swaps for duplicated constant vector store [PR113325]

2024-06-11 Thread Kewen.Lin
Hi Haochen, on 2024/6/12 10:47, HAO CHEN GUI wrote: > Hi, > This patch creates an insn_and_split pattern which helps the duplicated > constant vector replace the source pseudo of store insn in fwprop pass. > Thus the store can be implemented by a single stxvd2x and it eliminates the > unnecessar

Re: [PATCH 3/3] Add power11 tests

2024-06-11 Thread Kewen.Lin
Hi Mike, on 2024/6/4 09:46, Michael Meissner wrote: > This patch adds some simple tests for -mcpu=power11 support. In order to run > these tests, you need an assembler that supports the appropriate option for > supporting the Power11 processor (-mpower11 under Linux or -mpwr11 under AIX). > > I

Re: [PATCH v4] rs6000: Fix incorrect RTL for Power LE when removing the UNSPECS [PR106069]

2024-06-12 Thread Kewen.Lin
Hi, on 2023/2/10 10:59, Xionghu Luo wrote: > Resend this patch... > > v4: Update per comments. > v3: rename altivec_vmrghb_direct_le to altivec_vmrglb_direct_le to match > the actual output ASM vmrglb. Likewise for all similar xxx_direct_le > patterns. > v2: Split the direct pattern to be and le

Re: [PATCH 06/52] m2: Replace uses of {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE

2024-06-12 Thread Kewen.Lin
Hi Gaius, >> static tree >> build_m2_short_real_node (void) >> { >> - tree c; >> - >> - /* Define `REAL'. */ >> - >> - c = make_node (REAL_TYPE); >> - TYPE_PRECISION (c) = FLOAT_TYPE_SIZE; >> - layout_type (c); >> - return c; >> + /* Define `SHORTREAL'. */ >> + layout_type (float_type

Re: [PATCH 04/52] go: Replace uses of {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE

2024-06-12 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653387.html BR, Kewen on 2024/6/3 11:00, Kewen Lin wrote: > Joseph pointed out "floating types should have their mode, > not a poorly defined precision value" in the discussion[1], > as he and Richi suggested, the existing mac

PING^1 [PATCH 05/52] rust: Replace uses of {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE

2024-06-12 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653339.html BR, Kewen on 2024/6/3 11:00, Kewen Lin wrote: > Joseph pointed out "floating types should have their mode, > not a poorly defined precision value" in the discussion[1], > as he and Richi suggested, the existing mac

PING^1 [PATCH 08/52] vms: Replace use of LONG_DOUBLE_TYPE_SIZE

2024-06-12 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653342.html BR, Kewen on 2024/6/3 11:00, Kewen Lin wrote: > Joseph pointed out "floating types should have their mode, > not a poorly defined precision value" in the discussion[1], > as he and Richi suggested, the existing mac

Re: [PATCH] rs6000: Compute rop_hash_save_offset for non-Altivec compiles [PR115389]

2024-06-12 Thread Kewen.Lin
Hi Peter, on 2024/6/8 12:06, Peter Bergner wrote: > We currently only compute the offset for the ROP hash save location in > the stack frame for Altivec compiles. For non-Altivec compiles when we > emit ROP mitigation instructions, we use a default offset of zero which > corresponds to the backch

Re: [PATCH 3/3] Add power11 tests

2024-06-12 Thread Kewen.Lin
Hi, on 2024/6/13 02:56, Michael Meissner wrote: > On Wed, Jun 12, 2024 at 02:23:18PM +0800, Kewen.Lin wrote: >> Hi Mike, >> >>> +# Return 1 if this is a PowerPC target supporting -mcpu=power11. >>> + >>> +proc check_effective_target_power11

PING^1 [PATCH 10/52] jit: Replace uses of {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653346.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > Joseph pointed out "floating types should have their mode, > not a poorly defined precision value" in the discussion[1], > as he and Richi suggested, the existing mac

PING^1 [PATCH 12/52] bpf: Remove macros {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653343.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in bpf port. > > gcc/ChangeLog: > > * config/bpf/bpf.h (FLOAT_TYPE_SIZE): Remove. >

PING^1 [PATCH 13/52] epiphany: Remove macros {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653344.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in epiphany port. > > gcc/ChangeLog: > > * config/epiphany/epiphany.h (FLOAT_TYPE_SIZE): R

PING^1 [PATCH 19/52] lm32: Remove macros {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653354.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in lm32 port. > > gcc/ChangeLog: > > * config/lm32/lm32.h (FLOAT_TYPE_SIZE): Remove. >

PING^1 [PATCH 33/52] visium: Remove macros {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653365.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in visium port. > > gcc/ChangeLog: > > * config/visium/visium.h (FLOAT_TYPE_SIZE): Remove.

PING^1 [PATCH 22/52] microblaze: Remove macros {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653355.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in microblaze port. > > gcc/ChangeLog: > > * config/microblaze/microblaze.h (FLOAT_TYPE_SI

PING^1 [PATCH 26/52] nds32: Remove macros {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653358.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in nds32 port. > > gcc/ChangeLog: > > * config/nds32/nds32.h (FLOAT_TYPE_SIZE): Remove. >

PING^1 [PATCH 11/52] arc: Remove macros {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653345.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in arc port. > > gcc/ChangeLog: > > * config/arc/arc.h (FLOAT_TYPE_SIZE): Remove. >

PING^1 [PATCH 30/52] pdp11: Remove macro LONG_DOUBLE_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653368.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macro LONG_DOUBLE_TYPE_SIZE define > in pdp11 port. > > gcc/ChangeLog: > > * config/pdp11/pdp11.h (LONG_DOUBLE_TYPE_SIZE): Remove. > --- >

PING^1 [PATCH 16/52] ft32: Remove macros {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653350.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in ft32 port. > > gcc/ChangeLog: > > * config/ft32/ft32.h (FLOAT_TYPE_SIZE): Remove. >

PING^1 [PATCH 28/52] nvptx: Remove macros {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653361.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in nvptx port. > > gcc/ChangeLog: > > * config/nvptx/nvptx.h (FLOAT_TYPE_SIZE): Remove. >

PING^1 [PATCH 29/52] or1k: Remove macros {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653363.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in or1k port. > > gcc/ChangeLog: > > * config/or1k/or1k.h (FLOAT_TYPE_SIZE): Remove. >

PING^1 [PATCH 24/52] moxie: Remove macros {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653360.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in moxie port. > > gcc/ChangeLog: > > * config/moxie/moxie.h (FLOAT_TYPE_SIZE): Remove. >

PING^1 [PATCH 40/52] ia64: New hook implementation ia64_c_mode_for_floating_type

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653374.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in ia64 port, and add new port specific hook > implementation ia64_c_mode_for_floating_type. > >

PING^1 [PATCH 44/52] s390: New hook implementation s390_c_mode_for_floating_type

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653382.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in s390 port, and add new port specific hook > implementation s390_c_mode_for_floating_type. > >

PING^1 [PATCH 48/52] m68k: New hook implementation m68k_c_mode_for_floating_type

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653381.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to add new port specific hook implementation > m68k_c_mode_for_floating_type, remove macro > LONG_DOUBLE_TYPE_SIZE and add new macro > LONG_DOUBLE_TYPE_MODE w

PING^1 [PATCH 52/52] bfin: Rename macros {FLOAT,DOUBLE}_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653386.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This patch is to remove LONG_DOUBLE_TYPE_SIZE and > rename macros {FLOAT,DOUBLE}_TYPE_SIZE with prefix > BFIN_ as some macro defines want to use them, keeping > them

PING^1 [PATCH 42/52] rl78: New hook implementation rl78_c_mode_for_floating_type

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653376.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in rl78 port, and add new port specific hook > implementation rl78_c_mode_for_floating_type. > >

PING^1 [PATCH 37/52] alpha: New hook implementation alpha_c_mode_for_floating_type

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653370.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in alpha port, and add new port specific hook > implementation alpha_c_mode_for_floating_type. >

PING^1 [PATCH 38/52] avr: New hook implementation avr_c_mode_for_floating_type

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653375.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE > defines in avr port, and add new port specific hook > implementation avr_c_mode_for_floating_type. > > gc

PING^1 [PATCH 46/52] h8300: New hook implementation h8300_c_mode_for_floating_type

2024-06-13 Thread Kewen.Lin
Hi, Gentle ping: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653379.html BR, Kewen on 2024/6/3 11:01, Kewen Lin wrote: > This is to add new port specific hook implementation > h8300_c_mode_for_floating_type, remove useless macro > defines for {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE and add > n

Re: [PATCH 10/52] jit: Replace uses of {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi David, on 2024/6/13 21:44, David Malcolm wrote: > On Sun, 2024-06-02 at 22:01 -0500, Kewen Lin wrote: >> Joseph pointed out "floating types should have their mode, >> not a poorly defined precision value" in the discussion[1], >> as he and Richi suggested, the existing macros >> {FLOAT,{,LONG_}

Re: [PATCH] rs6000: Compute rop_hash_save_offset for non-Altivec compiles [PR115389]

2024-06-13 Thread Kewen.Lin
on 2024/6/13 21:24, Peter Bergner wrote: > On 6/13/24 12:35 AM, Kewen.Lin wrote: >>> @@ -826,7 +826,14 @@ rs6000_stack_info (void) >>> info->ehrd_offset -= info->rop_hash_size; >>> } >>>else >>> - info->ehrd_offset = i

[PATCH 30/52 v2] pdp11: Remove macro {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE

2024-06-13 Thread Kewen.Lin
Hi Paul, on 2024/6/14 04:07, Paul Koning wrote: > What is the effect of this change? The original code intended to have > "float" mean a 32 bit value, and "double" a 64 bit value. There aren't any > larger floats, so I defined the long double size as 64 also. Is the right > answer not to def

Re: [PATCH] rs6000, altivec-2-runnable.c should be a runnable test

2024-06-13 Thread Kewen.Lin
Hi, on 2024/6/14 11:58, Peter Bergner wrote: > On 6/13/24 9:34 PM, Kewen.Lin wrote: >> on 2024/6/14 05:16, Carl Love wrote: > >>> /* { dg-options "-mvsx" } */ >>> /* { dg-additional-options "-mdejagnu-cpu=power8" { target { ! >>>

Re: [PATCH] rs6000, altivec-2-runnable.c should be a runnable test

2024-06-14 Thread Kewen.Lin
Hi! on 2024/6/14 05:16, Carl Love wrote: > Segher: > > On 6/13/24 12:51, Segher Boessenkool wrote: > > > >> >>> --- a/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c >>> +++ b/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c >>> @@ -1,4 +1,4 @@ >>> -/* { dg-do compile { target power

Re: [PATCH 06/52] m2: Replace uses of {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE

2024-06-17 Thread Kewen.Lin
on 2024/6/15 13:00, Gaius Mulley wrote: > "Kewen.Lin" writes: > >> Hi Gaius, >> >>>> static tree >>>> build_m2_short_real_node (void) >>>> { >>>> - tree c; >>>> - >>>> - /* Defin

Re: [PATCH] middle-end/114189 - drop uses of vcond{,u,eq}_optab

2024-06-17 Thread Kewen.Lin
on 2024/6/17 14:16, Richard Biener wrote: > On Mon, 17 Jun 2024, Kewen.Lin wrote: > >> Hi Richi, >> >> on 2024/6/14 18:31, Richard Biener wrote: >>> The following retires vcond{,u,eq} optabs by stopping to use them >>> from the middle-end. Targets ins

Re: [PATCH] rs6000: Compute rop_hash_save_offset for non-Altivec compiles [PR115389]

2024-06-17 Thread Kewen.Lin
on 2024/6/17 10:31, Peter Bergner wrote: > On 6/16/24 9:10 PM, Kewen.Lin wrote: >> on 2024/6/15 01:05, Peter Bergner wrote: >>> That said, the --with-cpu=power5 build without fortran did bootstrap and >>> regtest with no regressions, so the build did test that code path

Re: [PATCH] rs6000: Compute rop_hash_save_offset for non-Altivec compiles [PR115389]

2024-06-17 Thread Kewen.Lin
on 2024/6/15 01:05, Peter Bergner wrote: > On 6/13/24 10:26 PM, Peter Bergner wrote: >> On 6/13/24 9:26 PM, Kewen.Lin wrote: >>>>> I understand this is just copied from the if arm, but if I read this >>>>> right, it can be >>>>> simplified

Re: [PATCH 30/52 v2] pdp11: Remove macro {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE

2024-06-17 Thread Kewen.Lin
t. BR, Kewen > > paul > >> On Jun 13, 2024, at 11:22 PM, Kewen.Lin wrote: >> >> Hi Paul, >> >> on 2024/6/14 04:07, Paul Koning wrote: >>> What is the effect of this change? The original code intended to have >>> "float&

Re: [PATCH] middle-end/114189 - drop uses of vcond{,u,eq}_optab

2024-06-17 Thread Kewen.Lin
Hi Richi, on 2024/6/14 18:31, Richard Biener wrote: > The following retires vcond{,u,eq} optabs by stopping to use them > from the middle-end. Targets instead (should) implement vcond_mask > and vec_cmp{,u,eq} optabs. The PR this change refers to lists > possibly affected targets - those impleme

Re: [PATCH] rs6000: Compute rop_hash_save_offset for non-Altivec compiles [PR115389]

2024-06-17 Thread Kewen.Lin
on 2024/6/17 20:57, Peter Bergner wrote: > On 6/16/24 9:40 PM, Kewen.Lin wrote: >> on 2024/6/17 10:31, Peter Bergner wrote: >>> On 6/16/24 9:10 PM, Kewen.Lin wrote: >>>> on 2024/6/15 01:05, Peter Bergner wrote: >>>>> That said, the --with-cpu=p

Re: [Patch-2v3, rs6000] Eliminate unnecessary byte swaps for duplicated constant vector store [PR113325]

2024-06-17 Thread Kewen.Lin
Hi Haochen, on 2024/6/17 16:59, HAO CHEN GUI wrote: > Hi, > This patch creates an insn_and_split pattern which helps the duplicated > constant vector replace the source pseudo of store insn in fwprop pass. > Thus the store can be implemented by a single stxvd2x and it eliminates the > unnecessar

Re: [PATCH] rs6000, altivec-2-runnable.c update the require-effective-target

2024-06-17 Thread Kewen.Lin
Hi, on 2024/6/18 00:08, Peter Bergner wrote: > On 6/14/24 1:37 PM, Carl Love wrote: >> Per the additional feedback after patch: >> >> commit c892525813c94b018464d5a4edc17f79186606b7 >> Author: Carl Love >> Date: Tue Jun 11 14:01:16 2024 -0400 >> >> rs6000, altivec-2-runnable.c shou

Re: [PATCH 2/13 ver4] rs6000, Remove __builtin_vsx_xvcvspsxws,, __builtin_vsx_xvcvdpuxds_uns, __builtin_vsx_xvcvspuxws built-ins.

2024-06-18 Thread Kewen.Lin
Hi Carl, on 2024/6/14 03:40, Carl Love wrote: > GCC maintainers: > > Per the comments on patch 0004 from version 3, the removal of > The built-in __builtin_vsx_xvcvdpuxds_uns and __builtin_vsx_xvcvspuxws was > moved to this patch. The rest of the patch is unchanged from version 3. > There we

Re: [PATCH 4/13 ver4] rs6000, extend the current vec_{un,}signed{e,o}, built-ins

2024-06-18 Thread Kewen.Lin
Hi Carl, on 2024/6/14 03:40, Carl Love wrote: > > GCC maintainers: > > As noted the removal of __builtin_vsx_xvcvdpuxds_uns and > __builtin_vsx_xvcvspuxws was moved to patch 2 in the seris. The patch has > been updated per the comments from version 3. > > Please let me know if this patch is

Re: [PATCH 7/13 ver4] rs6000, add overloaded vec_sel with int128 arguments

2024-06-18 Thread Kewen.Lin
Hi Carl, on 2024/6/14 03:40, Carl Love wrote: > > GCC maintainers: > > The patch has been updated per the comments from version 3. Please let me > know if the patch is acceptable for mainline. > > Carl > >

Re: [PATCH 11/13 ver4] rs6000, extend vec_xxpermdi built-in for __int128 args

2024-06-18 Thread Kewen.Lin
Hi Carl, on 2024/6/14 03:40, Carl Love wrote: > > GCC maintainers: > > The patch has been updated per the comments from version 3. Please let me > know if the patch is acceptable for mainline. > > Thanks. > > Carl > > ---

Re: [PATCH 13/13 ver4] rs6000, remove vector set and vector init built-ins

2024-06-18 Thread Kewen.Lin
Hi Carl, on 2024/6/14 03:40, Carl Love wrote: > GCC maintainers: > > The patch has been updated per the feedback from version 3. Please let me > know it the patch is acceptable for mainline. > > Thanks. > > Carl > > -

Re: [PATCH] rs6000, altivec-2-runnable.c update the require-effective-target

2024-06-18 Thread Kewen.Lin
Hi Carl, >> I'd expect the "-runnable" test case focuses on testing for run. Normally, >> the one without "-runnable" would focus on testing for compiling (scan some >> desired insn), but this altivec-1.c and altivec-1-runnable.c seems to test >> for different things, maybe we should separate the

Re: [PATCH v4] rs6000: Fix incorrect RTL for Power LE when removing the UNSPECS [PR106069]

2024-06-19 Thread Kewen.Lin
on 2024/6/19 03:02, Peter Bergner wrote: > On 6/12/24 2:50 AM, Kewen.Lin wrote: >> As the recent PR115355 shows, this issue can also affect the >> behavior when users are adopting vectorization optimization, >> IMHO we should get this landed as soon as possible. > >

Re: [PATCH v4] rs6000: Fix incorrect RTL for Power LE when removing the UNSPECS [PR106069]

2024-06-19 Thread Kewen.Lin
Hi Segher, on 2024/6/19 04:31, Segher Boessenkool wrote: > On Fri, Feb 10, 2023 at 10:59:52AM +0800, Xionghu Luo via Gcc-patches wrote: > So, nothing here is obvious at all still. Could you please split it up > a bit more, so that every step is either small or simple? I just chatted with Xionghu

[PATCH] rs6000: Fix wrong RTL patterns for vector merge high/low word on LE

2024-06-20 Thread Kewen.Lin
Hi Segher, Following your review comments in [1], this patch is separated from Xionghu's patch v4 [2] and mainly targetted for 32-bit element size, it changes with the generic call altivec_vmrg*w in vec_widen_[su]mult_{hi,lo}* expanders as well. If this patch looks good to you, I'll post the othe

Re: [PATCH] rs6000: Fix wrong RTL patterns for vector merge high/low word on LE

2024-06-20 Thread Kewen.Lin
Hi Segher, on 2024/6/21 01:20, Segher Boessenkool wrote: > Hi! > > On Thu, Jun 20, 2024 at 06:22:07PM +0800, Kewen.Lin wrote: >> Following your review comments in [1], this patch is >> separated from Xionghu's patch v4 [2] and mainly targetted >> for 32-bit e

PING^2 [PATCH 05/52] rust: Replace uses of {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE

2024-06-20 Thread Kewen.Lin
Hi! Gentle ping^2: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653339.html BR, Kewen on 2024/6/12 17:35, Kewen.Lin wrote: > Hi, > > Gentle ping: > > https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653339.html > > BR, > Kewen > > on 2024/6/3 11:

Re: [PATCH 05/52] rust: Replace uses of {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE

2024-06-21 Thread Kewen.Lin
Hi Arthur, on 2024/6/21 18:17, Arthur Cohen wrote: > Hi, > > Sorry about the delay in my answer! The patch looks good to me :) Will you > push it as part of your patchset? > Thanks for the review! Since this one doesn't necessarily depend on "09/52 Replace {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE wit

Re: [PATCH ver2] rs6000, altivec-2-runnable.c update the require-effective-target

2024-06-21 Thread Kewen.Lin
Hi Carl, on 2024/6/20 00:13, Carl Love wrote: > GCC maintainers: > > version 2: Updated per the feedback from Peter, Kewen and Segher. Note, > Peter suggested the -mdejagnu-cpu= value must be power7. > The test fails if -mdejagnu-cpu= is set to power7, needs to be power8. Patch > has been

Re: [PATCH V5 1/2] split complicate 64bit constant to memory

2024-06-21 Thread Kewen.Lin
Hi Jeff, on 2024/6/13 10:19, Jiufu Guo wrote: > Hi, > > Sometimes, a complicated constant is built via 3(or more) > instructions. Generally speaking, it would not be as fast > as loading it from the constant pool (as the discussions in > PR63281): > "ld" is one instruction. If consider "address

Re: [PATCH] rs6000, altivec-1-runnable.c update the require-effective-target

2024-06-21 Thread Kewen.Lin
Hi Carl, on 2024/6/20 00:18, Carl Love wrote: > GCC maintainers: > > The dg options for this test should be the same as for altivec-2-runnable.c. > This patch updates the dg options to match > the settings in altivec-2-runnable.c. > > The patch has been tested on Power 10 with no regression f

Re: [PATCH-1v3, rs6000] Implement optab_isinf for SFDF and IEEE128

2024-06-21 Thread Kewen.Lin
Hi Haochen, on 2024/5/24 14:02, HAO CHEN GUI wrote: > Hi, > This patch implemented optab_isinf for SFDF and IEEE128 by test > data class instructions. > > Compared with previous version, the main change is to narrow > down the predict for float operand according to review's advice. > https://

Re: [PATCH version 2] rs6000, altivec-1-runnable.c update the, require-effective-target

2024-06-23 Thread Kewen.Lin
Hi, on 2024/6/22 00:15, Carl Love wrote: > GCC maintainers: > > version 2, update the dg options per the feedback. Retested the patch on > Power 10 with no regressions. > > This patch updates the dg options. > > The patch has been tested on Power 10 with no regression failures. > > Please le

Re: [PATCH version 4] rs6000, altivec-2-runnable.c update the, require-effective-target

2024-06-23 Thread Kewen.Lin
Hi Carl, on 2024/6/22 00:15, Carl Love wrote: > GCC maintainers: > > version 4: Additional dg option updates per the feedback. Retested the > patch on Power 10, no regressions. > > version 3: Updated per the feedback from Peter, Kewen and Segher. Note, > Peter suggested the -mdejagnu-cpu=

Re: [PATCH] rs6000, change altivec*-runnable.c test file names

2024-06-24 Thread Kewen.Lin
Hi, on 2024/6/22 00:15, Carl Love wrote: > GCC maintainers: > > Per the discussion of the dg header changes for test files > altivec-1-runnable.c and altivec-2-runnable.c it was decided it would be best > to change the names of the two tests to better align them with the tests that > they are

[PATCH] rs6000: Fix wrong RTL patterns for vector merge high/low short on LE

2024-06-24 Thread Kewen.Lin
Hi, Commit r12-4496 changes some define_expands and define_insns for vector merge high/low short, which are altivec_vmrg[hl]h. These defines are mainly for built-in function vec_merge{h,l} and some internal gen function needs. These functions should consider endianness, taking vec_mergeh as examp

Re: [PATCH 10/52] jit: Replace uses of {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE

2024-06-24 Thread Kewen.Lin
Hi Dave, May I ask if you still have some concerns on this patch with some replies to your previous questions? BR, Kewen on 2024/6/14 10:16, Kewen.Lin wrote: > Hi David, > > on 2024/6/13 21:44, David Malcolm wrote: >> On Sun, 2024-06-02 at 22:01 -0500, Kewen Lin wrote: >>

[PATCH] rs6000: Fix wrong RTL patterns for vector merge high/low char on LE

2024-06-24 Thread Kewen.Lin
Hi, Commit r12-4496 changes some define_expands and define_insns for vector merge high/low char, which are altivec_vmrg[hl]b. These defines are mainly for built-in function vec_merge{h,l} and some internal gen function needs. These functions should consider endianness, taking vec_mergeh as exampl

Re: [PATCH 05/52] rust: Replace uses of {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE

2024-06-25 Thread Kewen.Lin
on 2024/6/21 18:36, Kewen.Lin wrote: > Hi Arthur, > > on 2024/6/21 18:17, Arthur Cohen wrote: >> Hi, >> >> Sorry about the delay in my answer! The patch looks good to me :) Will you >> push it as part of your patchset? >> > > Thanks for the review!

Re: [PATCH 04/52] go: Replace uses of {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE

2024-06-25 Thread Kewen.Lin
on 2024/6/12 20:32, Ian Lance Taylor wrote: > "Kewen.Lin" writes: > >> Hi, >> >> Gentle ping: >> >> https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653387.html >> >> BR, >> Kewen >> >> on 2024/6/3 11:00, Kewen Lin w

Re: [PATCH 09/52 v2] Replace {FLOAT, {, LONG_}DOUBLE}_TYPE_SIZE with new hook mode_for_floating_type

2024-06-25 Thread Kewen.Lin
Hi all, I just pushed this 09/52 v2 with its following target changes as r15-1594, thanks a lot for your comments/reviews/approvals! BR, Kewen > Subject: [PATCH 09/52] Replace {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE with new hook > mode_for_floating_type > > Currently how we determine which mode will

Re: [PATCH ver3] rs6000, altivec-1-runnable.c update the, require-effective-target

2024-06-25 Thread Kewen.Lin
Hi, on 2024/6/25 03:00, Carl Love wrote: > GCC maintainers: > > version 3, rebased on current mainline tree. Version 2 of the patch was out > of sync. Retested the patch on > Power 10 with no regressions. > > version 2, update the dg options per the feedback. Retested the patch on > Power 1

Re: [PATCH] testsuite: powerpc: fix dg-do run typo

2024-07-21 Thread Kewen.Lin
Hi Sam, on 2024/7/20 07:10, Sam James wrote: > "Kewen.Lin" writes: > >> Hi Sam, > > Hi Kewen, > >> >> on 2024/7/19 11:28, Sam James wrote: >>> 'dg-run' is not a valid dejagnu directive, 'dg-do run' is needed here >>

Re: [PATCH V5] report message for operator %a on unaddressible operand

2024-07-22 Thread Kewen.Lin
Hi Jeff, on 2024/7/16 13:39, Jiufu Guo wrote: > Hi, > > For PR96866, when printing asm code for modifier "%a", an addressable > operand is required. While the constraint "X" allow any kind of > operand even which is hard to get the address directly. e.g. extern > symbol whose address is in TOC.

Re: [PATCH] rs6000, Remove __builtin_vec_set_v1ti,, __builtin_vec_set_v2df, __builtin_vec_set_v2di

2024-07-22 Thread Kewen.Lin
Hi Carl, on 2024/7/18 00:01, Carl Love wrote: > GCC maintainers: > > This patch removes the __builtin_vec_set_v1ti, __builtin_vec_set_v2df and > __builtin_vec_set_v2di built-ins.  The users should just use normal C-code to > update the various vector elements.  This change was originally intend

Re: [PATCH] rs6000, remove __builtin_vsx_xvcmp* built-ins

2024-07-22 Thread Kewen.Lin
Hi Carl, on 2024/7/17 23:52, Carl Love wrote: > GCC maintainers: > > The following patch removes the three __builtin_vsx_xvcmp[eq|ge|gt]sp  > builtins as they similar to the overloaded vec_cmp[eq|ge|gt] built-ins.  The > difference is the overloaded built-ins return a vector of boolean or a vec

Re: [PATCH-3v5, rs6000] Implement optab_isnormal for SFDF and IEEE128

2024-07-22 Thread Kewen.Lin
Hi Haochen, on 2024/7/18 09:45, HAO CHEN GUI wrote: > Hi, > This patch implemented optab_isnormal for SFDF and IEEE128 by > test data class instructions. > > Compared with previous version, the main change is to merge > the patterns of SFDF and IEEE128 into one. > https://gcc.gnu.org/pipermai

Re: [PATCH-2v5, rs6000] Implement optab_isfinite for SFDF and IEEE128

2024-07-22 Thread Kewen.Lin
Hi Haochen, on 2024/7/18 09:45, HAO CHEN GUI wrote: > Hi, > This patch implemented optab_isfinite for SFDF and IEEE128 by > test data class instructions. > > Compared with previous version, the main change is to merge > the patterns of SFDF and IEEE128 into one. > https://gcc.gnu.org/pipermai

PING^3 [PATCH] rs6000: Adjust -fpatchable-function-entry* support for dual entry [PR112980]

2024-07-22 Thread Kewen.Lin
a lot, > > Martin > > > On Wed, May 08 2024, Kewen.Lin wrote: >> Hi, >> >> As the discussion in PR112980, although the current >> implementation for -fpatchable-function-entry* conforms >> with the documentation (making N NOPs be consecutive), >>

Re: [RFC/PATCH] isel: Fold more in gimple_expand_vec_cond_expr with andc/iorc

2024-07-22 Thread Kewen.Lin
Hi Andrew, on 2024/7/23 08:09, Andrew Pinski wrote: > On Sun, Jun 30, 2024 at 11:17 PM Kewen.Lin wrote: >> >> Hi, >> >> As PR115659 shows, assuming c = x CMP y, there are some >> folding chances for patterns r = c ? 0/z : z/-1: >> - For r = c ?

Re: [PATCH] rs6000, Remove __builtin_vec_set_v1ti,, __builtin_vec_set_v2df, __builtin_vec_set_v2di

2024-07-22 Thread Kewen.Lin
Hi Carl, on 2024/7/23 01:37, Carl Love wrote: > > Kewen: > > On 7/22/24 2:09 AM, Kewen.Lin wrote: >> Hi Carl, >> >> on 2024/7/18 00:01, Carl Love wrote: >>> GCC maintainers: >>> >>> This patch removes the __builtin_vec_set_v1ti, __built

Re: [PATCH FYI] [powerpc] [testsuite] reorder dg directives [PR106069]

2024-07-22 Thread Kewen.Lin
Hi Alexandre, on 2024/7/23 10:32, Alexandre Oliva wrote: > > The dg-do directive appears after dg-require-effective-target in > g++.target/powerpc/pr106069.C. That doesn't work the way that was > presumably intended. Both of these directives set dg-do-what, but > dg-do does so fully and uncondi

Re: [PATCH] optabs/rs6000: Rename iorc and andc to iorn and andn

2024-07-24 Thread Kewen.Lin
Hi Andrew, on 2024/7/24 10:49, Andrew Pinski wrote: > When I was trying to add an scalar version of iorc and andc, the optab that > got matched was for and/ior with the mode of csi and cdi instead of iorc and > andc optabs for si and di modes. Since csi/cdi are the complex integer modes, > we need

Re: [RFC/PATCH] isel: Fold more in gimple_expand_vec_cond_expr with andc/iorc

2024-07-24 Thread Kewen.Lin
on 2024/7/24 06:53, Andrew Pinski wrote: > On Mon, Jul 22, 2024 at 7:41 PM Kewen.Lin wrote: >> >> Hi Andrew, >> >> on 2024/7/23 08:09, Andrew Pinski wrote: >>> On Sun, Jun 30, 2024 at 11:17 PM Kewen.Lin wrote: >>>> >>>> Hi, >&

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