Re: [PATCH ver2 3/4] rs6000, Remove redundant built-in __builtin_vsx_xvcvuxwdp

2025-01-17 Thread Carl Love
Kewen: Sorry for the delay in getting the patch committed.  Thanks for all the help.   Carl On 11/24/24 5:43 AM, Kewen Lin wrote: rs6000, Remove redundant built-in __builtin_vsx_xvcvuxwdp The built-in __builtin_vsx_xvcvuxwdp can be covered with PVIPR functi

Re: [PATCH ver2 2/4] rs6000, remove built-ins __builtin_vsx_vperm_8hi and, __builtin_vsx_vperm_8hi_uns

2025-01-17 Thread Carl Love
Kewen: OK, thanks for the approval.  Sorry for the delay in getting it committed.    Carl On 11/24/24 5:43 AM, Kewen Lin wrote: --- rs6000, remove built-ins __builtin_vsx_vperm

Re: [PATCH ver2 1/4] rs6000, add testcases to the overloaded vec_perm built-in

2025-01-17 Thread Carl Love
Kewen: I fixed the space issue and moved the sll, ull and bll together. Sorry for the delay in getting the patch committed. Thanks for all the help.   Carl On 11/24/24 5:43 AM, Kewen Lin wrote:  extern __vector int si[][4];  extern __vector short ss[][4];  exter

Re: [PATCH] rs6000, fix test builtins-1-p10-runnable.c

2025-01-17 Thread Carl Love
Kewen: Thanks for the approval.  Sorry for the delay in getting this committed.  I made the fix requested and retested the patch on the most recent mainline.  I will get this committed.   Thanks for all the help.   Carl On 11/24/24 5:42 AM, Kewen Lin wrote: rs6000, f

Re: [PATCH ver2 0/4] rs6000, remove redundant built-ins and add more test cases

2024-11-21 Thread Carl Love
Ping 6 On 11/14/24 1:36 PM, Carl Love wrote: Ping 5 On 11/5/24 8:28 AM, Carl Love wrote: Ping 4 On 10/28/24 4:29 PM, Carl Love wrote: Ping 3 On 10/17/24 1:31 PM, Carl Love wrote: Ping 2 On 10/9/24 7:44 AM, Carl Love wrote: Ping On 10/1/24 8:12 AM, Carl Love wrote: GCC

Re: [PATCH] rs6000, fix test builtins-1-p10-runnable.c

2024-11-21 Thread Carl Love
Ping 6 On 11/14/24 1:36 PM, Carl Love wrote: Ping 5 On 11/5/24 8:27 AM, Carl Love wrote: Ping 4 On 10/28/24 4:28 PM, Carl Love wrote: Ping 3 On 10/17/24 1:31 PM, Carl Love wrote: Ping 2 On 10/9/24 7:43 AM, Carl Love wrote: Ping, FYI this is a fairly simple fix to a testcase. On

Re: [PATCH] rs6000, fix test builtins-1-p10-runnable.c

2024-11-14 Thread Carl Love
Ping 5 On 11/5/24 8:27 AM, Carl Love wrote: Ping 4 On 10/28/24 4:28 PM, Carl Love wrote: Ping 3 On 10/17/24 1:31 PM, Carl Love wrote: Ping 2 On 10/9/24 7:43 AM, Carl Love wrote: Ping, FYI this is a fairly simple fix to a testcase. On 10/3/24 8:11 AM, Carl Love wrote: GCC

Re: [PATCH ver2 0/4] rs6000, remove redundant built-ins and add more test cases

2024-11-14 Thread Carl Love
Ping 5 On 11/5/24 8:28 AM, Carl Love wrote: Ping 4 On 10/28/24 4:29 PM, Carl Love wrote: Ping 3 On 10/17/24 1:31 PM, Carl Love wrote: Ping 2 On 10/9/24 7:44 AM, Carl Love wrote: Ping On 10/1/24 8:12 AM, Carl Love wrote: GCC maintainers: The following version 2 of a series of

Re: [PATCH ver2 0/4] rs6000, remove redundant built-ins and add more test cases

2024-11-05 Thread Carl Love
Ping 4 On 10/28/24 4:29 PM, Carl Love wrote: Ping 3 On 10/17/24 1:31 PM, Carl Love wrote: Ping 2 On 10/9/24 7:44 AM, Carl Love wrote: Ping On 10/1/24 8:12 AM, Carl Love wrote: GCC maintainers: The following version 2 of a series of patches for PowerPC removes some built-ins that

Re: [PATCH] rs6000, fix test builtins-1-p10-runnable.c

2024-11-05 Thread Carl Love
Ping 4 On 10/28/24 4:28 PM, Carl Love wrote: Ping 3 On 10/17/24 1:31 PM, Carl Love wrote: Ping 2 On 10/9/24 7:43 AM, Carl Love wrote: Ping, FYI this is a fairly simple fix to a testcase. On 10/3/24 8:11 AM, Carl Love wrote: GCC maintainers: The builtins-1-10-runnable.c has the

Re: [PATCH ver2 0/4] rs6000, remove redundant built-ins and add more test cases

2024-10-28 Thread Carl Love
Ping 3 On 10/17/24 1:31 PM, Carl Love wrote: Ping 2 On 10/9/24 7:44 AM, Carl Love wrote: Ping On 10/1/24 8:12 AM, Carl Love wrote: GCC maintainers: The following version 2 of a series of patches for PowerPC removes some built-ins that are covered by existing overloaded built-ins

Re: [PATCH] rs6000, fix test builtins-1-p10-runnable.c

2024-10-28 Thread Carl Love
Ping 3 On 10/17/24 1:31 PM, Carl Love wrote: Ping 2 On 10/9/24 7:43 AM, Carl Love wrote: Ping, FYI this is a fairly simple fix to a testcase. On 10/3/24 8:11 AM, Carl Love wrote: GCC maintainers: The builtins-1-10-runnable.c has the debugging inadvertently enabled.  The test uses

Re: [PATCH] rs6000, fix test builtins-1-p10-runnable.c

2024-10-17 Thread Carl Love
Ping 2 On 10/9/24 7:43 AM, Carl Love wrote: Ping, FYI this is a fairly simple fix to a testcase. On 10/3/24 8:11 AM, Carl Love wrote: GCC maintainers: The builtins-1-10-runnable.c has the debugging inadvertently enabled.  The test uses #ifdef to enable/disable the debugging

Re: [PATCH ver2 0/4] rs6000, remove redundant built-ins and add more test cases

2024-10-17 Thread Carl Love
Ping 2 On 10/9/24 7:44 AM, Carl Love wrote: Ping On 10/1/24 8:12 AM, Carl Love wrote: GCC maintainers: The following version 2 of a series of patches for PowerPC removes some built-ins that are covered by existing overloaded built-ins. Additionally, there are patches to add missing

Re: [PATCH ver2 0/4] rs6000, remove redundant built-ins and add more test cases

2024-10-09 Thread Carl Love
Ping On 10/1/24 8:12 AM, Carl Love wrote: GCC maintainers: The following version 2 of a series of patches for PowerPC removes some built-ins that are covered by existing overloaded built-ins. Additionally, there are patches to add missing testcases and documentation.  The original

Re: [PATCH] rs6000, fix test builtins-1-p10-runnable.c

2024-10-09 Thread Carl Love
Ping, FYI this is a fairly simple fix to a testcase. On 10/3/24 8:11 AM, Carl Love wrote: GCC maintainers: The builtins-1-10-runnable.c has the debugging inadvertently enabled.  The test uses #ifdef to enable/disable the debugging. Unfortunately, the #define DEBUG was set to 0 to disable

[PATCH] rs6000, fix test builtins-1-p10-runnable.c

2024-10-03 Thread Carl Love
GCC maintainers: The builtins-1-10-runnable.c has the debugging inadvertently enabled.  The test uses #ifdef to enable/disable the debugging. Unfortunately, the #define DEBUG was set to 0 to disable debugging and enable the call to abort in case of error.  The #define should have been removed

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

2024-10-01 Thread Carl Love
GCC maintainers: Version 2, added the argument changes for the__builtin_vsx_uns_double[e | o | h | l ]_v4si built-ins. Added support to the vector {un,}signed int to vector float builtins so they are supported using Altivec instructions if VSX is not available per the feedback comments. Th

Re: [PATCH ver2 2/4] rs6000, remove built-ins __builtin_vsx_vperm_8hi and, __builtin_vsx_vperm_8hi_uns

2024-10-01 Thread Carl Love
GCC maintainers: version 2, added the reference to the patch where the removal of the built-ins was missed.  Note, patch was approved by Kewen with this change. The following patch removes two redundant built-ins __builtin_vsx_vperm_8hi and __builtin_vsx_vperm_8hi_uns.  The built-ins are c

[PATCH ver2 3/4] rs6000, Remove redundant built-in __builtin_vsx_xvcvuxwdp

2024-10-01 Thread Carl Love
GCC maintainers: Version 2: Fixed the wording in the changelog per the feedback. With this change the patch was approved by Kewen. The patch removed the built-in __builtin_vsx_xvcvuxwdp as it is covered by the overloaded vec_doubleo built-in. The patch has been tested on Power 10 LE and

Re: [PATCH ver2 1/4] rs6000, add testcases to the overloaded vec_perm built-in

2024-10-01 Thread Carl Love
--- From 4c672e8895107bc1f62e09122e7af157436cb83d Mon Sep 17 00:00:00 2001 From: Carl Love Date: Wed, 31 Jul 2024 16:31:34 -0400 Subject: [PATCH 1/4] rs6000, add testcases to the overloaded vec_perm built-in The overloaded vec_perm built-in supports permuting signed and

[PATCH ver2 0/4] rs6000, remove redundant built-ins and add more test cases

2024-10-01 Thread Carl Love
GCC maintainers: The following version 2 of a series of patches for PowerPC removes some built-ins that are covered by existing overloaded built-ins. Additionally, there are patches to add missing testcases and documentation.  The original version of the patch series was posted on 8/7/2024.

Re: [PATCH 2/4] rs6000, remove built-ins __builtin_vsx_vperm_8hi and, __builtin_vsx_vperm_8hi_uns

2024-09-30 Thread Carl Love
: Hi Carl, on 2024/8/8 01:15, Carl Love wrote: GCC maintainers: The following patch removes two redundant built-ins __builtin_vsx_vperm_8hi and __builtin_vsx_vperm_8hi_uns.  The built-ins are covered by the overloaded vec_perm built-in. The patch has been tested on Power 10 LE and BE wi

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

2024-09-30 Thread Carl Love
: 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 as s

Re: [PATCH 3/4] rs6000, Remove redundant built-in __builtin_vsx_xvcvuxwdp

2024-09-30 Thread Carl Love
GCC maintainers: Here is my respnses to the review comments by Kewen.  Unfortunately, Kewen is no longer working on GCC power. I will submit an updated version of the patch with Kewen's suggested changes. Carl On 8/9/24 3:11 AM, Kewen.Lin wrote: rs600

Re: [PATCH 1/4] rs6000, add testcases to the overloaded vec_perm built-in

2024-09-30 Thread Carl Love
: Hi Carl, on 2024/8/8 01:15, Carl Love wrote: GCC maintainers: The following patch adds missing test cases for the overloaded vec_perm built-in.  It also fixes and issue with printing the 128-bit values in the DEBUG section that was noticed when adding the additional test cases. The patch has

Re: [PATCH] rs6000, Fix test builtins-1-p10-runnable.c

2024-09-19 Thread Carl Love
GCC maintainers: Please ignore this patch.  Attached the wrong patch to the message.   Sorry for the noise. Carl On 9/19/24 4:40 PM, Carl Love wrote: GCC maintainers: This patch removes an expected value change that was made to verify the error checking for the

[PATCH] rs6000, Fix test builtins-1-p10-runnable.c

2024-09-19 Thread Carl Love
Power 10. Please let me know if the patch is acceptable for mainline.  Thanks. Carl Love - rs6000, Fix test builtins-1-p10-runnable.c The first element of the expected result was apparently changed for te

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

2024-08-22 Thread Carl Love
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 vec_test_lsbb_all_ones and, vec_test_lsbb_all_zeros buil

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

2024-08-22 Thread Carl Love
Kewen: On 8/20/24 12:56 AM, Kewen.Lin wrote: 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

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

2024-08-16 Thread Carl Love
Ping. Carl On 8/9/24 8:57 AM, 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

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

2024-08-16 Thread Carl Love
Kewen: Ping.   Carl On 8/7/24 10:15 AM, 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

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

2024-08-09 Thread Carl Love
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 vector bool char.  The patch has been tested on Power 10

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

2024-08-07 Thread Carl Love
story of altivec.h to support both unsigned/sign char for vec_test_lsbb_all_ones, vec_test_lsbb_all_zeros And this might make life a little easier for users. On Tue, Aug 6, 2024 at 10:12 AM Carl Love wrote: Steve: Agreed the documentation only specifies unsigned char argument for

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

2024-08-07 Thread Carl Love
 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 as signed. Additionally, there are a number of test cases

[PATCH 3/4] rs6000, Remove redundant built-in __builtin_vsx_xvcvuxwdp

2024-08-07 Thread Carl Love
GCC maintainers: The patch removed the built-in __builtin_vsx_xvcvuxwdp as it is covered by the overloaded vec_doubleo built-in. The patch has been tested on Power 10 LE and BE with no regressions. Please let me know if it is acceptable for mainline.  Thanks.   Carl ---

[PATCH 2/4] rs6000, remove built-ins __builtin_vsx_vperm_8hi and, __builtin_vsx_vperm_8hi_uns

2024-08-07 Thread Carl Love
GCC maintainers: The following patch removes two redundant built-ins __builtin_vsx_vperm_8hi and __builtin_vsx_vperm_8hi_uns.  The built-ins are covered by the overloaded vec_perm built-in. The patch has been tested on Power 10 LE and BE with no regressions. Please let me know if it is acc

[PATCH 1/4] rs6000, add testcases to the overloaded vec_perm built-in

2024-08-07 Thread Carl Love
GCC maintainers: The following patch adds missing test cases for the overloaded vec_perm built-in.  It also fixes and issue with printing the 128-bit values in the DEBUG section that was noticed when adding the additional test cases. The patch has been tested on Power 10 LE and BE with no r

[PATCH 0/4] rs6000, remove redundant built-ins and add more test cases

2024-08-07 Thread Carl Love
GCC maintainers: The following series of patches for PowerPC removes some built-ins that are covered by existing overloaded built-ins.  Additionally, there are patches to add missing testcases and documentation. The patch series has been tested on Power 10 LE and BE with no regressions. Pl

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

2024-08-06 Thread Carl Love
vec_test_lsbb_all_zeros both specify vector unsigned char, only. On Mon, Aug 5, 2024 at 1:15 AM Kewen.Lin wrote: on 2024/8/3 05:48, Peter Bergner wrote: > On 7/31/24 10:21 PM, Kewen.Lin wrote: >> on 2024/8/1 01:52, Carl Love wrote: >>> Yes, I noticed that the built-ins were def

Re: [PATCH ver 3] rs6000, Add new overloaded vector shift builtin int128, variants

2024-08-05 Thread Carl Love
Kewen: On 8/4/24 11:13 PM, Kewen.Lin wrote: Hi Carl, on 2024/8/2 03:35, Carl Love wrote: GCC developers: Version 3, updated the testcase dg-do link to dg-do compile.  Moved the new documentation again.  Retested on Power 10 LE and BE to verify the dg arguments disable the test on Power10BE

[PATCH ver 3] rs6000, Add new overloaded vector shift builtin int128, variants

2024-08-01 Thread Carl Love
GCC developers: Version 3, updated the testcase dg-do link to dg-do compile.  Moved the new documentation again.  Retested on Power 10 LE and BE to verify the dg arguments disable the test on Power10BE but enable the test for Power10LE.  Reran the full regression testsuite.   There were no new

Re: [PATCH ver 2] rs6000, Add new overloaded vector shift builtin int128, varients

2024-07-31 Thread Carl Love
Kewen: On 7/29/24 3:21 AM, Kewen.Lin wrote: +@smallexample +@exdent vector signed __int128 vec_sld (vector signed __int128, +vector signed __int128, const unsigned int); +@exdent vector unsigned __int128 vec_sld (vector unsigned __int128, +vector unsigned __int128, const unsigned int); +@exden

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

2024-07-31 Thread Carl Love
Kewen: On 7/31/24 2:12 AM, Kewen.Lin wrote: Hi Carl, on 2024/7/27 06:56, Carl Love wrote: GCC maintainers: Per a report from a user, the existing vec_test_lsbb_all_ones and, vec_test_lsbb_all_zeros built-ins are not documented in the GCC documentation file. The following patch adds

Re: [PATCH ver 2] rs6000, Add new overloaded vector shift builtin int128, varients

2024-07-30 Thread Carl Love
Peter, Kewen: Per Peter's request, I did the following testing on ltcd97-lp7 which is a Power 10 running in BE mode. On 7/29/24 8:47 AM, Peter Bergner wrote: Maybe the following will work? +/* { dg-do run { target power10_hw } } */ +/* { dg-do link { target { ! power10_hw } } } */ +/* { d

Re: [PATCH] rs6000, add comment to VEC_IC definition

2024-07-29 Thread Carl Love
Kewen: On 7/29/24 3:21 AM, Kewen.Lin wrote: index 0d3e0a24e11..75d95ccfb47 100644 --- a/gcc/config/rs6000/vector.md +++ b/gcc/config/rs6000/vector.md @@ -26,7 +26,8 @@  ;; Vector int modes  (define_mode_iterator VEC_I [V16QI V8HI V4SI V2DI]) -;; Vector int modes for comparison, shift and rota

[PATCH] rs6000, add comment to VEC_IC definition

2024-07-26 Thread Carl Love
GCC maintainers: This patch adds a comment to the VEC_IC definitions to clarify the V1TI "TARGET_POWER10" mode per the request by Segher in the feedback to patch "https://gcc.gnu.org/pipermail/gcc-patches/2024-July/658156.html";. https://gcc.gnu.org/pipermail/gcc-patches/2024-July/658156.html

[PATCH] rs6000, document built-ins vec_test_lsbb_all_ones and, vec_test_lsbb_all_zeros

2024-07-26 Thread Carl Love
GCC maintainers: Per a report from a user, the existing vec_test_lsbb_all_ones and, vec_test_lsbb_all_zeros built-ins are not documented in the GCC documentation file. The following patch adds missing documentation for the vec_test_lsbb_all_ones and, vec_test_lsbb_all_zeros built-ins. Plea

[PATCH ver 2] rs6000, Add new overloaded vector shift builtin int128, varients

2024-07-26 Thread Carl Love
GCC developers: Version 2, updated rs6000-overload.def to remove adding additonal internal names and to change XXSLDWI_Q to XXSLDWI_1TI per comments from Kewen.  Move new documentation statement for the PIVPR built-ins per comments from Kewen.  Updated dg-do-run directive and added comment ab

Re: [PATCH] rs6000, Add new overloaded vector shift builtin int128, varients

2024-07-26 Thread Carl Love
Segher: On 7/24/24 11:47 AM, Segher Boessenkool wrote: Hi! On Wed, Jul 24, 2024 at 11:38:11AM -0700, Carl Love wrote: On 7/24/24 10:03 AM, Segher Boessenkool wrote: So much manual stuff needed, sigh. On Fri, Jul 19, 2024 at 01:04:12PM -0700, Carl Love wrote: gcc/ChangeLog:     * config

Re: [PATCH] rs6000, Add new overloaded vector shift builtin int128, varients

2024-07-25 Thread Carl Love
Peter, Segher: On 7/23/24 2:26 PM, Peter Bergner wrote: On 7/19/24 3:04 PM, Carl Love wrote: diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md index 5af9bf920a2..2a18ee44526 100644 --- a/gcc/config/rs6000/altivec.md +++ b/gcc/config/rs6000/altivec.md @@ -878,9 +878,9

Re: [PATCH] rs6000, Add new overloaded vector shift builtin int128, varients

2024-07-25 Thread Carl Love
Kewen: On 7/25/24 1:21 AM, Kewen.Lin wrote: Hi Carl, Some minor comments are inlined on top of Segher's and Peter's comments. on 2024/7/20 04:04, Carl Love wrote: GCC developers: The following patch adds the int128 varients to the existing overloaded built-ins vec_sld, vec_sldb

Re: [PATCH 2/2] rs6000, remove built-ins __builtin_vsx_set_1ti, __builtin_vsx_set_2df, __builtin_vsx_set_2di

2024-07-25 Thread Carl Love
Kewen: On 7/25/24 1:24 AM, Kewen.Lin wrote: optimization the number of assembly generated for the two methods are similar.  With -O3 optimization, the assembly generated for the two approaches is identical for the 2DF and 2DI types.  The assembly for the C-code version of the 1Ti requres one

Re: [PATCH 0/2] rs6000, remove vec and vsx set builtins

2024-07-25 Thread Carl Love
Kewen: On 7/25/24 1:21 AM, Kewen.Lin wrote: The patch, first patch in this series, to remove the __builtin_vec_set_v1ti, __builtin_vec_set_v2df, __builtin_vec_set_v2di was previously posted.  The feedback on the patch was that we could also remove set bif attribute.  Removal of the set bif at

Re: [PATCH 1/2] rs6000, Remove __builtin_vec_set_v1ti,, __builtin_vec_set_v2df, __builtin_vec_set_v2di

2024-07-25 Thread Carl Love
Kewen: On 7/25/24 1:22 AM, Kewen.Lin wrote: on 2024/7/24 01:52, Carl Love wrote: GCC maintainers: This patch was previously posted.  Per the feedback, it is now the first of two patches to remove the set built-ins. This patch removes the __builtin_vec_set_v1ti, __builtin_vec_set_v2df and

Re: [PATCH 1/2] rs6000, Remove __builtin_vec_set_v1ti,, __builtin_vec_set_v2df, __builtin_vec_set_v2di

2024-07-25 Thread Carl Love
Kewen: On 7/25/24 1:22 AM, Kewen.Lin wrote: - rs6000, Remove __builtin_vec_set_v1ti, __builtin_vec_set_v2df, __builtin_vec_set_v2di Remove the built-ins, use the default gimple gener

Re: [PATCH] rs6000, Add new overloaded vector shift builtin int128, varients

2024-07-24 Thread Carl Love
Segher: Thanks for the review, a few questions... On 7/24/24 10:03 AM, Segher Boessenkool wrote: Hi! So much manual stuff needed, sigh. On Fri, Jul 19, 2024 at 01:04:12PM -0700, Carl Love wrote: gcc/ChangeLog:     * config/rs6000/altivec.md (vsdb_): Change     define_insn iterator to

Re: [PATCH] rs6000, Add new overloaded vector shift builtin int128, varients

2024-07-24 Thread Carl Love
Peter: On 7/23/24 2:26 PM, Peter Bergner wrote: On 7/19/24 3:04 PM, Carl Love wrote: diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md index 5af9bf920a2..2a18ee44526 100644 --- a/gcc/config/rs6000/altivec.md +++ b/gcc/config/rs6000/altivec.md @@ -878,9 +878,9

Re: [PATCH 1/2] rs6000, Remove __builtin_vec_set_v1ti,, __builtin_vec_set_v2df, __builtin_vec_set_v2di

2024-07-23 Thread Carl Love
GCC maintainers: This patch was previously posted.  Per the feedback, it is now the first of two patches to remove the set built-ins. 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 upda

Re: [PATCH 2/2] rs6000, remove built-ins __builtin_vsx_set_1ti, __builtin_vsx_set_2df, __builtin_vsx_set_2di

2024-07-23 Thread Carl Love
GCC maintainers: This patch removes the vsx set built-ins: __builtin_vsx_set_1ti, __builtin_vsx_set_2df, __builtin_vsx_set_2di.  With the  removal of these built-ins, the built-in attribute "set", used in the built-in definition file, is no longer needed.  The "set"  and the associated code f

[PATCH 0/2] rs6000, remove vec and vsx set builtins

2024-07-23 Thread Carl Love
GCC maintainers: The code generated by using C-code to set a vector element versus using a built-in has been investigated.  The assembly code generated from the C-code is as good or better than the assembly code generated for the built-ins for both the -O0 and -O3 levels of optimization. For

[PATCH ver 2] rs6000, remove __builtin_vsx_xvcmp* built-ins

2024-07-23 Thread Carl Love
GCC maintainers: version 2, Updated patch comments, added missing ChangeLog.  Fixed unintended line removal. 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-

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

2024-07-22 Thread Carl Love
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, __builtin_vec_set_v2df and __builtin_vec_set_v2di built-ins.  The users should just use normal C-code to update the various vector

[PATCH] rs6000, Add new overloaded vector shift builtin int128, varients

2024-07-19 Thread Carl Love
GCC developers: The following patch adds the int128 varients to the existing overloaded built-ins vec_sld, vec_sldb, vec_sldw, vec_sll, vec_slo, vec_srdb, vec_srl, vec_sro.  These varients were requested by Steve Munroe. The patch has been tested on a Power 10 system with no regressions. Ple

[PATCH ver 3] rs6000, update effective target for tests builtins-10*.c and, vec_perm-runnable-i128.c

2024-07-17 Thread Carl Love
GCC maintainers: Version 3, in version 2, the ChangeLog didn't get updated to remove the LP64 references.  Fixed that and updated the patch description per the feedback from Peter. Version 2, removed the lp64 from the target per discussion.  Tested and it is not needed.  The int128 qualifier

Re: [PATCH ver 2] rs6000, update effective target for tests builtins-10*.c and, vec_perm-runnable-i128.c

2024-07-17 Thread Carl Love
On 7/16/24 6:01 PM, Peter Bergner wrote: On 7/16/24 6:19 PM, Carl Love wrote: use __int128 types that are not supported on all platforms.  The __int128 type is only supported on 64-bit platforms.  Need to check that the platform is 64-bits and support the __int128 type.  Add the int128 and

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

2024-07-17 Thread Carl Love
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 intended to be part of the earlier series of cleanup patches

[PATCH] rs6000, remove __builtin_vsx_xvcmp* built-ins

2024-07-17 Thread Carl Love
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 vector of long long booleans where as the removed built-in

[PATCH ver 2] rs6000, update effective target for tests builtins-10*.c and, vec_perm-runnable-i128.c

2024-07-16 Thread Carl Love
GCC maintainers: Version 2, removed the lp64 from the target per discussion.  Tested and it is not needed.  The int128 qualifier is sufficient for the thest to report as unsupported on a 32-bit Power system. The tests:   tests builtins-10-runnable.c   tests builtins-10.c   vec_perm-runnabl

Re: [PATCH] rs6000, update effective target for tests builtins-10*.c and, vec_perm-runnable-i128.c

2024-07-16 Thread Carl Love
Peter: On 7/15/24 4:14 PM, Peter Bergner wrote: On 7/15/24 5:43 PM, Carl Love wrote: -/* { dg-do run } */ +/* { dg-do run { target { lp64 } && { int128 } } } */ Why isn't this just: /* { dg-do run { target int128 } } */ ??? The int128 test should disable this on 32-bit

[PATCH] rs6000, update effective target for tests builtins-10*.c and, vec_perm-runnable-i128.c

2024-07-15 Thread Carl Love
GCC maintainers: The tests:   tests builtins-10-runnable.c   tests builtins-10.c   vec_perm-runnable-i128.c generate the following errors when run on a 32-bit BE Power system with GCC configured with multilib enabled. FAIL: gcc.target/powerpc/builtins-10-runnable.c (test for excess errors) F

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

2024-07-03 Thread Carl Love
Kewen: On 6/18/24 20:04, Kewen.Lin wrote: 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 13/13 ver5] rs6000, remove vector set and vector init built-ins.

2024-07-03 Thread Carl Love
 GCC maintainers: The patch has been updated to remove the customized vec_init built-in code.  Specfivically the init identifier, the related generated code for the init built-in attribute bit, function altivec_expand_vec_init_builtin and calls to the function. Please let me know if the patc

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

2024-07-03 Thread Carl Love
GCC maintainers: I moved the removal of built-ins __builtin_vsx_xvcvdpsxws and __builtin_vsx_xvcvdpuxws from patch 4 to  patch patch 2. I fixed various issues with the ChangeLog wording, spaces and descriptions. Fixed the comments in file gcc/config/rs6000/vsx.md. Updated the built-in desc

Re: [PATCH 2/13 ver5] rs6000, __builtin_vsx_xvcv{sp{sx,u}ws,dpuxds_uns}

2024-07-03 Thread Carl Love
GCC maintainers: Per the comments on patch 2 from version 4, I have moved the removal of built-ins __builtin_vsx_xvcvdpsxws and __builtin_vsx_xvcvdpuxws from patch 4 to this patch. Please let me know if this patch is acceptable. Thanks. Carl -

[PATCH 0/13 ver5] rs6000, built-in cleanup patch series

2024-07-03 Thread Carl Love
GCC maintainers: The following is the updates to the three patches that have yet to be approved. Patches 1, 3, 5, 6, 8, 9, 10, and 12 were approved in the version 3 or earlier. Patches 7 and 11 from version 4 were approved with minor nits fixed. This leaves patches 2, 4 and 13 still to be appr

Re: [PATCH] rs6000, update vec_ld, vec_lde, vec_st and vec_ste, documentation

2024-07-03 Thread Carl Love
On 7/3/24 2:36 AM, Kewen.Lin wrote: Hi Carl, on 2024/6/27 01:05, Carl Love wrote: GCC maintainers: The following patch updates the user documentation for the vec_ld, vec_lde, vec_st and vec_ste built-ins to make it clearer that there are data alignment requirements for these built-ins

[PATCH] rs6000, update vec_ld, vec_lde, vec_st and vec_ste, documentation

2024-06-26 Thread Carl Love
GCC maintainers: The following patch updates the user documentation for the vec_ld, vec_lde, vec_st and vec_ste built-ins to make it clearer that there are data alignment requirements for these built-ins. If the data alignment requirements are not followed, the data loaded or stored by these b

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

2024-06-25 Thread Carl Love
Kewen: On 6/23/24 19:41, Kewen.Lin wrote: > 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 th

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

2024-06-25 Thread Carl Love
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 10 with no regressions. This patch updates the dg options.

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

2024-06-24 Thread Carl Love
Kewen: On 6/18/24 20:03, Kewen.Lin wrote: > 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

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

2024-06-24 Thread Carl Love
On 6/18/24 20:03, Kewen.Lin wrote: > 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

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

2024-06-21 Thread Carl Love
set to power7, needs to be power8. Patch has been retested on a Power 10 box, it succeeds with 2 passes and no fails. Per the additional feedback after patch: commit c892525813c94b018464d5a4edc17f79186606b7 Author: Carl Love Date: Tue Jun 11 14:01:16 2024 -0400 rs6000, altivec-2

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

2024-06-21 Thread Carl Love
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 let me know if this patch is acceptable for mainline. Thanks.

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

2024-06-21 Thread Carl Love
Kewen: On 6/21/24 03:37, Kewen.Lin wrote: > 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 sett

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

2024-06-21 Thread Carl Love
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 better aligned with. This patch is dependent on the t

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

2024-06-21 Thread Carl Love
Kewen: On 6/21/24 03:36, Kewen.Lin wrote: > 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. >&

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

2024-06-19 Thread Carl Love
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 failures. Please let me know if this patch is acceptable for

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

2024-06-19 Thread Carl Love
Everyone, Oops, this should be version 3 not 2. Sorry. Carl On 6/19/24 09: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. > Th

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

2024-06-19 Thread Carl Love
no fails. 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 should be a runnable test The test case has "dg-do compile" set not "d

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

2024-06-18 Thread Carl Love
Kewen, Peter, Segher: On 6/17/24 19:56, Kewen.Lin wrote: > 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

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

2024-06-14 Thread Carl Love
GCC maintainers: 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 should be a runnable test The test case has "dg-do compile" set not

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

2024-06-13 Thread Carl Love
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 powerpc*-*-* } } */ >> +/* { dg-do run { target powerpc*-*-* }

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

2024-06-13 Thread Carl Love
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 acceptable for mainline. Carl

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

2024-06-13 Thread Carl Love
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 - rs6000, add overloaded vec_sel with int128 arguments Extend

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

2024-06-13 Thread Carl Love
Kewen: On 6/3/24 22:59, Kewen.Lin wrote: > Hi, > > on 2024/5/30 00:16, Carl Love wrote: >> This was patch 13 from the previous series. Note the previous series patch >> 12 was dropped. This patch is the same as the previous version. The >> additional work to rem

[PATCH 0/13 ver4] rs6000, built-in cleanup patch series

2024-06-13 Thread Carl Love
GCC maintainers: I have addressed the comments to the five patches in the series that have not yet been approved. The patches that have already been approved are 1, 3, 5, 6, 8, 9, 10, and 12. The remaining patches all have fairly minor fixes requested. I will just post version 4 of these patch

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

2024-06-13 Thread Carl Love
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 -- rs6000, remove vector set and vector

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

2024-06-13 Thread Carl Love
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 - rs6000, extend vec_xxpermdi built-in for __int128 ar

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

2024-06-13 Thread Carl Love
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 were no comments on this patch for version 3. Please let me

  1   2   3   4   5   >