Re: [PATCH,rs6000] Fix implementation of vec_unpackh, vec_unpackl builtins

2018-07-03 Thread Carl Love
Segher: On Mon, 2018-07-02 at 11:53 -0500, Segher Boessenkool wrote: > Hi! > > On Fri, Jun 29, 2018 at 07:38:39AM -0700, Carl Love wrote: > > +;; Unpack high elements of float vector to vector of doubles > > +(define_expand "altivec_unpackh_v4sf" >

[PATCH,rs6000] Backport of stxvl instruction fix to GCC 7

2018-07-09 Thread Carl Love
patch looks OK for GCC 7.  Carl Love --- 2018-07-09  Carl Love   Backport from mainline 2017-09-07  Carl Love   * config/rs6000/vsx.md (define_insn "*stxvl"): Add missing a

Re: [PATCH, rs6000] Fix AIX test case failures

2018-07-13 Thread Carl Love
. Now, the tests are reported as unsupported on AIX rather then failing on AIX. Please let me know if you both approve the updated patch below. Thanks for the input and help on this. Carl Love ------- gcc/testsui

[PATCH, rs6000] Fix AIX test case failures

2018-07-17 Thread Carl Love
7200-00-01-1543 (Power 8 BE) With no regressions. Please let me know if it is OK to apply the patch to the GCC 8 branch. Thanks. Carl Love - gcc/testsuite/ChangeLog: 2018-07-17 Carl Love Backport from

[PATCH,rs6000] AIX test fixes 2

2018-07-20 Thread Carl Love
n-linux-gnu (Power 8 LE)  powerpc64-unknown-linux-gnu (Power 8 BE) AIX (Power 8) With no regressions. Please let me know if the patch looks OK for trunk.      Carl Love gcc/testsuite/ChangeLog: 2

[PATCH] rs6000, Add missing overloaded bcd builtin tests

2023-10-30 Thread Carl Love
GCC maintainers: The following patch adds tests for two of the rs6000 overloaded built- ins that do not have tests. Additionally the GCC documentation file doc/extend.texi is updated to include the built-in definitions as they were missing. The patch has been tested on a Power 10 system with no

Re: [PATCH] rs6000, Add missing overloaded bcd builtin tests

2023-10-31 Thread Carl Love
On Tue, 2023-10-31 at 10:34 +0800, Kewen.Lin wrote: > Hi Carl, > > on 2023/10/31 08:08, Carl Love wrote: > > GCC maintainers: > > > > The following patch adds tests for two of the rs6000 overloaded > > built- > > ins that do not have tests. Additionall

Re: [PATCH] rs6000, Add missing overloaded bcd builtin tests

2023-10-31 Thread Carl Love
Segher: On Tue, 2023-10-31 at 11:17 -0500, Segher Boessenkool wrote: > > You could use gcov to see which rs6000 builtins are not exercised by > anything in the testsuite, maybe. This probably can be automated > pretty > nicely. I will take a look at gcov. I just did some relatively simple sc

rs6000, built-in cleanup patch series

2024-02-20 Thread Carl Love
GCC maintainers: The following series of patches cleanup some of the rs6000 built-in support. Some of the first patches fix errors in the definition of a few of the built-ins. The built-ins are supposed to have unsigned arguments but are listed as signed. Some of the built-ins are supposed t

[PATCH 01/11] rs6000, Fix __builtin_vsx_cmple* args and documentation, builtins

2024-02-20 Thread Carl Love
GCC maintainers: This patch fixes the arguments and return type for the various __builtin_vsx_cmple* built-ins. They were defined as signed but should have been defined as unsigned. The patch has been tested on Power 10 with no regressions. Please let me know if this patch is acceptable for

[PATCH 02/11] rs6000, fix arguments, add documentation for vector, element conversions

2024-02-20 Thread Carl Love
GCC maintainers: This patch fixes the return type for the __builtin_vsx_xvcvdpuxws and __builtin_vsx_xvcvspuxds built-ins. They were defined as signed but should have been defined as unsigned. The patch has been tested on Power 10 with no regressions. Please let me know if this patch is ac

[PATCH 05/11] rs6000, __builtin_vsx_xvneg[sp,dp] add documentation, and test cases

2024-02-20 Thread Carl Love
GCC maintainers: The patch adds documentation and test cases for the __builtin_vsx_xvnegsp, __builtin_vsx_xvnegdp built-ins. The patch has been tested on Power 10 with no regressions. Please let me know if this patch is acceptable for mainline. Thanks. Carl

[PATCH 06/11] rs6000, __builtin_vsx_xxpermdi_1ti add documentation, and test case

2024-02-20 Thread Carl Love
GCC maintainers: The patch adds documentation and test case for the __builtin_vsx_xxpermdi_1ti built-in. The patch has been tested on Power 10 with no regressions. Please let me know if this patch is acceptable for mainline. Thanks. Carl

[PATCH 04/11] rs6000, Update comment for the __builtin_vsx_vper*, built-ins.

2024-02-20 Thread Carl Love
GCC maintainers: The patch expands an existing comment to document that the duplicates are covered by an overloaded built-in. I am wondering if we should just go ahead and remove the duplicates? The patch has been tested on Power 10 with no regressions. Please let me know if this patch is acc

[PATCH 08/11] rs6000, add tests and documentation for various, built-ins

2024-02-20 Thread Carl Love
GCC maintainers: The patch adds documentation a number of built-ins. The patch has been tested on Power 10 with no regressions. Please let me know if this patch is acceptable for mainline. Thanks. Carl rs60

[PATCH 03/11] rs6000, remove duplicated built-ins

2024-02-20 Thread Carl Love
GCC maintainers: There are a number of undocumented built-ins that are duplicates of other documented built-ins. This patch removes the duplicates so users will only use the documented built-in. The patch has been tested on Power 10 with no regressions. Please let me know if this patch is acc

[PATCH 07/11] rs6000, __builtin_vsx_xvcmpeq[sp, dp, sp_p] add, documentation and test case

2024-02-20 Thread Carl Love
GCC maintainers: The patch adds documentation and test case for the __builtin_vsx_xvcmpeq[sp, dp, sp_p] built-ins. The patch has been tested on Power 10 with no regressions. Please let me know if this patch is acceptable for mainline. Thanks. Carl --

[PATCH 09/11] rs6000, add test cases for the vec_cmpne built-ins

2024-02-20 Thread Carl Love
GCC maintainers: The patch adds test cases for the vec_cmpne of built-ins. The patch has been tested on Power 10 with no regressions. Please let me know if this patch is acceptable for mainline. Thanks. Carl rs

PATCH 10/11] rs6000, add test cases for __builtin_vec_init* and, __builtin_vec_set*

2024-02-20 Thread Carl Love
GCC maintainers: The patch adds test cases for the __builtin_vec_init* and __builtin_vec_set* built-ins. The patch has been tested on Power 10 with no regressions. Please let me know if this patch is acceptable for mainline. Thanks. Carl

PATCH 11/11] rs6000, make test vec-cmpne.c a runnable test

2024-02-20 Thread Carl Love
GCC maintainers: The patch changes the vec-cmpne.c from a compile only test to a runnable test. The macros to create the functions needed to test the built-ins and verify the restults are all there in the include file. The .c file just needed to have the macro definitions inserted and chang

Re: [PATCH 01/11] rs6000, Fix __builtin_vsx_cmple* args and documentation, builtins

2024-02-28 Thread Carl Love
new patch set after stage 4 is over. Carl On 2/20/24 09:55, Carl Love wrote: > > GCC maintainers: > > This patch fixes the arguments and return type for the various > __builtin_vsx_cmple* built-ins. They were defined as signed but should have > been d

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 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 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 -

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 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 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

[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] 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 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

[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] 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

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 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

[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

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

2024-05-17 Thread Carl Love
Kewen: I am working thru the patches. I made the changes as requested for this patch but have a question about one of your comments. On 5/14/24 00:53, Kewen.Lin wrote: > Hi, > > on 2024/4/20 05:17, Carl Love wrote: >> rs6000, extend the current vec_{un,}signed{e,o} built-ins

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

2024-05-21 Thread Carl Love
Kewen: On 5/13/24 19:54, Kewen.Lin wrote: > Hi, > > on 2024/4/20 05:17, Carl Love wrote: >> rs6000, add overloaded vec_sel with int128 arguments >> >> Extend the vec_sel built-in to take three signed/unsigned int128 arguments >> and return a signed/unsigned i

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

2024-05-22 Thread Carl Love
Kewen: On 5/13/24 22:44, Kewen.Lin wrote: >> perform the same operation as setting a specific element in the vector in >> C code. For example: >> >> src_v4si = __builtin_vec_set_v4si (src_v4si, int_val, index); >> src_v4si[index] = int_val; >> >> The built-in actually generates more instructi

Re: [PATCH 12/13] rs6000, remove __builtin_vsx_xvcmpeqsp built-in

2024-05-23 Thread Carl Love
On 5/13/24 22:37, Kewen.Lin wrote: > Hi, > > on 2024/4/20 05:18, Carl Love wrote: >> rs6000, remove __builtin_vsx_xvcmpeqsp built-in >> >> The built-in __builtin_vsx_xvcmpeqsp is a duplicate of the overloaded >> vec_cmpeq built-in. The built-in is undocument

Re: [PATCH 12/13] rs6000, remove __builtin_vsx_xvcmpeqsp built-in

2024-05-24 Thread Carl Love
Kewen: On 5/24/24 03:43, Kewen.Lin wrote: > Hi, > > on 2024/5/24 02:21, Carl Love wrote: >> >> >> On 5/13/24 22:37, Kewen.Lin wrote: >>> Hi, >>> >>> on 2024/4/20 05:18, Carl Love wrote: >>>> rs6000, remove __builtin_vsx_xvcm

Re: [PATCH 2/13] rs6000, Remove __builtin_vsx_xvcvspsxws built-in

2024-05-24 Thread Carl Love
Kewen: On 5/14/24 01:43, Kewen.Lin wrote: > Hi, > > on 2024/4/20 05:17, Carl Love wrote: >> rs6000, Remove __builtin_vsx_xvcvspsxws built-in >> >> The built-in __builtin_vsx_xvcvspsxws is a duplicate of the vec_signed >> built-in that is documented in the PVI

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

2024-05-24 Thread Carl Love
Kewen: On 5/14/24 00:53, Kewen.Lin wrote: > Hi, > > on 2024/4/20 05:17, Carl Love wrote: >> rs6000, extend the current vec_{un,}signed{e,o} built-ins >> >> The built-ins __builtin_vsx_xvcvspsxds and __builtin_vsx_xvcvspuxds >> convert a vector of floats to signed

Re: [PATCH 3/13] rs6000, fix error in unsigned vector float to unsigned int built-in definitions

2024-05-24 Thread Carl Love
Keewn: On 5/14/24 00:00, Kewen.Lin wrote: > Hi, > > on 2024/4/20 05:17, Carl Love wrote: >> rs6000, fix error in unsigned vector float to unsigned int built-in >> definitions >> >> The built-ins __builtin_vsx_vunsigned_v2df and__builtin_vsx_vunsigned_v4sf &g

Re: [PATCH 7/13] rs6000, remove the vec_xxsel built-ins, they are duplicates

2024-05-24 Thread Carl Love
Kewen: On 5/13/24 19:55, Kewen.Lin wrote: > Hi, > > on 2024/4/20 05:18, Carl Love wrote: >> rs6000, remove the vec_xxsel built-ins, they are duplicates >> -int do_sel(void) >> -{ >> - int i = 0; >> - >> - si[i][0] = __builtin_vs

Re: [PATCH 11/13] rs6000, remove __builtin_vsx_xvcmpeqsp_p built-in

2024-05-24 Thread Carl Love
On 5/13/24 22:26, Kewen.Lin wrote: > Hi, > > on 2024/4/20 05:18, Carl Love wrote: >> rs6000, remove __builtin_vsx_xvcmpeqsp_p built-in >> >> The built-in __builtin_vsx_xvcmpeqsp_p is a duplicate of the overloaded >> __builtin_altivec_vcmpeqfp_p built-in.

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

2024-05-24 Thread Carl Love
Kewen: On 5/21/24 20:05, Kewen.Lin wrote: > Hi Carl, > > on 2024/5/22 08:13, Carl Love wrote: >> Kewen: >>> Why did you place this in a section for ISA 3.1 (Power10)? It doesn't >>> really >>> require this support. The used instance VSEL_1TI

Re: [PATCH 8/13] rs6000, remove __builtin_vsx_vperm_* built-ins

2024-05-24 Thread Carl Love
Kewen: On 5/13/24 19:59, Kewen.Lin wrote: > Hi, > > on 2024/4/20 05:18, Carl Love wrote: >> diff --git a/gcc/testsuite/gcc.target/powerpc/vsx-builtin-3.c >> b/gcc/testsuite/gcc.target/powerpc/vsx-builtin-3.c >> index 01f35dad713..35ea31b2616 100644 >> --- a

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

2024-05-24 Thread Carl Love
On 5/13/24 22:14, Kewen.Lin wrote: > Hi, > > on 2024/4/20 05:18, Carl Love wrote: >> rs6000, extend vec_xxpermdi built-in for __int128 args >> >> Add a new overloaded instance for vec_xxpermdi >> >>__int128 vec_xxpermdi (__int128, __int128, const

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

2024-05-29 Thread Carl Love
GCC maintainers: The following is an updated patch series to remove duplicate built-ins. There are patches to extend an existing overloaded built-in to cover additional input types. A new patch, 0005-rs6000-Remove-redundant-float-double-type-conversion.patch, was added to remove built-ins

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

2024-05-29 Thread Carl Love
This patch was approved in the previous series. There are no changes to this patch. Reposting for completeness. Carl --- rs6000, Remove __builtin_vsx_cmple* builtins The built-ins __builtin_vsx_cmple_u16qi, __builtin_v

Re: [PATCH 2/13 ver 3] rs6000, Remove __builtin_vsx_xvcvspsxws built-in

2024-05-29 Thread Carl Love
I responded to comments about the patch from the previous patch series. No functional changes were made to this patch. Carl -- rs6000, Remove __builtin_vsx_xvcvspsxws built-in. The built-in __builtin_vsx_xvcvspsxws i

Re: [PATCH 3/13 ver 3] rs6000, fix error in unsigned vector float to unsigned int built-in definition

2024-05-29 Thread Carl Love
This patch was updated per the feedback comment from the previous version in series 2. Carl --- rs6000, fix error in unsigned vector float to unsigned int built-in definitions The built-in __builtin_vs

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

2024-05-29 Thread Carl Love
Updated the patch per the feedback comments from the previous version. Carl --- rs6000, extend the current vec_{un,}signed{e,o} built-ins The built-ins __builtin_vsx_xvcvspsxds and __builtin_vsx_xvcvspuxds conv

Re: [PATCH 5/13 ver 3] rs6000, Remove redundant float/double type conversions

2024-05-29 Thread Carl Love
This is a new patch to removed the built-ins that were inadvertently missing in the previous series. Carl -- rs6000, Remove redundant float/double type conversions The following built-ins are redundant as

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

2024-05-29 Thread Carl Love
This was patch 6 in the previous series. Updated the documentation file per the comments. No functional changes to the patch. Carl rs6000, add overloaded vec_sel with int128 arguments Extend the vec_sel bu

Re: [PATCH 6/13 ver 3] rs6000, remove duplicated built-ins of vecmergl and, vec_mergeh

2024-05-29 Thread Carl Love
This was patch 5 in the previous series. It was previously approved. Not changes in this version. Being posted for completeness. Carl rs6000, remove duplicated built-ins of vecmergl and vec_mergeh The followi

Re: [PATCH 8/13 ver 3] rs6000, remove the vec_xxsel built-ins, they are, duplicates

2024-05-29 Thread Carl Love
This was patch 7 in the previous series. Patch was updated to address the feedback comments. Carl rs6000, remove the vec_xxsel built-ins, they are duplicates The following undocumented built-i

Re: [PATCH 10/13 ver 3] rs6000, remove __builtin_vsx_xvnegdp and, __builtin_vsx_xvnegsp built-ins

2024-05-29 Thread Carl Love
This was patch 9 in the previous series. It was previously approved. Reposting for completeness. Carl - rs6000, remove __builtin_vsx_xvnegdp and __builtin_vsx_xvnegsp built-ins The undocumented __builtin_vsx

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

2024-05-29 Thread Carl Love
This was patch 10 from the previous series. The patch was updated to address feedback comments. Carl --- rs6000, extend vec_xxpermdi built-in for __int128 args Add a new signed and unsigned overloaded instances for v

Re: [PATCH 9/13 ver 3] rs6000, remove __builtin_vsx_vperm_* built-ins

2024-05-29 Thread Carl Love
This was patch 8 in the previous series. Updated patch per the feedback comments. Carl rs6000, remove __builtin_vsx_vperm_* built-ins The undocumented built-ins: __builtin_vsx_vperm_16qi_uns,

Re: [PATCH 12/13 ver 3] rs6000, remove __builtin_vsx_xvcmpeqsp_p built-in

2024-05-29 Thread Carl Love
This was patch 11 from the previous series. Patch was updated to address feedback comments. Carl -- rs6000, remove __builtin_vsx_xvcmpeqsp_p built-in The built-in __builtin_vsx_xvcmpeqsp_p is a duplicate of the ove

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

2024-05-29 Thread Carl Love
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 remove __builtin_vec_set_v1ti, __builtin_vec_set_v2di, __builtin_vec_set_v2d per the feedback comments with equivalent gimple cod

[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 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

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 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

[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 1/13 ver 3] rs6000, Remove __builtin_vsx_cmple* builtins

2024-06-05 Thread Carl Love
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. Reposting for completeness. > I guess you can just push the approved ones, a

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

2024-06-13 Thread Carl Love
Kewen: On 6/4/24 00:19, Kewen.Lin wrote: > Hi, > > on 2024/5/29 23:58, Carl Love wrote: >> Updated the patch per the feedback comments from the previous version. >> >> Carl >> ---

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

2024-06-13 Thread Carl Love
Kewen: On 6/3/24 22:58, Kewen.Lin wrote: > Hi, > > on 2024/5/30 00:03, Carl Love wrote: >> This was patch 6 in the previous series. Updated the documentation file per >> the comments. No functional changes to the patch. >> >&g

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

2024-06-13 Thread Carl Love
Kewen: On 6/3/24 22:58, Kewen.Lin wrote: > Hi, > > on 2024/5/30 00:10, Carl Love wrote: >> This was patch 10 from the previous series. The patch was updated to >> address feedback comments. >> >>

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

2024-06-13 Thread Carl Love
GCC maintainers: The test gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c is supposed to be a runnable test to verify the execution of the vec_unpackl and vec_unpackh built-ins. The dg-do command is set to compile not run. This patch fixes the dg-do command argument. The patch has bee

[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

[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

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 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 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 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

[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

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] 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 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 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 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] 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 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, 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] 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 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.

[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

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

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

[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 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] 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] 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 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-

[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

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

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

  1   2   3   4   5   >