/ChangeLog ***
2015-10-27 Andre Vieira
Thomas Preud'homme
* gcc/config/arm/arm.c (use_return_insn): Change to return with bxns
when cmse_nonsecure_entry.
(output_return_instruction): Likewise.
(arm_output_function_prologue):
ng already as it is required by AAPCS.
*** gcc/ChangeLog ***
2015-10-27 Andre Vieira
Thomas Preud'homme
* gcc/config/arm/arm.c (output_return_instruction): Clear
registers.
(thumb2_expand_return): Likewise.
(thumb1_expand_epil
Thomas Preud'homme
* gcc/config/arm/arm.c (gimplify.h): New include.
(arm_handle_cmse_nonsecure_call): New.
(arm_attribute_table): Added cmse_nonsecure_call.
*** gcc/testsuite/ChangeLog ***
2015-10-27 Andre Vieira
Thomas Preud'hom
geLog ***
*** gcc/ChangeLog ***
2015-10-27 Andre Vieira
Thomas Preud'homme
* gcc/config/arm/arm.c (detect_cmse_nonsecure_call): New.
(cmse_nonsecure_call_clear_caller_saved): New.
* gcc/config/arm/arm-protos.h (detect_cmse_nonsecure_cal
rements on Development
Tools (http://infocenter.arm.com/help/topic/com.arm.doc.ecm0359818/index.html)
for further details.
*** gcc/ChangeLog ***
2015-10-27 Andre Vieira
Thomas Preud'homme
* gcc/config/arm/arm-builtins.c (arm_bu
> From: Gerald Pfeifer [mailto:ger...@pfeifer.com]
> Sent: Sunday, January 03, 2016 6:49 AM
>
> On Wed, 16 Dec 2015, Thomas Preud'homme wrote:
> > Currently, the documentation for --with-multilib-list in
> > gcc/doc/install.texi only mentions sh*-*-* and x86-64-*-lin
into different byte
significance in the result. This patch first separate cmpxchg and cmpnop
adjustement into 2 steps and then deal with endianness correctly for the
second step.
ChangeLog entries are as follow:
*** gcc/ChangeLog ***
2015-12-16 Thomas Preud'homme
PR tree-op
On Tuesday, January 05, 2016 01:53:37 PM you wrote:
>
> Regression testsuite was run on a bootstrapped native x86_64-linux-gnu GCC
> and on an arm-none-eabi GCC cross-compiler without any regression. I'm
> waiting for a slot on gcc110 to do a big endian bootstrap but at least the
> testcase works
-12-31 Thomas Preud'homme
* g++.dg/pr67989.C: Skip test if already running it with -mcpu or
-march with different value.
diff --git a/gcc/testsuite/g++.dg/pr67989.C b/gcc/testsuite/g++.dg/pr67989.C
index
90261c450b4b9429fb989f7df62f3743017
On Tuesday, January 05, 2016 10:47:38 AM Kyrill Tkachov wrote:
> Hi Thomas,
Hi Kyrill,
> >
> > diff --git a/gcc/testsuite/g++.dg/pr67989.C
> > b/gcc/testsuite/g++.dg/pr67989.C index
> > 90261c450b4b9429fb989f7df62f3743017c7363..61be8e172a96df5bb76f7ecd8543dadf
> > 825e7dc7 100644
> > --- a/gcc/t
Ping?
> -Original Message-
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme
> Sent: Wednesday, December 16, 2015 5:11 PM
> To: gcc-patches@gcc.gnu.org; Richard Earnshaw; Ramana Radhakrishnan;
> Kyrylo Tk
duplicated.
What about the following:
*** gcc/testsuite/ChangeLog ***
2016-01-08 Thomas Preud'homme
* g++.dg/pr67989.C: Remove ARM-specific option.
* gcc.target/arm/pr67989.C: New file.
diff --git a/gcc/testsuite/g++.dg/pr67989.C b/gcc/testsuite/
On Monday, January 11, 2016 04:57:18 PM Bernd Schmidt wrote:
> On 01/08/2016 10:33 AM, Thomas Preud'homme wrote:
> > 2016-01-08 Thomas Preud'homme
> >
> > * g++.dg/pr67989.C: Remove ARM-specific option.
> > * gcc.target/arm/pr67989.C: Ne
This patch solve this problem by replacing the static pass number in the
output by a star, allowing for a stable output while retaining easy copy/
pasting in shell.
ChangeLog entry is as follows:
*** gcc/testsuite/ChangeLog ***
2015-12-30 Thomas Preud'homme
* gcc.c-torture/
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme
> Sent: Thursday, December 17, 2015 1:58 PM
>
> Hi,
>
> We decided to apply the following patch to the ARM embedded 5 branch.
> This is *not* intended for
On Wednesday, January 13, 2016 06:39:20 PM Bernd Schmidt wrote:
> On 01/12/2016 08:55 AM, Thomas Preud'homme wrote:
> > On Monday, January 11, 2016 04:57:18 PM Bernd Schmidt wrote:
> >> On 01/08/2016 10:33 AM, Thomas Preud'homme wrote:
> >
gt; Subject: Re: [PATCH, testsuite] Fix PR68632: gcc.target/arm/lto/pr65837
> failure on M profile ARM targets
>
> Hi Thomas,
>
>
> On 12/09/2015 10:57 AM, Thomas Preud'homme wrote:
> > gcc.target/arm/lto/pr65837 fails on M profile ARM targets because of
> lack of neon
Hi Eric,
Sorry for the delay, for some reasons despite being a recipient the mail
didn't hit my inbox but only my gcc-patches box.
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Eric Botcazou
>
> > 2014-11-14
Ping?
> -Original Message-
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme
> Sent: Friday, November 28, 2014 3:02 PM
> To: gcc-patches@gcc.gnu.org
> Subject: [PATCH, contrib] Reduce check_GNU_sty
> From: Eric Botcazou [mailto:ebotca...@adacore.com]
> Sent: Friday, December 05, 2014 4:40 PM
>
> OK for mainline, but investigate whether you can better format the
> config/c6x/c6x.c line, for example:
>
> + best_reg
> + = find_rename_reg (this_head, super_class, &unavailable, old_reg,
> true
tails.
ChangeLog entry is as follows:
2014-12-24 Thomas Preud'homme thomas.preudho...@arm.com
PR tree-optimization/63259
* tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
if optab exists for 16bit byteswap.
diff --git a/gcc/tree-ssa-math-opts.c b/gcc/tree-ssa-math-op
> From: Richard Biener [mailto:rguent...@suse.de]
> Sent: Monday, December 29, 2014 5:09 PM
>
> OK, but what about targets without a rotation optab? Is the fallback
> expansion reasonable in all cases?
To be honest I haven't checked. I thought being a treecode means it
can always be expanded, us
> From: Oleg Endo [mailto:oleg.e...@t-online.de]
> Sent: Tuesday, December 30, 2014 4:25 PM
>
> I've just tried disabling the 'rotlhi3' pattern and __builtin_bswap16
> expands into shift + and + or (as expected).
> Thus, I don't think the patch will make something worse (than it
> already
>
> .L4
targets. This is what causes PR64436 due to a change in the
gimple generated for that testcase.
ChangeLog entry is as follows:
gcc/ChangeLog
2014-12-30 Thomas Preud'homme thomas.preudho...@arm.com
PR tree-optimization/64436
* tree-ssa-math-opts.c (find_bswap_or_nop_1): Move
even if they are used. This patch marks high registers as really
needing to be saved in prolog if live, no matter what is the content of
call_used_regs.
ChangeLog entries are as follows:
gcc/ChangeLog
2015-01-12 Thomas Preud'homme thomas.preudho...@arm.com
PR target/64453
* confi
Ping?
> -Original Message-
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme
> Sent: Thursday, November 13, 2014 4:05 PM
> To: gcc-patches@gcc.gnu.org
> Cc: Richard Earnshaw; Ramana Radhakrishnan
> Su
Ping?
> -Original Message-
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme
> Sent: Thursday, November 13, 2014 4:05 PM
> To: Tony Wang; gcc-patches@gcc.gnu.org
> Cc: Richard Earnshaw; Ramana Radh
-
> From: Richard Earnshaw
> Sent: Wednesday, January 14, 2015 2:53 PM
> To: Thomas Preud'homme; Tony Wang; gcc-patches@gcc.gnu.org
> Cc: Ramana Radhakrishnan
> Subject: Re: [PATCH 3/3, ARM, libgcc, ping6] Code size optimization for
> the fmul/fdiv and dmul/ddiv function in libgcc
Ping?
> -Original Message-
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme
> Sent: Wednesday, August 20, 2014 9:28 AM
> To: gcc-patches@gcc.gnu.org
> Subject: [PATCH][ARM] Fix -fcall-saved-rX for X &
special marker to track
bytes whose value is unpredictable due to sign extension. If the final result
of a bit manipulation doesn't contain any such marker then the bswap
optimization can proceed.
*** gcc/ChangeLog ***
2014-09-15 Thomas Preud'homme
PR tree-optimiza
Ping?
> -Original Message-
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme
> Sent: Tuesday, September 16, 2014 6:25 PM
> To: gcc-patches@gcc.gnu.org
> Subject: [PATCH] Fix PR63266: Keep track of impa
> From: Christophe Lyon [mailto:christophe.l...@linaro.org]
> Sent: Thursday, September 25, 2014 4:28 AM
>
> Hi Thomas,
Hi Christophe,
>
> Although I could notice the improvement:
> Pass disappears [PASS => ]:
> gcc.dg/optimize-bswapsi-1.c scan-tree-dump-times bswap "32 bit
> b
> From: Christophe Lyon [mailto:christophe.l...@linaro.org]
> Sent: Thursday, September 25, 2014 10:08 PM
>
> While attempting to try this, I noticed that more precisely the test
> is currently UNSUPPORTED on aarch64_be,
> which is because check_effective_target_bswap only accepts istarget
> aarc
Ping?
> -Original Message-
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme
> Sent: Wednesday, August 20, 2014 9:28 AM
> To: gcc-patches@gcc.gnu.org
> Subject: [PATCH][ARM] Fix -fcall-saved-rX for X &g
x short int". */
Yet, __complex is equivalent to __complex int as shows the following testcase:
#include
int
main (void)
{
return typeid (__complex) != typeid (__complex int);
}
The following patch fix the problem.
ChangeLog are as follows:
*** gcc/cp/ChangeLog ***
2014-09-26 Thomas Preud
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme
> Sent: Monday, September 29, 2014 3:33 PM
> ChangeLog are as follows:
>
> *** gcc/cp/ChangeLog ***
>
> 2014-09-26 Thomas Preud'homme
>
&
Hi Richard,
I addressed all your comments but the ones below.
> From: Richard Biener [mailto:richard.guent...@gmail.com]
>
> + /* Convert the result of load if necessary. */
> + if (!useless_type_conversion_p (TREE_TYPE (tgt),
> +
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme
>
> > From: Richard Biener [mailto:richard.guent...@gmail.com]
> >
> > + /* Convert the result of load if necessa
follows:
*** gcc/ChangeLog ***
2014-05-04 Thomas Preud'homme
PR middle-end/39246
* tree-complex.c (expand_complex_move): Keep line info when expanding
complex move.
* tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment of
complex expression
Please find attached the new version of this patch addressing all your comments.
ChangeLog are now as follows:
*** gcc/ChangeLog ***
2014-05-04 Thomas Preud'homme
PR tree-optimization/54733
* expr.c (get_inner_reference): Add a parameter to control whether a
ME
d before.
ChangeLog are now as follows:
*** gcc/ChangeLog ***
2014-05-04 Thomas Preud'homme
PR tree-optimization/54733
* tree-ssa-math-opts.c (execute_optimize_bswap): Move its leading
comment back in place. Also split statement transformation into ...
(bswap_r
Here is the fourth and last patch in the series. Its purpose is to add support
for bitwise operation from a source operand that are equivalent to a load
in the target's endianness.
ChangeLog are as follows:
*** gcc/ChangeLog ***
2014-05-04 Thomas Preud'homme
PR tree-op
I realized there was a memset missing for the statistics of nop OR bitwise
expression. Please consider the attached patch instead.
ChangeLog unchanged but reproduced here for convenience:
*** gcc/ChangeLog ***
2014-05-04 Thomas Preud'homme
PR tree-optimization/54733
*
I found a way to improve the function find_bswap/find_bswap_or_nop
and reduce its size. Please hold for the review, I will post an updated
version as soon as I finish testing.
Best regards,
Thomas Preud'homme
Hi Richard,
> From: Richard Biener [mailto:richard.guent...@gmail.com]
> >
> > The ChangeLog are as follows:
> >
> > *** gcc/ChangeLog ***
> >
> > 2014-05-04 Thomas Preud'homme
> >
> > PR middle-end/39246
> >
Sorry, I forgot to include the new ChangeLogs:
*** gcc/ChangeLog ***
2014-05-06 Thomas Preud'homme
PR middle-end/39246
* tree-complex.c (expand_complex_move): Keep line info when expanding
complex move.
* tree-ssa-uninit.c (uninit_undefined_value_p)
Sorry, took longer than expected as I got distracted by some other patch.
I merged the whole patchset in a single patch as I was told the current setup
is actually more difficult to read.
Here are the updated ChangeLogs:
*** gcc/ChangeLog ***
2014-05-09 Thomas Preud'homme
PR
Ping?
Best regards,
Thomas Preud'homme
> -Original Message-
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme
> Sent: Friday, May 09, 2014 6:26 PM
> To: GCC Patches
> Subject: RE: [PATCH]
> From: Richard Biener [mailto:richard.guent...@gmail.com]
> On Fri, May 16, 2014 at 12:07 PM, Thomas Preud'homme
> wrote:
> > Ping?
>
> Sorry ...
>
> Thanks and sorry again for the delay.
>
No need to be sorry, it was really not meant as a complaint.
> From: Richard Biener [mailto:richard.guent...@gmail.com]
>
> Oh, and what happens for
>
> unsigned foo (unsigned char *x)
> {
> return x[0] << 24 | x[2] << 8 | x[3];
> }
>
> ? We could do an unsigned int load from x and zero byte 3
> with an AND. Enhancement for a followup, similar to also
> From: Richard Biener [mailto:richard.guent...@gmail.com]
>
> Agreed, but I am happy with doing that as a followup. Btw,
> a very simple one would be to reject unaligned
> SLOW_UNALIGNED_ACCESS (TYPE_MODE (load_type), align).
> [of course that may be true on MIPS even for the cases where
> a "re
> From: Richard Biener [mailto:richard.guent...@gmail.com]
>
> It may do three aligned loads, char, short, char and combine them
> while doing an unaligned int load may end up being slower. Though
> very probable the RTL expansion machinery for unaligned loads
> is way more clever to emit an opti
**
2014-05-20 Thomas Preud'homme
PR tree-optimization/54733
* tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
(CMPNOP): Define.
(find_bswap_or_nop_load): New.
(find_bswap_1): Renamed to ...
(find_bswap_or_nop_1): This
> From: Richard Biener [mailto:richard.guent...@gmail.com]
> On Fri, Apr 4, 2014 at 7:48 AM, Thomas Preud'homme
> wrote:
> >
> > Please find attached an updated patch.
>
> This is ok.
Commited. It was already tested against trunk since it was on the same branch
> From: Richard Biener [mailto:richard.guent...@gmail.com]
> On Wed, May 21, 2014 at 3:00 AM, Thomas Preud'homme
> wrote:
> >
> > Updated ChangeLogs:
> >
> > *** gcc/ChangeLog ***
> >
> > 2014-05-20 Thomas Preud'homme
> >
>
> From: Christophe Lyon [mailto:christophe.l...@linaro.org]
>
> I have noticed that the new bswap-2.c test fails at execution on armeb
> targets.
> See:
> http://cbuild.validation.linaro.org/build/cross-validation/gcc/210843/report-
> build-info.html
>
> Could you have a look?
Sure.
I suspect i
Hi Chistophe and Andreas,
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme
>
> I suspect it's the same kind of problem m68k run into. I already wrote a patch
> to
> reduce the impact of different bitfie
nd replace it with
a load or load+bswap. This reduce the number of possible values to 2
and thus makes the test less fragile and easier to understand.
By the way, I couldn't understand how you reached the value
0x44434241. Can you explain me?
Here is the ChangeLog:
2014-05-29 Thomas Preud
> From: Andreas Schwab [mailto:sch...@linux-m68k.org]
> "Thomas Preud'homme" writes:
>
> > By the way, I couldn't understand how you reached the value
> > 0x44434241. Can you explain me?
>
> Each byte is composed of the first 7 bits of the orig
Now that GCC 4.9 branch is opened again and GCC 4.8 branch still open, is the
following backported patch ok for both branches?
Best regards,
Thomas
> -Original Message-
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Thomas Pr
The bswap optimization has a bug where a code can be incorrectly detected as
doing a byte swap, therefore leading to change of behavior for the program
compiled. This is tracked as PR60454. The patch below fixes the issue.
Best regards,
Thomas Preud'homme
diff --git a/gcc/ChangeLog
reproducing it below.
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 748805e..b6d7d93 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2014-03-07 Thomas Preud'homme
+
+ PR tree-optimization/60454
+ * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
+
2
eck-gcc RUNTESTFLAGS=execute.exp=pr60454.c
> should be enough.
Right, but I made another bootstrap for another patch just after so I need to
do it again.
>
> The rest looks good to me.
Thanks.
See below for the new version as well as in attachment.
diff --git a/gcc/ChangeLog b/gcc
or
> you? Are you covered by ARM GCC Copyright assignment?
Yes and yes.
>
> Jakub
Thanks for the review. See attachment and below to check the version you
approved.
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 748805e..b6d7d93 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@
lit it but
variable renaming and introduction of bwapXX effective target could be made
separately to reduce the noise. The patch is too big so is only in attachment
of this email.
The ChangeLog are as follows:
*** gcc/ChangeLog ***
2014-03-19 Thomas Preud'homme
PR tree-optimiz
target is created for
each size (16, 32 and 64) as not all architectures support byte swap of all
sizes.
Here is the gcc/testsuite/ChangeLog entry:
2014-04-01 Thomas Preud'homme
* lib/target-supports.exp: New effective targets for architectures
capable of performing byte
e uses that, adding a new folding would make this
code cover more cases. This patch also adds a few testcases to check both (i)
that
the optimization works as expected and (ii) that the result are correct.
The ChangeLog are as follows:
*** gcc/ChangeLog ***
2014-04-01 Thomas Preud'homme
Here is the third and last patch in the series. Its purpose is to add support
for bitwise operation from a source operand that are equivalent to a load
in the target's endianness.
The ChangeLog are as follows:
*** gcc/ChangeLog ***
2014-04-01 Thomas Preud'homme
PR tree-op
> From: Marc Glisse [mailto:marc.gli...@inria.fr]
>
> Uh? It does fold a+1-a for me. What it doesn't do is look through the
> definition of b in b-a. Richard+GSoC will supposedly soon provide a
> function that does that.
Oh right, it's a bit more complex here since the array index is converted
to
> From: Richard Biener [mailto:richard.guent...@gmail.com]
>
> Sorry, I simply queued it in my review queue for stage1 ... it's definitely
> something that was high on my wish-list (including of also using
> general vector shuffles if available to support even more patterns).
Oh great. Anyway, ha
> From: Richard Biener [mailto:richard.guent...@gmail.com]
>
> "More like" isn't enough to answer this - do you have a testcase? (usually
> these end up in undefined-overflow and/or conversion-to-sizetype issues)
I do. See attachment. This testcase needs to be compiled with patch 2/3
applied. As
> From: Joseph Myers [mailto:jos...@codesourcery.com]
>
> > + if { [is-effective-target bswap]
> > +&& ![istarget x86_64-*-*] } {
>
> That x86_64-*-* test is wrong. x86_64-*-* and i?86-*-* should always be
> handled the same (if you then want to distinguish 32-bit and 64-bit
>
> From: Andreas Schwab [mailto:sch...@suse.de]
>
> Please add m68k-*-*.
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Rainer Orth
>
> Just omit the { target *-*-* } completely, also a few more times.
Please find attached an updated patch.
gcc32rm-
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Rainer Orth
>
> Just omit the { target *-*-* } completely, also a few more times.
Please find attached an updated patch.
Best regards,
Thomas
gcc32rm-84.3.2.part2.diff
Description: Binary data
Since stage1 is in effect now, I'm sending a ping for this patch review.
Best regards,
Thomas
> From: Richard Biener [mailto:richard.guent...@gmail.com]
>
> With handling only the outermost handled-component and then only a
> selected subset you'll catch many but not all cases. Why not simply
> use get_inner_reference () here (plus stripping the constant offset
> from an innermost MEM_REF
See updated part 2 of the patch in attachment. Part 1 is unchanged. New
ChangeLog are as follows:
*** gcc/ChangeLog ***
2014-04-23 Thomas Preud'homme
PR tree-optimization/54733
* tree-ssa-math-opts.c (find_bswap_load): New.
(find_bswap_1): Add support for m
See updated part 3 of the patch in attachment. New ChangeLog are as follows
*** gcc/ChangeLog ***
2014-04-23 Thomas Preud'homme
PR tree-optimization/54733
* tree-ssa-math-opts.c (find_bswap_load): Renamed to ...
(find_bswap_or_nop_load): This.
(find_bs
>
> Bootstrapped on x86_64-linux-gnu with no testsuite regression. Also did a
> arm-none-eabi cross build with no regression after running testsuite via
> qemu
Forgot to ask if it's ok for trunk. Same question for part 1 and 3.
Best regards,
Thomas
201 - 279 of 279 matches
Mail list logo