Re: [PATCH 1/2] rs6000: Add support for SSE4.1 "ceil" intrinsics

2021-07-11 Thread Bill Schmidt via Gcc-patches
Hi Paul, On 7/1/21 9:11 PM, Paul A. Clarke via Gcc-patches wrote: 2021-07-01 Paul A. Clarke gcc/ChangeLog: * config/rs6000/smmintrin.h (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss): New. --- gcc/config/rs6000/smmintrin.h | 28 1 file

Re: [PATCH 3/4] rs6000: Add support for SSE4.1 "blend" intrinsics

2021-07-11 Thread Bill Schmidt via Gcc-patches
On 7/11/21 11:17 AM, Bill Schmidt wrote: Hi Paul, On 6/29/21 1:08 PM, Paul A. Clarke via Gcc-patches wrote: _mm_blend_epi16 and _mm_blendv_epi8 were added earlier. Add these four to complete the set. 2021-06-29  Paul A. Clarke  gcc/ChangeLog: * config/rs6000/smmintrin.h (_mm_blend_pd

Re: [PATCH 4/4] rs6000: Add tests for SSE4.1 "blend" intrinsics

2021-07-11 Thread Bill Schmidt via Gcc-patches
Hi Paul, Please resubmit this when you resubmit 3/4, in case any adjustments are needed. Thanks! Bill On 6/29/21 1:08 PM, Paul A. Clarke via Gcc-patches wrote: Copy the tests for _mm_blend_pd, _mm_blendv_pd, _mm_blend_ps, _mm_blendv_ps from gcc/testsuite/gcc.target/i386. 2021-06-29 Paul

Re: [PATCH 3/4] rs6000: Add support for SSE4.1 "blend" intrinsics

2021-07-11 Thread Bill Schmidt via Gcc-patches
Hi Paul, On 6/29/21 1:08 PM, Paul A. Clarke via Gcc-patches wrote: _mm_blend_epi16 and _mm_blendv_epi8 were added earlier. Add these four to complete the set. 2021-06-29 Paul A. Clarke gcc/ChangeLog: * config/rs6000/smmintrin.h (_mm_blend_pd, _mm_blendv_pd, _mm_blend_ps,

Re: [PATCH 2/4] rs6000: Add tests for SSE4.1 "test" intrinsics

2021-07-11 Thread Bill Schmidt via Gcc-patches
Hi Paul, LGTM.  I can't approve, but recommend approval as is. Thanks, Bill On 6/29/21 1:08 PM, Paul A. Clarke via Gcc-patches wrote: Copy the test for _mm_testz_si128, _mm_testc_si128, _mm_testnzc_si128, _mm_test_all_ones, _mm_test_all_zeros, _mm_test_mix_ones_zeros from

Re: [PATCH 1/4] rs6000: Add support for SSE4.1 "test" intrinsics

2021-07-11 Thread Bill Schmidt via Gcc-patches
Hi Paul, On 6/29/21 1:08 PM, Paul A. Clarke via Gcc-patches wrote: 2021-06-29 Paul A. Clarke gcc/ChangeLog: * config/rs6000/smmintrin.h (_mm_testz_si128, _mm_testc_si128, _mm_testnzc_si128, _mm_test_all_ones, _mm_test_all_zeros, _mm_test_mix_ones_zeros): New. ---

Re: [PATCH v2 2/2] rs6000: Add test for _mm_minpos_epu16

2021-07-09 Thread Bill Schmidt via Gcc-patches
Hi Paul, On 6/8/21 2:11 PM, Paul A. Clarke via Gcc-patches wrote: Copy the test for _mm_minpos_epu16 from gcc/testsuite/gcc.target/i386/sse4_1-phminposuw.c, with a few adjustments: - Adjust the dejagnu directives for powerpc platform. - Make the data not be monotonically increasing, such

Re: [PATCH v2 1/2] rs6000: Add support for _mm_minpos_epu16

2021-07-09 Thread Bill Schmidt via Gcc-patches
Hi Paul, On 6/8/21 2:11 PM, Paul A. Clarke via Gcc-patches wrote: Add a naive implementation of the subject x86 intrinsic to ease porting. "subject" won't be part of eventual commit, so please specify in commit blurb. 2021-06-08 Paul A. Clarke gcc/ChangeLog: *

Re: [PATCH] rs6000: Add MMA __builtin_vsx_lxvp and __builtin_vsx_stxvp built-ins

2021-07-06 Thread Bill Schmidt via Gcc-patches
On 7/6/21 2:29 PM, Peter Bergner wrote: On 7/4/21 11:32 AM, Bill Schmidt wrote On 7/1/21 2:48 PM, Peter Bergner via Gcc-patches wrote: +  if (d[1].icode != CODE_FOR_nothing) +    { +  op[nopnds++] = void_type_node; +  icode = d[1].icode; +    } This hunk

Re: [PATCH] rs6000: Add MMA __builtin_vsx_lxvp and __builtin_vsx_stxvp built-ins

2021-07-04 Thread Bill Schmidt via Gcc-patches
Hi Peter, On 7/1/21 2:48 PM, Peter Bergner via Gcc-patches wrote: gcc/ * config/rs6000/rs6000-builtin.def (BU_MMA_PAIR_LD, BU_MMA_PAIR_ST): New macros. (__builtin_vsx_lxvp, __builtin_vsx_stxvp): New built-ins. * config/rs6000/rs6000-call.c

Re: [PATCH] rs6000: Add MMA __builtin_vsx_lxvp and __builtin_vsx_stxvp built-ins

2021-07-04 Thread Bill Schmidt via Gcc-patches
On 7/3/21 10:56 AM, Segher Boessenkool wrote: On Fri, Jul 02, 2021 at 01:32:45PM -0500, Peter Bergner wrote: On 7/1/21 2:48 PM, Peter Bergner wrote: On 7/1/21 1:01 PM, Segher Boessenkool wrote: The patch is okay for trunk. Below is the updated patch which is bootstrapping now. I'll commit

Re: [PATCHv3 00/55] Replace the Power target-specific builtin machinery

2021-06-25 Thread Bill Schmidt via Gcc-patches
Ping / beg  :-) On 6/17/21 10:18 AM, Bill Schmidt via Gcc-patches wrote: Original patch series here: https://gcc.gnu.org/pipermail/gcc-patches/2021-April/568840.html V2 patch series here: https://gcc.gnu.org/pipermail/gcc-patches/2021-June/572231.html I've made some slight changes to the V2

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

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_init_file): Initialize new_builtins_are_live to 1. --- gcc/config/rs6000/rs6000-gen-builtins.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c

[PATCH 54/55] rs6000: Test case adjustments

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-15 Bill Schmidt gcc/testsuite/ * gcc.target/powerpc/bfp/scalar-extract-exp-2.c: Adjust. * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Adjust. * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Adjust. * gcc.target/powerpc/bfp/scalar-insert-exp-5.c

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

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-10 Bill Schmidt gcc/ * config/rs6000/altivec.h: Delete a number of #defines that are now superfluous; include rs6000-vecdefines.h; include some synonyms. --- gcc/config/rs6000/altivec.h | 522 +++- 1 file changed, 41 insertions

[PATCH 52/55] rs6000: Debug support

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-04-01 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_debug_type): New function. (def_builtin): Change debug formatting for easier parsing and include more information. (rs6000_init_builtins): Add dump of autogenerated builtins

[PATCH 51/55] rs6000: Miscellaneous uses of rs6000_builtin_decls_x

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Use rs6000_builtin_decls_x when appropriate. (add_condition_to_bb): Likewise. (rs6000_atomic_assign_expand_fenv): Likewise. --- gcc/config/rs6000/rs6000.c | 19

[PATCH 50/55] rs6000: Update rs6000_builtin_decl

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_new_builtin_decl): New function. (rs6000_builtin_decl): Call it. --- gcc/config/rs6000/rs6000-call.c | 20 1 file changed, 20 insertions(+) diff --git a/gcc/config/rs6000/rs6000

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

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-24 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (new_htm_spr_num): New function. (new_htm_expand_builtin): Implement. (rs6000_expand_new_builtin): Handle 32-bit and endian cases. --- gcc/config/rs6000/rs6000-call.c | 202 1

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

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-17 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (new_mma_expand_builtin): Implement. --- gcc/config/rs6000/rs6000-call.c | 103 1 file changed, 103 insertions(+) diff --git a/gcc/config/rs6000/rs6000-call.c b/gcc/config/rs6000

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

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (elemrev_icode): Implement. (ldv_expand_builtin): Likewise. (lxvrse_expand_builtin): Likewise. (lxvrze_expand_builtin): Likewise. (stv_expand_builtin): Likewise. --- gcc/config/rs6000/rs6000

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

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (new_cpu_expand_builtin): Implement. --- gcc/config/rs6000/rs6000-call.c | 100 1 file changed, 100 insertions(+) diff --git a/gcc/config/rs6000/rs6000-call.c b/gcc/config/rs6000

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

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_invalid_new_builtin): Implement. (rs6000_expand_ldst_mask): Likewise. (rs6000_init_builtins): Initialize altivec_builtin_mask_for_load. --- gcc/config/rs6000/rs6000-call.c | 101

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

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-17 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_expand_new_builtin): New forward decl. (rs6000_invalid_new_builtin): New stub function. (rs6000_expand_builtin): Call rs6000_expand_new_builtin. (rs6000_expand_ldst_mask): New stub

[PATCH 43/55] rs6000: Support for vectorizing built-in functions

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000.c (rs6000-builtins.h): New include. (rs6000_new_builtin_vectorized_function): New function. (rs6000_new_builtin_md_vectorized_function): Likewise. (rs6000_builtin_vectorized_function): Call

[PATCH 42/55] rs6000: Handle gimple folding of target built-ins

2021-06-17 Thread Bill Schmidt via Gcc-patches
. 2021-06-17 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_gimple_fold_new_builtin): New forward decl. (rs6000_gimple_fold_builtin): Call rs6000_gimple_fold_new_builtin. (rs6000_new_builtin_valid_without_lhs): New function

[PATCH 41/55] rs6000: Handle overloads during program parsing

2021-06-17 Thread Bill Schmidt via Gcc-patches
, unfortunately. Just be aware that generally we aren't changing the logic and functionality of overload handling. 2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-c.c (rs6000-builtins.h): New include. (altivec_resolve_new_overloaded_builtin): New forward decl

[PATCH 40/55] rs6000: Always initialize vector_pair and vector_quad nodes

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-24 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_init_builtins): Remove TARGET_EXTRA_BUILTINS guard. --- gcc/config/rs6000/rs6000-call.c | 51 - 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/gcc/config/rs6000

[PATCH 39/55] rs6000: Add sanity to V2DI_type_node definitions

2021-06-17 Thread Bill Schmidt via Gcc-patches
It seems quite strange for these to be "vector long" for 64-bit and "vector long long" for 32-bit, when "vector long long" will do for both. 2021-03-04 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_init_builtins): Change in

[PATCH 38/55] rs6000: Darwin builtin support

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-04 Bill Schmidt gcc/ * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Use the new decl when new_builtins_are_live. * config/rs6000/rs6000-builtin-new.def (__builtin_cfstring): New built-in. --- gcc/config/rs6000/darwin.h | 8

[PATCH 37/55] rs6000: Execute the automatic built-in initialization code

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-03-04 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000-builtins.h): New #include. (rs6000_init_builtins): Call rs6000_autoinit_builtins; skip the old initialization logic when new builtins are enabled. --- gcc/config/rs6000/rs6000-call.c | 12

[PATCH 35/55] rs6000: Add Cell builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add cell stanza. --- gcc/config/rs6000/rs6000-builtin-new.def | 27 1 file changed, 27 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs6000-builtin

[PATCH 34/55] rs6000: Add miscellaneous builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-15 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add ieee128-hw, dfp, crypto, and htm stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 215 +++ 1 file changed, 215 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin

[PATCH 33/55] rs6000: Add MMA builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-16 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add mma stanza. --- gcc/config/rs6000/rs6000-builtin-new.def | 416 +++ 1 file changed, 416 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs6000-builtin

[PATCH 32/55] rs6000: Add Power10 builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-15 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power10 and power10-64 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 523 +++ 1 file changed, 523 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc

[PATCH 31/55] rs6000: Add more type nodes to support builtin processing

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-10 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_init_builtins): Initialize various pointer type nodes. * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add enum values for various pointer types. (ptr_V16QI_type_node): New macro

[PATCH 30/55] rs6000: Add Power9 builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-15 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power9-vector, power9, and power9-64 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 375 +++ 1 file changed, 375 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin

[PATCH 29/55] rs6000: Add power8-vector builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-04-01 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power8-vector stanza. --- gcc/config/rs6000/rs6000-builtin-new.def | 438 +++ 1 file changed, 438 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000

[PATCH 28/55] rs6000: Add power7 and power7-64 builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-04-02 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power7 and power7-64 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 39 1 file changed, 39 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc

[PATCH 27/55] rs6000: Add available-everywhere and ancient builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add always, power5, and power6 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 72 1 file changed, 72 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b

[PATCH 26/55] rs6000: Add VSX builtins

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add vsx stanza. --- gcc/config/rs6000/rs6000-builtin-new.def | 857 +++ 1 file changed, 857 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs6000-builtin

[PATCH 25/55] rs6000: Add the rest of the [altivec] stanza to the builtins file

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-10 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Finish altivec stanza. * config/rs6000/rs6000-call.c (rs6000_init_builtins): Move initialization of pcvoid_type_node here... (altivec_init_builtins): ...from here. * config/rs6000

[PATCH 24/55] rs6000: Add gengtype handling to the build machinery

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config.gcc (target_gtfiles): Add ./rs6000-builtins.h. * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Set. --- gcc/config.gcc | 1 + gcc/config/rs6000/t-rs6000 | 1 + 2 files changed, 2 insertions(+) diff --git a/gcc/config.gcc b/gcc

[PATCH 23/55] rs6000: Incorporate new builtins code into the build machinery

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config.gcc (extra_objs): Include rs6000-builtins.o and rs6000-c.o. * config/rs6000/t-rs6000 (rs6000-gen-builtins.o): New target. (rbtree.o): Likewise. (rs6000-gen-builtins): Likewise. (rs6000-builtins.c): Likewise

[PATCH 22/55] rs6000: Write static initializations for overload tables

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_ovld_static_init): New function. (write_init_file): Call write_ovld_static_init. --- gcc/config/rs6000/rs6000-gen-builtins.c | 53 + 1 file changed, 53 insertions(+) diff

[PATCH 21/55] rs6000: Write static initializations for built-in table

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_bif_static_init): New function. (write_init_file): Call write_bif_static_init. --- gcc/config/rs6000/rs6000-gen-builtins.c | 106 1 file changed, 106 insertions(+) diff

[PATCH 20/55] rs6000: Write output to the builtins init file, part 3 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-15 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (typemap): New struct. (TYPE_MAP_SIZE): New macro. (type_map): New initialized variable. (map_token_to_type_node): New function. (write_type_node): Likewise. (write_fntype_init

[PATCH 19/55] rs6000: Write output to the builtins init file, part 2 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_init_bif_table): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 81 + 1 file changed, 81 insertions(+) diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c b/gcc

[PATCH 18/55] rs6000: Write output to the builtins init file, part 1 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_fntype): New callback function. (write_fntype_init): New stub function. (write_init_bif_table): Likewise. (write_init_ovld_table): New function. (write_init_file

[PATCH 17/55] rs6000: Write output to the builtins header file

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_autogenerated_header): New function. (write_decls): Likewise. (write_extern_fntype): New callback function. (write_header_file): Implement. --- gcc/config/rs6000/rs6000-gen

[PATCH 16/55] rs6000: Write output to the builtin definition include file

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_defines_file): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 17 + 1 file changed, 17 insertions(+) diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c b/gcc/config/rs6000

[PATCH 15/55] rs6000: Build and store function type identifiers

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (complete_vector_type): New function. (complete_base_type): Likewise. (construct_fntype_id): Likewise. (parse_bif_entry): Call contruct_fntype_id. (parse_ovld_entry): Likewise

[PATCH 14/55] rs6000: Parsing of overload input file

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (ovld_stanza): New struct. (MAXOVLDSTANZAS): New macro. (ovld_stanzas): New variable. (curr_ovld_stanza): Likewise. (MAXOVLDS): New macro. (ovlddata): New struct. (ovlds

[PATCH 13/55] rs6000: Parsing built-in input file, part 3 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (parse_bif_attrs): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 102 1 file changed, 102 insertions(+) diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c b/gcc/config

[PATCH 12/55] rs6000: Parsing built-in input file, part 2 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (parse_args): New function. (parse_prototype): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 142 1 file changed, 142 insertions(+) diff --git a/gcc/config/rs6000/rs6000-gen

[PATCH 11/55] rs6000: Parsing built-in input file, part 1 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (bif_stanza): New enum. (curr_bif_stanza): New variable. (stanza_entry): New struct. (stanza_map): New initialized variable. (enable_string): Likewise. (fnkinds): New enum

[PATCH 10/55] rs6000: Main function with stubs for parsing and output

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-08 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (rbtree.h): New #include. (num_bifs): New variable. (num_ovld_stanzas): Likewise. (num_ovlds): Likewise. (parse_codes): New enum. (bif_rbt): New variable. (ovld_rbt

[PATCH 09/55] rs6000: Red-black tree implementation for balanced tree search

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-08 Bill Schmidt gcc/ * config/rs6000/rbtree.c: New file. * config/rs6000/rbtree.h: New file. --- gcc/config/rs6000/rbtree.c | 242 + gcc/config/rs6000/rbtree.h | 52 2 files changed, 294 insertions(+) create mode 100644

[PATCH 08/55] rs6000: Add functions for matching types, part 3 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (restriction): New enum. (typeinfo): Add restr field. (match_bracketed_pair): New function. (match_const_restriction): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 115

[PATCH 07/55] rs6000: Add functions for matching types, part 2 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-04-02 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (match_basetype): Implement. --- gcc/config/rs6000/rs6000-gen-builtins.c | 64 + 1 file changed, 64 insertions(+) diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c b/gcc/config/rs6000

[PATCH 06/55] rs6000: Add functions for matching types, part 1 of 3

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (void_status): New enum. (basetype): Likewise. (typeinfo): Likewise. (handle_pointer): New function. (match_basetype): New stub function. (match_const_restriction): Likewise

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

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (consume_whitespace): New function. (advance_line): Likewise. (safe_inc_pos): Likewise. (match_identifier): Likewise. (match_integer): Likewise. (match_to_right_bracket

[PATCH 04/55] rs6000: Add file support and functions for diagnostic support

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (bif_file): New variable. (ovld_file): Likewise. (header_file): Likewise. (init_file): Likewise. (defines_file): Likewise. (pgm_path): Likewise. (bif_path): Likewise

[PATCH 03/55] rs6000: Add initial input files

2021-06-17 Thread Bill Schmidt via Gcc-patches
This patch adds a tiny subset of the built-in and overload descriptions. 2021-04-02 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: New. * config/rs6000/rs6000-overload.def: New. --- gcc/config/rs6000/rs6000-builtin-new.def | 199 +++ gcc/config

[PATCH 02/55] rs6000: Initial create of rs6000-gen-builtins.c

2021-06-17 Thread Bill Schmidt via Gcc-patches
2021-04-02 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c: New. --- gcc/config/rs6000/rs6000-gen-builtins.c | 165 1 file changed, 165 insertions(+) create mode 100644 gcc/config/rs6000/rs6000-gen-builtins.c diff --git a/gcc/config/rs6000/rs6000-gen

[PATCH 01/55] Support scanning of build-time GC roots in gengtype

2021-06-17 Thread Bill Schmidt via Gcc-patches
headers are up to date prior to running gengtype. 2021-06-15 Bill Schmidt gcc/ * Makefile.in (EXTRA_GTYPE_DEPS): New variable. (s-gtype): Depend on EXTRA_GTYPE_DEPS. * gengtype-state.c (state_writer::write_state_file_list): Add a parameter to the fileslist

[PATCHv3 00/55] Replace the Power target-specific builtin machinery

2021-06-17 Thread Bill Schmidt via Gcc-patches
with the original series. Status of the remaining patches (using new numbering): 0001: Approved 0002: Approved 0003: Approved 0004: Approved 0005: Needs re-review 0006: Approved 0007: Approved 0008: Approved 0009: Approved 0010-0055: Not yet reviewed Thanks again for the ongoing reviews! Bill Bill Schmidt (55

Re: [PATCH 02/57] Support scanning of build-time GC roots in gengtype

2021-06-09 Thread Bill Schmidt via Gcc-patches
On 6/9/21 5:54 AM, Richard Biener wrote: On Wed, Jun 9, 2021 at 12:53 PM Richard Biener wrote: On Tue, Jun 8, 2021 at 10:45 PM Bill Schmidt wrote: On 6/7/21 12:48 PM, Bill Schmidt wrote: On 6/7/21 12:45 PM, Richard Biener wrote: On Mon, Jun 7, 2021 at 5:38 PM Bill Schmidt wrote: On 6/7

Re: [PATCH 02/57] Support scanning of build-time GC roots in gengtype

2021-06-08 Thread Bill Schmidt via Gcc-patches
On 6/7/21 12:48 PM, Bill Schmidt wrote: On 6/7/21 12:45 PM, Richard Biener wrote: On Mon, Jun 7, 2021 at 5:38 PM Bill Schmidt wrote: On 6/7/21 8:36 AM, Richard Biener wrote: Some maybe obvious issue - what about DOS-style path hosts? You seem to build ../ strings to point to parent dirs

[PATCH 54/55] rs6000: Test case adjustments

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-03-24 Bill Schmidt gcc/testsuite/ * gcc.target/powerpc/bfp/scalar-extract-exp-2.c: Adjust. * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Adjust. * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Adjust. * gcc.target/powerpc/bfp/scalar-insert-exp-5.c

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

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000-gen-builtins.c (write_init_file): Initialize new_builtins_are_live to 1. --- gcc/config/rs6000/rs6000-gen-builtins.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c

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

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-04-01 Bill Schmidt gcc/ * config/rs6000/altivec.h: Delete a number of #defines that are now superfluous; include rs6000-vecdefines.h; include some synonyms. --- gcc/config/rs6000/altivec.h | 516 +++- 1 file changed, 41 insertions

[PATCH 52/55] rs6000: Debug support

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-04-01 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_debug_type): New function. (def_builtin): Change debug formatting for easier parsing and include more information. (rs6000_init_builtins): Add dump of autogenerated builtins

[PATCH 51/55] rs6000: Miscellaneous uses of rs6000_builtin_decls_x

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Use rs6000_builtin_decls_x when appropriate. (add_condition_to_bb): Likewise. (rs6000_atomic_assign_expand_fenv): Likewise. --- gcc/config/rs6000/rs6000.c | 19

[PATCH 42/55] rs6000: Handle gimple folding of target built-ins

2021-06-08 Thread Bill Schmidt via Gcc-patches
. 2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_gimple_fold_new_builtin): New forward decl. (rs6000_gimple_fold_builtin): Call rs6000_gimple_fold_new_builtin. (rs6000_new_builtin_valid_without_lhs): New function

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

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-03-24 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (new_htm_spr_num): New function. (new_htm_expand_builtin): Implement. (rs6000_expand_new_builtin): Handle 32-bit and endian cases. --- gcc/config/rs6000/rs6000-call.c | 202 1

[PATCH 50/55] rs6000: Update rs6000_builtin_decl

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_new_builtin_decl): New function. (rs6000_builtin_decl): Call it. --- gcc/config/rs6000/rs6000-call.c | 20 1 file changed, 20 insertions(+) diff --git a/gcc/config/rs6000/rs6000

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

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-03-25 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (new_mma_expand_builtin): Implement. --- gcc/config/rs6000/rs6000-call.c | 92 + 1 file changed, 92 insertions(+) diff --git a/gcc/config/rs6000/rs6000-call.c b/gcc/config/rs6000/rs6000

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

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (elemrev_icode): Implement. (ldv_expand_builtin): Likewise. (lxvrse_expand_builtin): Likewise. (lxvrze_expand_builtin): Likewise. (stv_expand_builtin): Likewise. --- gcc/config/rs6000/rs6000

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

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (new_cpu_expand_builtin): Implement. --- gcc/config/rs6000/rs6000-call.c | 100 1 file changed, 100 insertions(+) diff --git a/gcc/config/rs6000/rs6000-call.c b/gcc/config/rs6000

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

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_invalid_new_builtin): Implement. (rs6000_expand_ldst_mask): Likewise. (rs6000_init_builtins): Initialize altivec_builtin_mask_for_load. --- gcc/config/rs6000/rs6000-call.c | 101

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

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-04-02 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_expand_new_builtin): New forward decl. (rs6000_invalid_new_builtin): New stub function. (rs6000_expand_builtin): Call rs6000_expand_new_builtin. (rs6000_expand_ldst_mask): New stub

[PATCH 43/55] rs6000: Support for vectorizing built-in functions

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-03-05 Bill Schmidt gcc/ * config/rs6000/rs6000.c (rs6000-builtins.h): New include. (rs6000_new_builtin_vectorized_function): New function. (rs6000_new_builtin_md_vectorized_function): Likewise. (rs6000_builtin_vectorized_function): Call

[PATCH 41/55] rs6000: Handle overloads during program parsing

2021-06-08 Thread Bill Schmidt via Gcc-patches
, unfortunately. Just be aware that generally we aren't changing the logic and functionality of overload handling. 2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-c.c (rs6000-builtins.h): New include. (altivec_resolve_new_overloaded_builtin): New forward decl

[PATCH 40/55] rs6000: Always initialize vector_pair and vector_quad nodes

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-03-24 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_init_builtins): Remove TARGET_EXTRA_BUILTINS guard. --- gcc/config/rs6000/rs6000-call.c | 51 - 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/gcc/config/rs6000

[PATCH 39/55] rs6000: Add sanity to V2DI_type_node definitions

2021-06-08 Thread Bill Schmidt via Gcc-patches
It seems quite strange for these to be "vector long" for 64-bit and "vector long long" for 32-bit, when "vector long long" will do for both. 2021-03-04 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_init_builtins): Change in

[PATCH 38/55] rs6000: Darwin builtin support

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-03-04 Bill Schmidt gcc/ * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Use the new decl when new_builtins_are_live. * config/rs6000/rs6000-builtin-new.def (__builtin_cfstring): New built-in. --- gcc/config/rs6000/darwin.h | 8

[PATCH 37/55] rs6000: Execute the automatic built-in initialization code

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-03-04 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000-builtins.h): New #include. (rs6000_init_builtins): Call rs6000_autoinit_builtins; skip the old initialization logic when new builtins are enabled. --- gcc/config/rs6000/rs6000-call.c | 12

[PATCH 35/55] rs6000: Add Cell builtins

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add cell stanza. --- gcc/config/rs6000/rs6000-builtin-new.def | 27 1 file changed, 27 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs6000-builtin

[PATCH 34/55] rs6000: Add miscellaneous builtins

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-04-01 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add ieee128-hw, dfp, crypto, and htm stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 215 +++ 1 file changed, 215 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin

[PATCH 33/55] rs6000: Add MMA builtins

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-03-24 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add mma stanza. --- gcc/config/rs6000/rs6000-builtin-new.def | 404 +++ 1 file changed, 404 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs6000-builtin

[PATCH 32/55] rs6000: Add Power10 builtins

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-04-01 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power10 and power10-64 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 427 +++ 1 file changed, 427 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc

[PATCH 31/55] rs6000: Add available-everywhere and ancient builtins

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_init_builtins): Initialize various pointer type nodes. * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add enum values for various pointer types. (ptr_V16QI_type_node): New macro

[PATCH 29/55] rs6000: Add power8-vector builtins

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-04-01 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power8-vector stanza. --- gcc/config/rs6000/rs6000-builtin-new.def | 438 +++ 1 file changed, 438 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000

[PATCH 30/55] rs6000: Add Power9 builtins

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-04-01 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power9-vector, power9, and power9-64 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 360 +++ 1 file changed, 360 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin

[PATCH 28/55] rs6000: Add power7 and power7-64 builtins

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-04-02 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add power7 and power7-64 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 39 1 file changed, 39 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc

[PATCH 27/55] rs6000: Add available-everywhere and ancient builtins

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add always, power5, and power6 stanzas. --- gcc/config/rs6000/rs6000-builtin-new.def | 72 1 file changed, 72 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b

[PATCH 26/55] rs6000: Add VSX builtins

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Add vsx stanza. --- gcc/config/rs6000/rs6000-builtin-new.def | 857 +++ 1 file changed, 857 insertions(+) diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs6000-builtin

[PATCH 25/55] rs6000: Add the rest of the [altivec] stanza to the builtins file

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config/rs6000/rs6000-builtin-new.def: Finish altivec stanza. * config/rs6000/rs6000-call.c (rs6000_init_builtins): Move initialization of pcvoid_type_node here... (altivec_init_builtins): ...from here. * config/rs6000

[PATCH 24/55] rs6000: Add gengtype handling to the build machinery

2021-06-08 Thread Bill Schmidt via Gcc-patches
2021-06-07 Bill Schmidt gcc/ * config.gcc (target_gtfiles): Add ./rs6000-builtins.h. * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Set. --- gcc/config.gcc | 1 + gcc/config/rs6000/t-rs6000 | 1 + 2 files changed, 2 insertions(+) diff --git a/gcc/config.gcc b/gcc

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