On 07/11/2017 06:20 PM, Wilco Dijkstra wrote:
> Jeff Law wrote:
>> aarch64 is the first target that does not have any implicit probes in
>> the caller. Thus at prologue entry it must make conservative
>> assumptions about the offset of the most recent probed address relative
>> to the stack pointe
On Thu, 13 Jul 2017, Alexander Monakov wrote:
On Thu, 13 Jul 2017, Marc Glisse wrote:
I notice that we do not turn (X*10)*10 into X*100 in GIMPLE.
Sorry, could you clarify what you mean here? I think we certainly do that,
just not via match.pd, but in 'associate:' case of fold_binary_loc.
On 07/13/2017 06:37 PM, David Malcolm wrote:
> On Tue, 2017-07-11 at 15:19 -0600, Jeff Law wrote:
>
> [...]
>
>> diff --git a/gcc/opts.c b/gcc/opts.c
>> index 7460c2b..61f5bb0 100644
>> --- a/gcc/opts.c
>> +++ b/gcc/opts.c
>> @@ -2243,6 +2243,19 @@ common_handle_option (struct gcc_options
>> *opt
On 07/13/2017 05:37 PM, Segher Boessenkool wrote:
> On Thu, Jul 13, 2017 at 04:38:00PM -0600, Jeff Law wrote:
>> On 07/13/2017 03:32 PM, Segher Boessenkool wrote:
> -fstack-check=clash is itself not such a super name either. It's not
> checking stack, and it isn't clashing: it just does a
On Tue, 2017-07-11 at 15:19 -0600, Jeff Law wrote:
[...]
> diff --git a/gcc/opts.c b/gcc/opts.c
> index 7460c2b..61f5bb0 100644
> --- a/gcc/opts.c
> +++ b/gcc/opts.c
> @@ -2243,6 +2243,19 @@ common_handle_option (struct gcc_options
> *opts,
> opts->x_flag_stack_check = STACK_CHECK_BUILTIN
Hi,
This patch adds Decimal floating point support to aarch64. It is
the base support in that since there is no hardware support for DFP,
it just defines the ABI. The ABI I chose is that _Decimal32 is
treated like float, _Decimal64 is treated like double and _Decimal128
is treated like long dou
On Thu, Jul 13, 2017 at 05:10:33PM -0600, Jeff Law wrote:
> 2. ABI mandates that *sp always contain a backchain pointer (ppc)
> >>>
> >>> In the ELFv2 ABI a backchain is not required. GCC still always has
> >>> one afaik. I'll find out more.
> >> Please do. I was under the impression it w
On Thu, Jul 13, 2017 at 04:38:00PM -0600, Jeff Law wrote:
> On 07/13/2017 03:32 PM, Segher Boessenkool wrote:
> >>> -fstack-check=clash is itself not such a super name either. It's not
> >>> checking stack, and it isn't clashing: it just does a store to every
> >>> page the stack will touch (minus
On 06/28/2017 12:45 AM, Florian Weimer wrote:
> * Richard Earnshaw:
>
>> I can't help but feel there's a bit of a goode olde mediaeval witch hunt
>> going on here. As Wilco points out, we can never defend against a
>> function that is built without probe operations but skips the entire
>> guard z
On 07/13/2017 04:48 PM, Segher Boessenkool wrote:
> On Thu, Jul 13, 2017 at 11:28:17AM -0600, Jeff Law wrote:
>> On 07/12/2017 04:44 PM, Segher Boessenkool wrote:
>>> On Tue, Jul 11, 2017 at 03:19:36PM -0600, Jeff Law wrote:
Examples of implicit probes include
>>>
2. ABI mandates that *
On Thu, Jul 13, 2017 at 05:56:07PM -0400, Michael Meissner wrote:
> Given we have the macro __BUILTIN_CPU_SUPPORTS__, I could change the test to
> use that instead of a dg-requires and drop ppc_cpu_supports_hw_available.
Ah that would be nice, good idea!
Segher
On 07/12/2017 07:44 PM, Segher Boessenkool wrote:
> On Tue, Jul 11, 2017 at 03:20:12PM -0600, Jeff Law wrote:
>> * conifg/mips/mips.c (mips_expand_prologue): Likewise.
>
> Typo ("conifg").
Will fix.
>
>> --- a/gcc/defaults.h
>> +++ b/gcc/defaults.h
>> @@ -1408,8 +1408,11 @@ see the files CO
On Thu, Jul 13, 2017 at 11:28:17AM -0600, Jeff Law wrote:
> On 07/12/2017 04:44 PM, Segher Boessenkool wrote:
> > On Tue, Jul 11, 2017 at 03:19:36PM -0600, Jeff Law wrote:
> >> Examples of implicit probes include
> >
> >> 2. ABI mandates that *sp always contain a backchain pointer (ppc)
> >
> >
On 07/13/2017 03:32 PM, Segher Boessenkool wrote:
> Hi again,
>
> On Wed, Jul 12, 2017 at 09:56:09PM -0600, Jeff Law wrote:
FWIW -fstack-check=specific is dreadfully named. I haven't tried to
address that.
>>>
>>> -fstack-check=clash is itself not such a super name either. It's not
>>>
The AArch64 port uses SCHED_GROUP to mark instructions that get fused
at issue time, to ensure that they will be issued together. However,
in the scheduler, use of a SCHED_GROUP forces all other instructions
to issue in the next cycle. This is wrong for AArch64 ports using
insn fusing which can i
On Thu, Jul 13, 2017 at 03:57:08PM -0500, Segher Boessenkool wrote:
> On Wed, Jul 12, 2017 at 07:19:27PM -0400, Michael Meissner wrote:
> > Hmmm, I didn't realize that gcc 6.x also supported __builtin_cpu_*. I
> > imagine
> > we will need backports there as well.
>
> Okay for 6 too if needed the
Hi again,
On Wed, Jul 12, 2017 at 09:56:09PM -0600, Jeff Law wrote:
> >> FWIW -fstack-check=specific is dreadfully named. I haven't tried to
> >> address that.
> >
> > -fstack-check=clash is itself not such a super name either. It's not
> > checking stack, and it isn't clashing: it just does a
Hi Jeff!
On Thu, 2017-07-13 14:43:52 -0600, Jeff Law wrote:
> On 07/13/2017 02:39 PM, Jan-Benedict Glaw wrote:
> > On Thu, 2017-06-29 14:27:41 +0200, Jan Hubicka wrote:
> >> this is second step of the profile maintenance revamp. It implements
> >> profile_probability type which is pretty much s
On Thu, 2017-07-13 at 16:39 -0400, Eric Gallager wrote:
> On 7/13/17, David Malcolm wrote:
> > On Thu, 2017-07-13 at 18:33 +0200, Marek Polacek wrote:
> > > A tiny patch for -Wsign-compare so that is also prints the types
> > > when
> > > reporting a warning.
> > >
> > > Bootstrapped/regtested on
On Wed, Jul 12, 2017 at 07:19:27PM -0400, Michael Meissner wrote:
> Hmmm, I didn't realize that gcc 6.x also supported __builtin_cpu_*. I imagine
> we will need backports there as well.
Okay for 6 too if needed there (do testcases warn us for that?)
Thanks,
Segher
Hi Carl,
On Wed, Jul 12, 2017 at 04:08:20PM -0700, Carl Love wrote:
> * config/rs6000/vsx.md(vsx_xvcvhpsp): Add define_insn.
Space before (.
> +;; Generate xvcvhpsp instruction
> +(define_insn "vsx_xvcvhpsp"
> + [(set (match_operand:V4SF 0 "vsx_register_operand" "=wa")
> + (unspec:V4S
Hi!
As mentioned in the PR, the following testcase started using recently
BIT_FIELD_REFs instead of MEM_REFs and thus the bswap pass, while it
properly determines the very long sequence of stmts is a nop transformation,
throws that away and doesn't optimize it, and no other optimizations
are able
Hi!
This patch is a manual backport of the 2012-2017 sysdeps/ieee754/ldbl-128/
glibc changes into libquadmath. As mentioned in the PR, which has
detailed git diff commands, I've left *jnl.c, *lgamma* and x2y2m1l.c
changes so far, those were too large, and the long double -> _Float128
and 123.456L
On Thu, 13 Jul 2017 13:43:52 PDT (-0700), l...@redhat.com wrote:
> On 07/13/2017 02:39 PM, Jan-Benedict Glaw wrote:
>> Hi Jan,
>> hi Kito, Palmer and Andrew!
>>
>> On Thu, 2017-06-29 14:27:41 +0200, Jan Hubicka wrote:
>>> this is second step of the profile maintenance revamp. It implements
>>> pr
On 07/13/2017 02:39 PM, Jan-Benedict Glaw wrote:
> Hi Jan,
> hi Kito, Palmer and Andrew!
>
> On Thu, 2017-06-29 14:27:41 +0200, Jan Hubicka wrote:
>> this is second step of the profile maintenance revamp. It implements
>> profile_probability type which is pretty much symmetric to profile_count
>
Hi!
_Fract types can't express 1, other spots that call build_one_cst already
make sure that the type is integral or uses the !ALL_FRACT_MODE_P (TYPE_MODE
(type))
check I've added in this patch.
Bootstrapped/regtested on x86_64-linux and i686-linux and tested with a
cross to arm on the testcase.
On 7/13/17, David Malcolm wrote:
> On Thu, 2017-07-13 at 18:33 +0200, Marek Polacek wrote:
>> A tiny patch for -Wsign-compare so that is also prints the types when
>> reporting a warning.
>>
>> Bootstrapped/regtested on x86_64-linux and ppc64le-redhat-linux, ok
>> for trunk?
>
> Looks like it alwa
Hi Jan,
hi Kito, Palmer and Andrew!
On Thu, 2017-06-29 14:27:41 +0200, Jan Hubicka wrote:
> this is second step of the profile maintenance revamp. It implements
> profile_probability type which is pretty much symmetric to profile_count
> except that it implements fixed point arithmetics for valu
Hi!
As mentioned in the PR, for aggregate copies we fail to verify there
are no loads in between the PHI and the aggregate copy that could alias with the
lhs of the copy, which is needed, because we want to hoist the aggregate
copy onto predecessor edges of the bb with the PHI.
The following patc
On 7/7/17, Jeff Law wrote:
> On 07/06/2017 07:25 AM, Daniel P. Berrange wrote:
>> There are several hundred named attribute keys that have been
>> introduced over many GCC releases. Applications typically need
>> to be compilable with multiple GCC versions, so it is important
>> for developers to
On Thu, 2017-07-13 at 18:33 +0200, Marek Polacek wrote:
> A tiny patch for -Wsign-compare so that is also prints the types when
> reporting a warning.
>
> Bootstrapped/regtested on x86_64-linux and ppc64le-redhat-linux, ok
> for trunk?
Looks like it always display the types in the order signed th
On Thu, Jul 13, 2017 at 09:26:25PM +0200, Uros Bizjak wrote:
> IMO, we should change only gcc-7 release branch, so developers can
> test for gcc-7.2+ to determine which release swapped arguments of
> mentioned intrinsics.
Agreed.
> The attached doc patch adds commented-out generic gcc-7.2 entry p
On Thu, Jun 29, 2017 at 11:40 PM, Uros Bizjak wrote:
>
>> This patch to the gotools Makefile adds tests to `make check`. We now
>> test the runtime package using the newly built go tool, and test that
>> cgo works by running the misc/cgo/test and misc/cgo/testcarchive
>> tests. Bootstrapped and
On Thu, 13 Jul 2017, Marc Glisse wrote:
> I notice that we do not turn (X*10)*10 into X*100 in GIMPLE.
Sorry, could you clarify what you mean here? I think we certainly do that,
just not via match.pd, but in 'associate:' case of fold_binary_loc.
> Relying on inner expressions being folded can be
PR c/81405 identifies a crash when printing fix-it hints from
-Wmissing-braces when there are excess elements.
The fix-it hints are bogus (which I've filed separately as PR c/81432),
but they lead to a crash within the fix-it consolidation logic I added
in r247548, in line_corrections::add_hint.
On Tue, Jul 4, 2017 at 10:51 PM, Jakub Jelinek wrote:
> On Tue, Jul 04, 2017 at 10:41:26PM +0200, Uros Bizjak wrote:
>> Hello!
>>
>> Apparently, Intel changed operand order with the new intrinsic
>> reference release version. Attached patch updates gcc intrinsic
>> headers accordingly.
>>
>> 2017-
On Thu, 13 Jul 2017, Alexander Monakov wrote:
This is a followup to https://gcc.gnu.org/ml/gcc-patches/2017-05/msg01545.html
Recently due to a fix for PR 80800 GCC has lost the ability to reassociate
signed multiplications chains to go from 'X * CST1 * Y * CST2'
to 'X * Y * (CST1 * CST2)'. The
Hi,
I'm Donna.
Would you be interested in reaching out to "Newly Home Owners List" with opt-in
and licensed to be sold?
We also have data for Home Owners List,Mortgage with Home Owners List,Real
Estate Agents/Brokers List,Condo Owners List,Real Estate Investors list
Rentals List,Pool Owners
On 07/13/2017 08:18 AM, Marek Polacek wrote:
This patch improves diagnostic in the C FE by printing the types when reporting
a problem with a conversion. E.g., instead of
warning: assignment from incompatible pointer type
you'll now get
warning: assignment to 'int *' from incompatible po
On Thu, Jul 13, 2017 at 11:28:17AM -0600, Jeff Law wrote:
> On 07/12/2017 04:44 PM, Segher Boessenkool wrote:
> > On Tue, Jul 11, 2017 at 03:19:36PM -0600, Jeff Law wrote:
> >> Examples of implicit probes include
> >
> >> 2. ABI mandates that *sp always contain a backchain pointer (ppc)
> >
> >
Hi Richard,
On Wed, Jul 12, 2017 at 05:33:42PM +0100, Richard Sandiford wrote:
> The little-endian VSX code uses rotates to swap the two 64-bit halves of
> 128-bit scalar modes. This is fine for TImode and V1TImode, but it
> isn't really valid to use RTL rotates on floating-point modes like
> KFm
On 07/13/2017 11:32 AM, Jakub Jelinek wrote:
> On Thu, Jul 13, 2017 at 11:28:17AM -0600, Jeff Law wrote:
>> On 07/12/2017 04:44 PM, Segher Boessenkool wrote:
>>> On Tue, Jul 11, 2017 at 03:19:36PM -0600, Jeff Law wrote:
Examples of implicit probes include
>>>
2. ABI mandates that *sp al
On 07/12/2017 04:44 PM, Segher Boessenkool wrote:
> On Tue, Jul 11, 2017 at 03:19:36PM -0600, Jeff Law wrote:
>> Examples of implicit probes include
>
>> 2. ABI mandates that *sp always contain a backchain pointer (ppc)
>
> In the ELFv2 ABI a backchain is not required. GCC still always has
> o
The recent basic block profiling changes broke a couple of libgomp
OpenACC execution tests involving reductions with nvptx offloading. For
gang and worker reductions, the nvptx BE updates the original reduction
variable using a lock-free atomic algorithm. This lock-free algorithm
utilizes a polling
Hi,
This is a followup to https://gcc.gnu.org/ml/gcc-patches/2017-05/msg01545.html
Recently due to a fix for PR 80800 GCC has lost the ability to reassociate
signed multiplications chains to go from 'X * CST1 * Y * CST2'
to 'X * Y * (CST1 * CST2)'. The fix to that PR prevents extract_muldiv from
A tiny patch for -Wsign-compare so that is also prints the types when
reporting a warning.
Bootstrapped/regtested on x86_64-linux and ppc64le-redhat-linux, ok for trunk?
2017-07-13 Marek Polacek
PR c/81417
* c-warn.c (warn_for_sign_compare): Print the types.
* c-c++-c
On Thu, Jul 13, 2017 at 04:35:55PM +0100, Jackson Woodruff wrote:
> Hi James,
>
> I've addressed the issues discussed below.
>
> OK for trunk?
I one last comment, otherwise, this looks good:
> +/* Print operand X to file F in a target specific manner according to CODE.
> + The acceptable form
On 07/13/2017 03:59 PM, Jeff Law wrote:
> The only concern I'd have here is the bits in dbxout.[ch] might
> effectively be the best documentation of the dbxout format that exists.
> Thus, dropping something like N_SO_PASCAL loses that historical
> documentation.
FYI, there's a texinfo document in
Hi James,
I've addressed the issues discussed below.
OK for trunk?
Jackson
On 07/13/2017 10:03 AM, James Greenhalgh wrote:
On Tue, Jul 11, 2017 at 05:29:11PM +0100, Jackson Woodruff wrote:
Hi all,
This patch refactors comments in config/aarch64/aarch64.c
aarch64_print_operand
to provide a t
On 07/11/2017 08:30 AM, Martin Liška wrote:
> Hi.
>
> Similar for GNU Pascal language.
>
> Patch can bootstrap on ppc64le-redhat-linux and survives regression tests.
>
> Ready to be installed?
>
> Martin
>
> gcc/ChangeLog:
>
> 2017-07-11 Martin Liska
>
> * dbxout.c (get_lang_number):
This patch improves diagnostic in the C FE by printing the types when reporting
a problem with a conversion. E.g., instead of
warning: assignment from incompatible pointer type
you'll now get
warning: assignment to 'int *' from incompatible pointer type 'char *'
or instead of
warning:
On 06/30/2017 04:03 PM, Michael Matz wrote:
> So you need to find some other solution of setting up the stack for ASAN.
> And it'd be best if that solution doesn't require inserting code inside
> the above sequence of parameter setup instructions, and you certainly
> can't call any functions in
Hi.
It's request for comment where I mechanically moved attribute-related function
to attribs.[hc].
Patch can bootstrap on ppc64le-redhat-linux and survives regression tests.
Thoughts?
Martin
>From f4322151ebcd8cf71fd677317ef0a74374b0db5e Mon Sep 17 00:00:00 2001
From: marxin
Date: Wed, 12 Jul
On 07/11/2017 05:52 PM, Jason Merrill wrote:
> On Tue, Jul 11, 2017 at 9:37 AM, Martin Liška wrote:
>> On 07/03/2017 11:00 PM, Jason Merrill wrote:
>>> On Mon, Jul 3, 2017 at 5:52 AM, Martin Liška wrote:
On 06/30/2017 09:34 PM, Jason Merrill wrote:
>
> On Fri, Jun 30, 2017 at 5:23 AM
OK.
On Thu, Jul 13, 2017 at 4:10 AM, Martin Liška wrote:
> Thanks Jason, I'm sending patch #2.
>
> Ready for trunk?
> Martin
>
> This looks fine, though the commit message tells me it's not a good
> idea, but it would be nice to know _why_ it's not good. Might be nice
> to know for future reference.
>
Again LRA, expand time subregs are not handled by LRA, as far as I can tell.
Moreover, this option is by default off,
* Claudiu Zissulescu [2017-06-01 15:34:57
+0200]:
> This patch refactors a number of functions and compiler hooks into using a
> single function which checks if a rtx is suited for pic or not. Removed
> functions are arc_legitimate_pc_offset_p and arc_legitimate_pic_operand_p
> beeing replaced b
* Claudiu Zissulescu [2017-06-01 15:34:56
+0200]:
> From: claziss
>
> Emitting subregs in the expand is not a good idea. Deprecate this
> option.
>
> gcc/
> 2017-04-26 Claudiu Zissulescu
>
> * config/arc/arc.md (adddi3): Remove support for mexpand-adddi
> option.
> (subd
On Jul 5, 2017, Alexandre Oliva wrote:
> This patch implements statement frontier notes and location views,
> concepts originally proposed in the GCC Summit back in 2010. See
> https://people.redhat.com/aoliva/papers/sfn/ for details on the
> original design.
There's a newer blog post about th
> The change looks fine, but it would be nice if the commit message
> explained _why_ we are default off for Linux and on for Elf, I think
> more text in the commit message on this sort of thing will help future
> developers understand why things are the way they are.
>
This explanation is quite
P0512 corrected the specification of C++17 class template argument
deduction to work more like constructor overload resolution in
initialization; in particular, this means that we should do the same
two-phase overload resolution for a class with a list constructor.
This patch implements that, so th
> This seems fine, your description "does not always work." is a bit
> of a tease :) it would be nice to know _why_ it doesn't work, or at
> least a description of what problem you're seeing.
>
As far as I can see, LRA doesn't handle very well the conditional execution
patterns, as it expects
On 07/11/2017 07:45 PM, David Malcolm wrote:
> On Mon, 2017-07-10 at 11:36 +0200, Martin Liška wrote:
>> Hi.
>>
>> This adds missing quotes to various error messages related to
>> AddressSanitizer.
>> Patch can bootstrap on ppc64le-redhat-linux and survives regression
>> tests.
>>
>> Ready to be in
Hi,
as discussed in the PR, this patch adds a new reduced testcase which
doesn't rely on c++17 features, this is a prereq to the backport of
the fix into GCC 6 branch which is impacted by this issue.
Validated on x86, ARM and AArch64 targets.
Ok for trunk ? and maybe on gcc-7-branch ?
Thanks,
Y
* Claudiu Zissulescu [2017-06-01 15:34:55
+0200]:
> gcc/
> 2017-02-28 Claudiu Zissulescu
>
> * config/arc/arc.opt (mindexed-loads): Use initial value
> TARGET_INDEXED_LOADS_DEFAULT.
> (mauto-modify-reg): Use initial value
> TARGET_AUTO_MODIFY_REG_DEFAULT.
> * co
* Claudiu Zissulescu [2017-06-01 15:34:54
+0200]:
> Emmitting COND_EXEC rtxes during expand does not always work.
>
> gcc/
> 2017-01-10 Claudiu Zissulescu
>
> * config/arc/arc.md (clzsi2): Expand to an arc_clzsi2 instruction
> that also clobbers the CC register. The old expand c
* Claudiu Zissulescu [2017-06-19 11:52:31
+0200]:
> From: claziss
>
> Hi Andrew,
>
> Apologizes for the disconfort, please find the patch that works on the head.
>
> Thanks,
> Claudiu
>
> gcc/
> 2016-12-13 Claudiu Zissulescu
> Andrew Burgess
>
> * config/arc/arc-pr
On 12.07.2017 21:36, Segher Boessenkool wrote:
On Wed, Jul 12, 2017 at 03:30:00PM +0200, Georg-Johann Lay wrote:
On 12.07.2017 14:11, Segher Boessenkool wrote:
On Tue, Jul 11, 2017 at 10:47:27AM +0200, Georg-Johann Lay wrote:
This small addition improves costs of PARALLELs in
rtlanal.c:seq_cos
On Thu, Jul 13, 2017 at 12:41 PM, Wish Wu wrote:
> Hi
>
> In fact, under linux with "return address" and file "/proc/self/maps",
> we can give unique id for every comparison.
Yes, it's doable. But you expressed worries about performance hit of
merging callbacks for different sizes. Mapping pc + i
Hi
In fact, under linux with "return address" and file "/proc/self/maps",
we can give unique id for every comparison.
For fuzzing, we may give 3 bits for every comparison as marker of if
"<", "==" or ">" is showed. :D
With Regards
Wish Wu of Ant-financial Light-Year Security Lab
On Thu, Jul 13,
Updated per Richard's comments and suggestions.
Okay for trunk?
2017-07-10 Michael Collison
* config/arm/arm.c (arm_option_override): Deprecate
use of -mstructure-size-boundary.
* config/arm/arm.opt: Deprecate -mstructure-size-boundary.
* doc/invoke.texi: Depre
Hello,
On Tue, 11 Jul 2017, Jeff Law wrote:
> This patch series is designed to mitigate the problems exposed by the
> stack-clash exploits. As I've noted before, the way to address this
> class of problems is via a good stack probing strategy.
>
> This has taken much longer than expected to pul
Hi
In my perspective:
1. Do we need to assign unique id for every comparison ?
Yes, I suggest to implement it like -fsanitize-coverage=trace-pc-guard .
Because some fuzzing targets may invoke dlopen() like functions to
load libraries(modules) after fork(), while these libraries are
compil
My patch last week to address selection of be8 linking mode broke the
build for vxworks. It turns out that this port is one of the few
remaining that is still not based on the EABI/AAPCS.
This patch fixes the build, but I've not really tested it beyond
building the core compiler binaries. Buildi
Hi Jeff,
On 11 July 2017 at 23:19, Jeff Law wrote:
> This patch series is designed to mitigate the problems exposed by the
> stack-clash exploits. As I've noted before, the way to address this
> class of problems is via a good stack probing strategy.
>
> This has taken much longer than expected
This patch adds another machine_mode wrapper for modes that are
known to be COMPLEX_MODE_P. There aren't yet many places that make
use of it, but that might change in future.
2017-07-13 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* coretypes.h (compl
This patch adds a scalar_mode_pod class and uses it to
replace the machine_mode in fixed_value.
2017-07-13 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* coretypes.h (scalar_mode_pod): New typedef.
* gdbhooks.py (build_pretty_printer): Handle i
Similar to the previous scalar_int_mode patch.
2017-07-13 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* config/aarch64/aarch64-protos.h (aarch64_gen_adjusted_ldpstp):
Take a scalar_mode rather than a machine_mode.
(aarch64_operands_adj
On Tue, Jul 11, 2017 at 05:29:11PM +0100, Jackson Woodruff wrote:
> Hi all,
>
> This patch refactors comments in config/aarch64/aarch64.c
> aarch64_print_operand
> to provide a table of aarch64 specific formating options.
>
> I've tested the patch with a bootstrap and testsuite run on aarch64.
>
This patch uses scalar_mode in a few miscellaneous places:
- Previous patches mean mode_to_vector can take a scalar_mode without
further changes.
- Implicit promotion is limited to scalar types (affects promote_mode
and sdbout_parms)
2017-07-13 Richard Sandiford
Alan Hayward
This patch makes the preferred_simd_mode target hook take a scalar_mode
rather than a machine_mode.
2017-07-13 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* target.def (preferred_simd_mode): Take a scalar_mode
instead of a machine_mode.
This patch makes the scalar_mode_supported_p target hook take a
scalar_mode rather than a machine_mode.
2017-07-13 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* target.def (scalar_mode_supported_p): Take a scalar_mode
instead of a machine_mode
This patch splits the final scalar-only part of convert_mode out
into its own subroutine and treats the modes as scalar_modes there.
2017-07-13 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* expr.c (convert_mode): Split scalar handling out into...
The expand_float code:
/* Unsigned integer, and no way to convert directly. Convert as signed,
then unconditionally adjust the result. */
and the expand_fix code:
/* For an unsigned conversion, there is one more way to do it.
If we have a signed conversion, we generate code that
This patch uses opt_scalar_mode when iterating over scalar modes.
2017-07-13 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* coretypes.h (opt_scalar_mode): New typedef.
* gdbhooks.py (build_pretty_printers): Handle it.
* machmode.h (mode
This patch uses scalar_mode for code that operates only on MODE_INT
and MODE_FLOAT.
2017-07-13 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* omp-expand.c (expand_omp_atomic): Use is_int_mode, is_float_mode
and scalar_mode.
* tree-vect-
This patch treats the mode associated with an integer constant as a
scalar_mode. We can't use the more natural-sounding scalar_int_mode
because we also use (const_int 0) for bounds-checking modes. (It might
be worth adding a bounds-specific code instead, but that's for another
day.)
This exposes
This patch makes the fixed-value.* routines use scalar_mode.
It would be possible to define special classes for these modes, as for
scalar_int_mode and scalar_float_mode, but at the moment nothing would
benefit from them. In particular, there's no use case that would help
select between one class
This patch adds a SCALAR_TYPE_MODE macro, along the same lines as
SCALAR_INT_TYPE_MODE and SCALAR_FLOAT_TYPE_MODE. It also adds
two instances of as_a to c_common_type, when converting
an unsigned fixed-point SCALAR_TYPE_MODE to the equivalent signed mode.
2017-07-13 Richard Sandiford
This patch adds a scalar_mode class that can hold any scalar mode,
specifically:
- scalar integers
- scalar floating-point values
- scalar fractional modes
- scalar accumulator modes
- pointer bounds modes
To start with this patch uses this type for GET_MODE_INNER.
Later patches add mor
This patch makes a few simplifications after the previous
mechanical machine_mode->scalar_int_mode change.
2017-07-13 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* expmed.c (extract_high_half): Use scalar_int_mode and remove
assertion.
This patch makes the AArch64 port use scalar_int_mode in various places.
Other ports won't need this kind of change; we only need it for AArch64
because of the variable-sized SVE modes.
The only change in functionality is in the rtx_costs handling
of CONST_INT. If the caller doesn't supply a mode
This patch changes the types of various things from machine_mode
to scalar_int_mode, in cases where (after previous patches)
simply changing the type is enough on its own. The patch does
nothing other than that.
2017-07-13 Richard Sandiford
Alan Hayward
David Sherwood
This patch adds a helper function to get the mode of the addresses
or offsets in a jump table. It also changes the final.c code to use
rtx_jump_table_data over rtx or rtx_insn in cases where it needed
to use the new helper. This in turn meant adding a safe_dyn_cast
equivalent of safe_as_a, to cop
The callers of do_jump_by_parts_* had already established
that the modes were MODE_INTs, so this patch passes the
modes down as scalar_int_modes.
2017-07-13 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* dojump.c (do_jump_by_parts_greater_rtx): Change
This patch uses scalar_int_modes for:
/* If I2 is setting a pseudo to a constant and I3 is setting some
sub-part of it to another constant, merge them by making a new
constant. */
This was already implicit, but the danger with checking only
CONST_SCALAR_INT_P is that it can include C
This patch adjusts a couple of cases in which we had established
that two modes were equal and happened to be using the one with the
more general type instead of the one with the more specific type.
2017-07-13 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
This patch rewrites the condition:
if (tmode != address_mode && tmode != pointer_mode)
tmode = address_mode;
to the equivalent:
tmode == pointer_mode ? pointer_mode : address_mode
The latter has the advantage that the result is naturally
a scalar_int_mode; a later mechanical patch makes
The main scalar integer block in simplify_const_unary_operation
had the condition:
if (CONST_SCALAR_INT_P (op) && width > 0)
where "width > 0" was a roundabout way of testing != VOIDmode.
This patch replaces it with a check for a scalar_int_mode instead.
It also uses the number of bits in the i
expand_unop can expand narrow clz, clrsb, ctz, bswap, parity and
ffs operations using optabs for wider modes. These expansions
apply only to scalar integer modes (and not for example to vectors),
so the patch adds explicit checks for that.
2017-07-13 Richard Sandiford
Alan Hayward
1 - 100 of 160 matches
Mail list logo