[RFC][PATCH, ARM 4/8] ARMv8-M Security Extension's cmse_nonsecure_entry: __acle_se label and bxns return

2015-12-25 Thread Thomas Preud'homme
/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):

[RFC][PATCH, ARM 5/8] ARMv8-M Security Extension's cmse_nonsecure_entry: clear registers

2015-12-25 Thread Thomas Preud'homme
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

[RFC][PATCH, ARM 6/8] Handling ARMv8-M Security Extension's cmse_nonsecure_call attribute

2015-12-25 Thread Thomas Preud'homme
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

[RFC][PATCH, ARM 7/8] ARMv8-M Security Extension's cmse_nonsecure_call: use __gnu_cmse_nonsecure_call

2015-12-25 Thread Thomas Preud'homme
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

[RFC][PATCH, ARM 8/8] Added support for ARMV8-M Security Extension cmse_nonsecure_caller intrinsic

2015-12-25 Thread Thomas Preud'homme
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

RE: [PATCH, ARM, 1/3] Document --with-multilib-list for arm*-*-* targets

2016-01-03 Thread Thomas Preud'homme
> 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

[PATCH, GCC] Fix PR67781: wrong code generation for partial load on big endian targets

2016-01-04 Thread Thomas Preud'homme
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

Re: [PATCH, GCC] Fix PR67781: wrong code generation for partial load on big endian targets

2016-01-04 Thread Thomas Preud'homme
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

[PATCH, testsuite] Fix g++.dg/pr67989.C test failure when running with -march or -mcpu

2016-01-04 Thread Thomas Preud'homme
-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

Re: [PATCH, testsuite] Fix g++.dg/pr67989.C test failure when running with -march or -mcpu

2016-01-06 Thread Thomas Preud'homme
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

RE: [PATCH, ARM, ping1] Fix gcc.c-torture/execute/loop-2b.c execution failure on cortex-m0

2016-01-08 Thread Thomas Preud'homme
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

Re: [PATCH, testsuite] Fix g++.dg/pr67989.C test failure when running with -march or -mcpu

2016-01-08 Thread Thomas Preud'homme
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/

Re: [PATCH, testsuite] Fix g++.dg/pr67989.C test failure when running with -march or -mcpu

2016-01-11 Thread Thomas Preud'homme
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

[PATCH, testsuite] Stabilize test result output of dump-noaddr

2016-01-12 Thread Thomas Preud'homme
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/

RE: [PATCH, libgcc/ARM 1/6] Fix Thumb-1 only == ARMv6-M & Thumb-2 only == ARMv7-M assumptions

2016-01-12 Thread Thomas Preud'homme
> 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

Re: [PATCH, testsuite] Fix g++.dg/pr67989.C test failure when running with -march or -mcpu

2016-01-17 Thread Thomas Preud'homme
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: > >

RE: [PATCH, testsuite] Fix PR68632: gcc.target/arm/lto/pr65837 failure on M profile ARM targets

2016-01-19 Thread Thomas Preud'homme
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

RE: [PATCH] Add force option to find_best_rename_reg in regrename pass

2014-12-04 Thread Thomas Preud'homme
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

RE: [PATCH, contrib] Reduce check_GNU_style noise

2014-12-04 Thread Thomas Preud'homme
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

RE: [PATCH] Add force option to find_best_rename_reg in regrename pass

2014-12-05 Thread Thomas Preud'homme
> 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

[PATCH] Don't check for optab for 16bit bswap

2014-12-29 Thread Thomas Preud'homme
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

RE: [PATCH] Don't check for optab for 16bit bswap

2014-12-29 Thread Thomas Preud'homme
> 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

RE: [PATCH] Don't check for optab for 16bit bswap

2015-01-05 Thread Thomas Preud'homme
> 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

[PATCH] Fix PR64436: broken logic to process bitwise ORs in bswap pass

2015-01-12 Thread Thomas Preud'homme
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

[PATCH, ARM] Fix PR64453: live high register not saved in function prolog with -Os

2015-01-14 Thread Thomas Preud'homme
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

RE: [PATCH 2/3, ARM, libgcc, ping6] Code size optimization for the fmul/fdiv and dmul/ddiv function in libgcc

2015-01-14 Thread Thomas Preud'homme
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

RE: [PATCH 3/3, ARM, libgcc, ping6] Code size optimization for the fmul/fdiv and dmul/ddiv function in libgcc

2015-01-14 Thread Thomas Preud'homme
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

RE: [PATCH 3/3, ARM, libgcc, ping6] Code size optimization for the fmul/fdiv and dmul/ddiv function in libgcc

2015-01-14 Thread Thomas Preud'homme
- > 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

RE: [PATCH][ARM] Fix -fcall-saved-rX for X > 7 with -Os -mthumb

2014-09-11 Thread Thomas Preud'homme
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 &

[PATCH] Fix PR63266: Keep track of impact of sign extension in bswap

2014-09-16 Thread Thomas Preud'homme
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

RE: [PATCH] Fix PR63266: Keep track of impact of sign extension in bswap

2014-09-23 Thread Thomas Preud'homme
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

RE: [PATCH] Fix PR63266: Keep track of impact of sign extension in bswap

2014-09-24 Thread Thomas Preud'homme
> 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

RE: [PATCH] Fix PR63266: Keep track of impact of sign extension in bswap

2014-09-25 Thread Thomas Preud'homme
> 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

RE: [PATCH][ARM] Fix -fcall-saved-rX for X > 7 with -Os -mthumb

2014-09-28 Thread Thomas Preud'homme
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

[PATCH, C++] Fix PR63366: __complex not equivalent to __complex double in C++

2014-09-29 Thread Thomas Preud'homme
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&#

RE: [PATCH, C++] Fix PR63366: __complex not equivalent to __complex double in C++

2014-09-29 Thread Thomas Preud'homme
> 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 > &

RE: [PATCH][3/3] Fix PR54733 Optimize endian independent load/store

2014-04-29 Thread 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), > +

RE: [PATCH][3/3] Fix PR54733 Optimize endian independent load/store

2014-04-29 Thread Thomas Preud'homme
> 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

[PATCH] Fix PR39246: -Wuninitialized for partially initialized complex

2014-05-04 Thread Thomas Preud'homme
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

RE: [PATCH][2/3] Fix PR54733 Optimize endian independent load/store

2014-05-04 Thread Thomas Preud'homme
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

RE: [PATCH][3/4] Fix PR54733 Optimize endian independent load/store

2014-05-04 Thread Thomas Preud'homme
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

[PATCH][4/4] Fix PR54733 Optimize endian independent load/store

2014-05-04 Thread Thomas Preud'homme
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

RE: [PATCH][4/4] Fix PR54733 Optimize endian independent load/store

2014-05-04 Thread Thomas Preud'homme
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 *

RE: [PATCH][2/3] Fix PR54733 Optimize endian independent load/store

2014-05-05 Thread Thomas Preud'homme
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

RE: [PATCH] Fix PR39246: -Wuninitialized for partially initialized complex

2014-05-06 Thread 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 > >

RE: [PATCH] Fix PR39246: -Wuninitialized for partially initialized complex

2014-05-06 Thread Thomas Preud'homme
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)

RE: [PATCH] Fix PR54733 Optimize endian independent load/store

2014-05-09 Thread Thomas Preud'homme
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

RE: [PATCH] Fix PR54733 Optimize endian independent load/store

2014-05-16 Thread Thomas Preud'homme
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]

RE: [PATCH] Fix PR54733 Optimize endian independent load/store

2014-05-18 Thread Thomas Preud'homme
> 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.

RE: [PATCH] Fix PR54733 Optimize endian independent load/store

2014-05-19 Thread Thomas Preud'homme
> 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

RE: [PATCH] Fix PR54733 Optimize endian independent load/store

2014-05-19 Thread Thomas Preud'homme
> 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

RE: [PATCH] Fix PR54733 Optimize endian independent load/store

2014-05-20 Thread Thomas Preud'homme
> 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

RE: [PATCH] Fix PR54733 Optimize endian independent load/store

2014-05-20 Thread Thomas Preud'homme
** 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

RE: [PATCH][1/3] Fix PR54733 Optimize endian independent load/store

2014-05-22 Thread Thomas Preud'homme
> 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

RE: [PATCH] Fix PR54733 Optimize endian independent load/store

2014-05-22 Thread Thomas Preud'homme
> 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 > > >

RE: [PATCH] Fix PR54733 Optimize endian independent load/store

2014-05-26 Thread 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

RE: [PATCH] Fix PR54733 Optimize endian independent load/store

2014-05-27 Thread Thomas Preud'homme
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

RE: [PATCH] Fix PR54733 Optimize endian independent load/store

2014-05-29 Thread Thomas Preud'homme
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&#

RE: [PATCH] Fix PR54733 Optimize endian independent load/store

2014-05-29 Thread Thomas Preud'homme
> 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

RE: [PATCH] Fix PR61375: cancel bswap optimization when value doesn't fit in a HOST_WIDE_INT

2014-07-30 Thread Thomas Preud'homme
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

[PATCH] Fix incorrect byte swap detection (PR tree-optimization/60454)

2014-03-07 Thread Thomas Preud'homme
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

RE: [PATCH] Fix incorrect byte swap detection (PR tree-optimization/60454)

2014-03-10 Thread Thomas Preud'homme
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

RE: [PATCH] Fix incorrect byte swap detection (PR tree-optimization/60454)

2014-03-11 Thread Thomas Preud'homme
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

RE: [PATCH] Fix incorrect byte swap detection (PR tree-optimization/60454)

2014-03-11 Thread Thomas Preud'homme
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 @

[PATCH] Fix PR54733 Optimize endian independent load/store

2014-03-18 Thread Thomas Preud'homme
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

[PATCH][1/3] Fix PR54733 Optimize endian independent load/store

2014-04-01 Thread Thomas Preud'homme
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

[PATCH][2/3] Fix PR54733 Optimize endian independent load/store

2014-04-01 Thread Thomas Preud'homme
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

[PATCH][3/3] Fix PR54733 Optimize endian independent load/store

2014-04-01 Thread 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

RE: [PATCH][2/3] Fix PR54733 Optimize endian independent load/store

2014-04-02 Thread Thomas Preud'homme
> 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

RE: [PATCH][1/3] Fix PR54733 Optimize endian independent load/store

2014-04-02 Thread Thomas Preud'homme
> 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

RE: [PATCH][2/3] Fix PR54733 Optimize endian independent load/store

2014-04-02 Thread Thomas Preud'homme
> 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

RE: [PATCH][1/3] Fix PR54733 Optimize endian independent load/store

2014-04-02 Thread Thomas Preud'homme
> 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 >

RE: [PATCH][1/3] Fix PR54733 Optimize endian independent load/store

2014-04-03 Thread Thomas Preud'homme
> 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-

RE: [PATCH][2/3] Fix PR54733 Optimize endian independent load/store

2014-04-03 Thread Thomas Preud'homme
> 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

RE: [PATCH][1/3] Fix PR54733 Optimize endian independent load/store

2014-04-14 Thread Thomas Preud'homme
Since stage1 is in effect now, I'm sending a ping for this patch review. Best regards, Thomas

RE: [PATCH][2/3] Fix PR54733 Optimize endian independent load/store

2014-04-16 Thread Thomas Preud'homme
> 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

RE: [PATCH][2/3] Fix PR54733 Optimize endian independent load/store

2014-04-23 Thread Thomas Preud'homme
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

RE: [PATCH][3/3] Fix PR54733 Optimize endian independent load/store

2014-04-23 Thread Thomas Preud'homme
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

RE: [PATCH][2/3] Fix PR54733 Optimize endian independent load/store

2014-04-24 Thread Thomas Preud'homme
> > 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

<    1   2   3