On Tue, Apr 27, 2021 at 8:19 PM Maciej W. Rozycki wrote:
>
> On Thu, 22 Apr 2021, Richard Biener wrote:
>
> > > I think 3/3 is worth backporting to GCC 11 at one point, perhaps 11.2, so
> > > that it can be easily picked downstream, as it improves code generation
> > > with old reload and we may
On Wed, Apr 28, 2021 at 1:30 AM Martin Sebor via Gcc-patches
wrote:
>
> The free_lang_data pass is defined entirely in tree.c. Its code
> changes only rarely (only 13% commits to tree.c), and unlike
> the rest of tree.c, is even more rarely read. The pass is also
> right in the middle of tree.c,
mirrorservice.org offers FTP, http, and https. Given recent changes
by various browsers, move from FTP directly to https.
Pushed.
Gerald
---
htdocs/mirrors.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/htdocs/mirrors.html b/htdocs/mirrors.html
index f57e8187..3ed8a9c7
On Mon, Apr 26, 2021 at 9:06 PM Andrew MacLeod via Gcc-patches
wrote:
>
> With the opening of stage 1, It seems like an appropriate time to talk
> about our vision for Ranger in GCC 12.
>
> First, we have a queued up a list of
> improvements/fixes/adjustments/performance to the existing code which
On Tue, 27 Apr 2021, Prathamesh Kulkarni wrote:
> On Tue, 27 Apr 2021 at 19:19, Richard Biener wrote:
> >
> > DSE performs a backwards walk over stmts removing stores but it
> > leaves removing resulting dead SSA defs to later passes. This
> > eats into its own alias walking budget if the remove
The problem appears to be triggered by two locations in the front-end
where non-POINTER_SIZE pointers aren't handled right now.
1. An assertion in strip_typedefs is triggered because the alignment
of the types don't match. This in turn is caused by creating the new
type with build_pointer_type ins
Bootstrapped and regtested on s390x-redhat-linux. Tested with valgrind
too (PR 100278 is now fixed). Ok for master?
v1: https://gcc.gnu.org/pipermail/gcc-patches/2021-April/568771.html
v1 -> v2: Use the UNSPEC pattern, which is less efficient, but is more
on the "obviously correct" sid
On Tue, Apr 27, 2021 at 9:28 AM Hongtao Liu wrote:
>
> On Mon, Apr 26, 2021 at 8:35 PM Uros Bizjak via Gcc-patches
> wrote:
> >
> > On Sat, Apr 24, 2021 at 3:43 PM Cui, Lili wrote:
> > >
> > > Hi Uros,
> > >
> > > This patch is to synchronize Rocket Lake's processor_names and
> > > processor_c
Both plugins in libcc1 share a fair amount of boilerplate. They both
share error-emission code, context management code, and tree GC code.
This patch unifies these two bodies of code, avoiding needless
duplication.
libcc1/ChangeLog
2021-04-27 Tom Tromey
* libcc1plugin.cc: Move code to
Both libcc1 plugins have nearly identical copies of code to find the
underlying compiler. This seemed wasteful to me, so this patch
unifies the copies.
Two minor API changes were needed.
First, the old code used a back-link from the compiler object to the
plugin object to check the 'verbose' set
This patch completes the transition of libcc1 from the use of separate
template functions for different arities to the use of variadic
functions. This is how I had wanted it to work from the very
beginning, and is possible now with C++11.
I had thought that variadic callbacks required C++17, but
This is a trivial change to libcc1 to avoid an explicit call to c_str.
Passing by const reference is slightly less wordy.
libcc1/ChangeLog
2021-04-27 Tom Tromey
* compiler.cc (make_regexp): Take const std::string.
(cc1_plugin::compiler_triplet_regexp::find): Update.
---
libcc1
This changes one spot in libcc1 to use static_assert rather than the
old-style array declaration.
libcc1/ChangeLog
2021-04-27 Tom Tromey
* libcp1plugin.cc: Use static assert.
---
libcc1/ChangeLog | 4
libcc1/libcp1plugin.cc | 4 ++--
2 files changed, 6 insertions(+), 2 dele
The two GDB plugins in libcc1 share a fair amount of code. This was
done by copy-and-paste, though in reality the underlying code is
nearly identical.
libcc1/ChangeLog
2021-04-27 Tom Tromey
* libcp1.cc (struct libcp1): Derive from base_gdb_plugin. Remove
shared code.
Both the C and C++ side of the GDB plugin in libcc1 share a lot of
code relating to the base GCC interface. It was all copy-and-pasted,
but is essentially identical between the two. This is by design, as
the base GCC API is intended to be shared.
This patch merges the implementations into base_g
The C++ plugin defaults to version 0 of the base compiler API.
However, this is a mistake -- version 1 was introduced before the C++
API was even implemented. This switches the default to version 1.
Note that the compiler-side plugin will accept this version, so it
should remain compatible.
libcc
libcc1 has a memory leak when calling fork_exec -- it allocates a new
vector of arguments, but then does not free it anywhere. This patch
changes this code to use std::vector instead.
Note that the previous code tried to avoid bad_alloc. I don't believe
this is very important. For one thing, pl
PR c/94669 points out that a couple of spots in libcc1 take a
std::string where a reference would do. This changes these spots to
take a const char *, to reduce the number of copies.
libcc1/ChangeLog
2021-04-27 Tom Tromey
PR c/94669:
* compiler.hh (compiler_driver_filename): T
This changes libcc1 to ues foreach in a couple of spots.
libcc1/ChangeLog
2021-04-27 Tom Tromey
* libcp1plugin.cc (plugin_context::mark): Use foreach.
* libcc1plugin.cc (plugin_context::mark): Use foreach.
---
libcc1/ChangeLog | 5 +
libcc1/libcc1plugin.cc | 13
This changes libcc1 to use the 'deleter' template in a few more
places. The template and basic specializations are moved to a new
header, then some unmarshall functions are changed to use this code.
This change avoids the need to repeat cleanup code in the
unmarshallers.
libcc1/ChangeLog
2021-04-
This changes libcc1 to use unique_ptr in a few more places, removing
some manual memory management.
libcc1/ChangeLog
2021-04-27 Tom Tromey
* libcp1.cc (struct libcp1) : Use
unique_ptr.
(~libcp1): Remove.
(libcp1_compile, libcp1_set_triplet_regexp)
(libcp
This adds deleter objects for various kinds of protocol pointers to
libcc1. Existing specializations of argument_wrapper are then
replaced with a single specialization that handles all pointer types
via the appropriate deleter. The result here is a bit nicer because
the argument_wrapper boilerpla
This changes libcc1 to use std::vector in the code that builds
function types. This avoids some explicit memory management.
libcc1/ChangeLog
2021-04-27 Tom Tromey
* libcp1plugin.cc (plugin_build_function_type): Use std::vector.
* libcc1plugin.cc (plugin_build_function_type): U
This changes libcc1 to use variadic templates for the "call"
functions. The primary benefit is that this simplifies the code.
libcc1/ChangeLog
2021-04-27 Tom Tromey
* rpc.hh (call): Use variadic template. Remove overloads.
* marshall.hh (marshall): Add base overload. Use var
This changes libcc1 to use variadic templates for the "rpc" functions.
This simplifies the code and removes some possibility for mistakes.
libcc1/ChangeLog
2021-04-27 Tom Tromey
* libcp1.cc (rpc): Use variadic template. Remove overloads.
* libcc1.cc (rpc): Use variadic templat
Change libcc1 to use "= delete" for the copy constructor and
assignment operator, rather than the old approach of private methods
that are nowhere defined.
libcc1/ChangeLog
2021-04-27 Tom Tromey
* rpc.hh (argument_wrapper): Use delete for copy constructor.
* connection.hh (clas
This changes libcc1 to use "override" where appropriate.
libcc1/ChangeLog
2021-04-27 Tom Tromey
* libcp1.cc (class compiler_triplet_regexp)
(class compiler_driver_filename, class libcp1_connection): Use
"override".
* libcc1.cc (class compiler_triplet_regexp)
This changes libcc1 to inline a trivial method and to use the default
constructor.
libcc1/ChangeLog
2021-04-27 Tom Tromey
* connection.hh (~connection): Use default.
(print): Inline.
* connection.cc (cc1_plugin::connection::~connection)
(cc1_plugin::connection::
Now that C++11 can be used in GCC, libcc1 can be changed to use
templates and type traits to handle unmarshalling all kinds of enums.
libcc1/ChangeLog
2021-04-27 Tom Tromey
* marshall.hh (cc1_plugin::unmarshall): Use type traits.
* marshall-cp.hh (cc1_plugin::unmarshall): Remov
Here is v2 of my series to simplify libcc1 through the use of C++11
constructs.
v1 is here:
https://gcc.gnu.org/pipermail/gcc-patches/2021-January/562668.html
I never pinged it because I'd sent it in the wrong stage.
As with v1, this brings libcc1 much closer to how I originally wanted
it t
On Mon, 2021-04-26 at 09:35 -0700, Carl Love wrote:
> Will, Segher:
>
> This patch fixes the order of the argument in the vec_rlmi and
> vec_rlnm builtins. The patch also adds a new test cases to verify
> the fix.
>
> The patch has been tested on
> powerpc64-linux instead (Power 8 BE)
>
On Mon, 2021-04-26 at 09:36 -0700, Carl Love wrote:
> Will, Segher:
>
Hi,
> This patch adds support for converting to/from 128-bit integers and
> 128-bit decimal floating point formats.
You reference TI,TD in the subject, would be helpful to elaborate a bit in your
description.
>
> The p
On Mon, 2021-04-26 at 09:36 -0700, Carl Love wrote:
> Will, Segher:
>
> The previous patch added the vector 128-bit integer shift instruction
> support for the V1TI type. This patch renames and moves the VSX_TI
> iterator from vsx.md to VEC_TI in vector.md. The uses of VEC_TI are
> also updated.
On Mon, 2021-04-26 at 09:36 -0700, Carl Love wrote:
> Will, Segher:
>
> This patch adds the 128-bit integer support for divide, modulo, shift,
> compare of 128-bit integers instructions and builtin support.
Hi,
>
> The patch has been tested on
> powerpc64-linux instead (Power 8 BE)
> po
On Mon, 2021-04-26 at 09:36 -0700, Carl Love wrote:
> Will, Segher:
>
> This patch adds support for converting to/from 128-bit integers and
> 128-bit decimal floating point formats using the new P10 instructions
> dcffixqq and dctfixqq. The new instructions are only used on P10 HW,
> otherwise th
This patch version is OK.
--
Joseph S. Myers
jos...@codesourcery.com
GCC on AIX historically has used -maix64 and -maix32 to switch to
64 bit mode
or 32 bit mode, unlike other ports that use -m64 and -m32. The Alias()
directive for options cannot be used because aix64 is expected in multiple
parts of the compiler infrastructure and one cannot switch
On Tue, 27 Apr 2021, 21:37 Patrick Palka via Libstdc++, <
libstd...@gcc.gnu.org> wrote:
> This fixes some bugs with our ranges algorithms in uncommon situations,
> such as when the return type of a predicate is a non-copyable class type
> that's implicitly convertible to bool (PR100187), when a co
On 4/26/2021 5:30 PM, Martin Sebor via Gcc-patches wrote:
The VLA bounds that are included by the C front end to attribute
access added to functions with VLA parameters to help detect
redeclaratations of function with "mismatched" VLA bounds are
cleared by the free_lang_data pass before the IL
On 4/27/2021 9:32 AM, Alexandre Oliva wrote:
The test is supposed to check that the abstract lexical block of a
function that was inlined doesn't have attributes, and that the
concrete inlined lexical block does.
There are two patterns to verify the absence of attributes in the
abstract lexica
Dear Fortranners,
Gerhard found a case where the mismatch of actual and formal argument lead
to an ICE instead of the relevant warning. Furthermore, the special case
of character argument avoided the check that the actual argument must be
definable if the formal one is INTENT-OUT or -INOUT. The
The free_lang_data pass is defined entirely in tree.c. Its code
changes only rarely (only 13% commits to tree.c), and unlike
the rest of tree.c, is even more rarely read. The pass is also
right in the middle of tree.c, surrounded by various utility
functions many of which do tend to be frequentl
On Tue, Apr 27, 2021 at 08:46:21PM +, Joseph Myers wrote:
> On Tue, 27 Apr 2021, Jakub Jelinek via Gcc-cvs wrote:
>
> > https://gcc.gnu.org/g:50bc9185c2821350f0b785d6e23a6e9dcde58466
> >
> > commit r11-8294-g50bc9185c2821350f0b785d6e23a6e9dcde58466
> > Author: Jakub Jelinek
> > Date: Tue A
On Tue, 27 Apr 2021, Jakub Jelinek via Gcc-cvs wrote:
> https://gcc.gnu.org/g:50bc9185c2821350f0b785d6e23a6e9dcde58466
>
> commit r11-8294-g50bc9185c2821350f0b785d6e23a6e9dcde58466
> Author: Jakub Jelinek
> Date: Tue Apr 27 11:37:30 2021 +0200
>
> c++: Remove #error for release builds
>
On 4/27/2021 9:35 AM, Alexandre Oliva wrote:
This i386 test expects only two movl instructions.
In configurations that --enable-frame-pointer, -O2 won't implicitly
enable -fomit-frame-pointer, so we end up with a third movl to set up
the frame pointer.
This patch enables -fomit-frame-pointer
This change:
d8e1f1d24179690fd9c0f63c27b12e030010d9ea is the first bad commit
commit d8e1f1d24179690fd9c0f63c27b12e030010d9ea
Author: Richard Biener
Date: Wed Apr 7 12:09:44 2021 +0200
tree-optimization/99912 - schedule DSE before SRA
For the testcase in the PR the main SRA pass is u
For the purpose of [depr.impldec] "if the class has a user-declared copy
assignment operator", an operator= brought in from a base class with 'using'
may be a copy-assignment operator, but it isn't a copy-assignment operator
for the derived class.
Tested x86_64-pc-linux-gnu, applying to trunk.
gc
> Yes, but even bitsizetype is undistinguishable from other (usually 2 *
> pointer size) precision integral types.
OK, I can propose the attached patch. The typed_binop_from_tree computation
works on my Ada testcase in 32-bit mode from within GDB, but not in 64-bit
mode because GDB chokes with:
On Thu, 22 Apr 2021, Richard Biener wrote:
> > I think 3/3 is worth backporting to GCC 11 at one point, perhaps 11.2, so
> > that it can be easily picked downstream, as it improves code generation
> > with old reload and we may not have another major release still using it.
> >
> > OTOH switchin
On Apr 27, 2021, at 8:32 AM, Alexandre Oliva wrote:
>
> The test is supposed to check that the abstract lexical block of a
> function that was inlined doesn't have attributes, and that the
> concrete inlined lexical block does.
> The problem is that '[.../...]+ +[^(].*' matches '/ (DIE...', bec
On Tue, 8 Dec 2020, Maciej W. Rozycki wrote:
> On Thu, 3 Dec 2020, Jeff Law wrote:
>
> > > Note that I have included unrelated though contextually connected 6/6 as
> > > an RFC to verify whether this potential anomaly I have spotted has been
> > > intentional. I'll be happy to drop it if that i
Hi David.
>> Hi YiFei.
>>
>>> Prior to this, a BSS declaration such as:
>>>
>>> int foo;
>>> static int bar;
>>>
>>> Generates:
>>>
>>> .global foo
>>> .local foo
>>> .comm foo,4,4
>>> .local bar
>>> .comm bar,4,4
>>>
>>> Creating symbols:
>>>
>>> b fo
On 4/27/21 11:47 AM, Jakub Jelinek wrote:
On Tue, Apr 27, 2021 at 11:14:00AM -0500, Bill Schmidt wrote:
On 4/27/21 10:57 AM, Jakub Jelinek wrote:
On Tue, Apr 27, 2021 at 10:32:36AM -0500, Bill Schmidt wrote:
2021-03-03 Bill Schmidt
gcc/
* Makefile.in (OUT_FILE_DEPS): New variable.
On 4/22/21 11:54 PM, Jose E. Marchesi via Gcc-patches wrote:
>
> Hi YiFei.
>
>> Prior to this, a BSS declaration such as:
>>
>> int foo;
>> static int bar;
>>
>> Generates:
>>
>> .global foo
>> .local foo
>> .comm foo,4,4
>> .local bar
>> .commbar,4,4
>>
>> Creating s
On Tue, Apr 27, 2021 at 5:35 PM Alexandre Oliva wrote:
>
>
> This i386 test expects only two movl instructions.
>
> In configurations that --enable-frame-pointer, -O2 won't implicitly
> enable -fomit-frame-pointer, so we end up with a third movl to set up
> the frame pointer.
>
> This patch enable
On Tue, 27 Apr 2021, Nick Clifton via Binutils wrote:
> > and instead AC_PROG_CC enables C11 mode if supported. (So moving to the
> > latest Autoconf and Automake releases would supersede this change.)
>
> Makes sense. Is changing to autoconf 2.70 something that is planned for the
> near future
This fixes some bugs with our ranges algorithms in uncommon situations,
such as when the return type of a predicate is a non-copyable class type
that's implicitly convertible to bool (PR100187), when a comparison
predicate isn't invocable as an rvalue (PR100237), and when the return
type of a proje
On April 27, 2021 5:22:56 PM GMT+02:00, Richard Sandiford
wrote:
>Richard Biener writes:
>> On April 27, 2021 5:12:35 PM GMT+02:00, Richard Sandiford
> wrote:
>>>Now that VEC_COND_EXPR has normal unnested operands,
>>>operation_could_trap_p can treat it like any other expression.
>>>
>>>This fix
On Tue, Apr 27, 2021 at 11:14:00AM -0500, Bill Schmidt wrote:
> On 4/27/21 10:57 AM, Jakub Jelinek wrote:
> > On Tue, Apr 27, 2021 at 10:32:36AM -0500, Bill Schmidt wrote:
> > > 2021-03-03 Bill Schmidt
> > >
> > > gcc/
> > > * Makefile.in (OUT_FILE_DEPS): New variable.
> > > (out_object_fil
On 4/27/21 10:57 AM, Jakub Jelinek wrote:
On Tue, Apr 27, 2021 at 10:32:36AM -0500, Bill Schmidt wrote:
2021-03-03 Bill Schmidt
gcc/
* Makefile.in (OUT_FILE_DEPS): New variable.
(out_object_file): Depend on OUT_FILE_DEPS.
Why?
E.g. gcc/config/i386/t-i386 contains:
i386.o: i
On Tue, 27 Apr 2021 at 19:19, Richard Biener wrote:
>
> DSE performs a backwards walk over stmts removing stores but it
> leaves removing resulting dead SSA defs to later passes. This
> eats into its own alias walking budget if the removed stores kept
> loads live. The following patch adds remov
On Tue, Apr 27, 2021 at 10:32:36AM -0500, Bill Schmidt wrote:
> 2021-03-03 Bill Schmidt
>
> gcc/
> * Makefile.in (OUT_FILE_DEPS): New variable.
> (out_object_file): Depend on OUT_FILE_DEPS.
Why?
E.g. gcc/config/i386/t-i386 contains:
i386.o: i386-builtin-types.inc
Similarly gcc/con
On 4/27/21 8:04 AM, Richard Biener wrote:
On Tue, Apr 27, 2021 at 3:59 PM Martin Sebor wrote:
On 4/27/21 1:58 AM, Richard Biener wrote:
On Tue, Apr 27, 2021 at 2:46 AM Martin Sebor via Gcc-patches
wrote:
PR 90904 notes that auto_vec is unsafe to copy and assign because
the class manages it
On 27/04/21 10:55 -0400, Patrick Palka via Libstdc++ wrote:
Currently, the return type of this lambda is decltype(auto), so it ends
up returning a copy of _M_parent->_M_inner rather than a reference to it
when _S_ref_glvalue is false. Hence _M_inner and ranges::end(__inner_range)
are respectivel
Although this patch looks quite large, the changes are fairly minimal.
Most of it is duplicating the large function that does the overload
resolution using the automatically generated data structures instead of
the old hand-generated ones. This doesn't make the patch terribly easy to
review, unfor
2021-03-03 Bill Schmidt
gcc/
* config/rs6000/rs6000-gen-builtins.c (typemap): New struct.
(TYPE_MAP_SIZE): New defined constant.
(type_map): New initialized filescope variable.
(map_token_to_type_node): New function.
(write_type_node): Likewise.
(
2021-03-03 Bill Schmidt
gcc/
* config/rs6000/rs6000-gen-builtins.c (bif_file): New filescope
variable.
(ovld_file): Likewise.
(header_file): Likewise.
(init_file): Likewise.
(defines_file): Likewise.
(pgm_path): Likewise.
(bif_path
This i386 test expects only two movl instructions.
In configurations that --enable-frame-pointer, -O2 won't implicitly
enable -fomit-frame-pointer, so we end up with a third movl to set up
the frame pointer.
This patch enables -fomit-frame-pointer explicitly, so that the result
no longer depend
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: Adjust
After this patch set was developed, a small change was made to overload
handling for VEC_INSERT. Reflecting that into the new support here.
2021-04-27 Bill Schmidt
gcc/
* config/rs6000/rs6000-c.c
(altivec_resolve_new_overloaded_builtin): Change P8-vector test to
less-r
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(+)
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
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.
(altivec_init
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 ---
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-cal
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 fi
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-
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-call
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/rs6000
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 functio
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 +
This is another patch that looks bigger than it really is. Because we
have a new namespace for the builtins, allowing us to have both the old
and new builtin infrastructure supported at once, we need versions of
these functions that use the new builtin namespace. Otherwise the code is
unchanged.
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
rs6000_new_bu
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/r
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
initialization of V2DI_type_node and unsigned_V
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 ++--
gc
2021-04-01 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-
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-new.de
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
1
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-
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/c
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-ne
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/rs600
Previously we created pointer types on the fly from their base types
whenever we needed one. It's more efficient to create them up front,
and the new mechanism requires that.
2021-04-02 Bill Schmidt
gcc/
* config/rs6000/rs6000-call.c (rs6000_init_builtins): Initialize
various
2021-04-02 Bill Schmidt
gcc/
* config/rs6000/rs6000-builtin-new.def: Add vsx stanza.
---
gcc/config/rs6000/rs6000-builtin-new.def | 860 +++
1 file changed, 860 insertions(+)
diff --git a/gcc/config/rs6000/rs6000-builtin-new.def
b/gcc/config/rs6000/rs6000-builtin-
2021-04-02 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/rs6000
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/conf
2021-04-01 Bill Schmidt
gcc/
* config/rs6000/rs6000-gen-builtins.c (write_fntype): New
function.
(write_fntype_init): New stub function.
(write_init_bif_table): Likewise.
(write_init_ovld_table): New function.
(write_init_file): Implement.
---
gc
2021-03-24 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 | 104
1 file changed, 104 insertions(+)
diff -
2021-04-02 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/gc
1 - 100 of 189 matches
Mail list logo