Re: RFC: Patch to implement Aarch64 SIMD ABI

2018-07-25 Thread Steve Ellcey
TARGET_HARD_REGNO_CALL_PART_CLOBBERED but I would have to extend it to include the call instruction as an argument so the the code could determine if the call being made was to a simd or non-simd function. Steve Ellcey sell...@cavium.com 2018-07-25  Steve Ellcey   * config/aarch64/aarch64.c

Re: [Patch] [Aarch64] PR 86538 - Define __ARM_FEATURE_LSE if LSE is available

2018-07-24 Thread Steve Ellcey
e call generated in nptl/pthread_spin_lock.c.  That would be useful if we built a lipthread specifically for a platform that had LSE. Steve Ellcey sell...@cavium.com

[Patch] [Aarch64] PR 86538 - Define __ARM_FEATURE_LSE if LSE is available

2018-07-24 Thread Steve Ellcey
?  Is this a useful feature to have in GCC? Steve Ellcey sell...@cavium.com 2018-07-24  Steve Ellcey   PR target/86538 * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add define of __ARM_FEATURE_LSE. diff --git a/gcc/config/aarch64/aarch64-c.c b/gcc/config/aarch64

Re: RFC: Patch to implement Aarch64 SIMD ABI

2018-07-23 Thread Steve Ellcey
testing but any feedback on what I have so far would be helpful. Steve Ellcey sell...@cavium.com 2018-07-23  Steve Ellcey   * config/aarch64/aarch64.c (aarch64_attribute_table): New array. (aarch64_simd_decl_p): New function. (aarch64_reg_save_mode): New function

Re: RFC: Patch to implement Aarch64 SIMD ABI

2018-07-20 Thread Steve Ellcey
On Fri, 2018-07-20 at 11:11 +, Wilco Dijkstra wrote: > Steve Ellcey wrote: > > > Yes, I see where I missed this in aarch64_push_regs > > and aarch64_pop_regs.  I think that is why the second of > > Wilco's two examples (f2) is wrong.  I am unclear about > > exac

Re: RFC: Patch to implement Aarch64 SIMD ABI

2018-07-19 Thread Steve Ellcey
why the second of Wilco's two examples (f2) is wrong.  I am unclear about exactly what is meant by writeback and why we have it and how that and callee_adjust are used.  Any chance someone could help me understand this part of the prologue/epilogue code better?  The comments in aarch64.c/aarch64.h

RFC: Patch to implement Aarch64 SIMD ABI

2018-07-18 Thread Steve Ellcey
to generate this code I would appreciate some ideas.  Just doing lots of calculations with lots of intermediate values doesn't seem to be enough. Steve Ellcey sell...@cavium.com [1] https://developer.arm.com/products/software-development-tools/hpc/arm-compiler-for-hpc/vector-function-abi 2018-07-18

Re: RFC: lra-constraints.c and TARGET_HARD_REGNO_CALL_PART_CLOBBERED question/patch

2018-07-12 Thread Steve Ellcey
) and use that to set 'actual_call_used_reg_set'.  In process_bb_live we know exactly what function we are calling and can check to see if it is a 'normal' function or a SIMD function. Steve Ellcey sell...@cavium.com

RFC: lra-constraints.c and TARGET_HARD_REGNO_CALL_PART_CLOBBERED question/patch

2018-07-11 Thread Steve Ellcey
look at this patch and tell me if it seems reasonable or not.  It passed bootstrap and I am running tests now. I am just wondering if there is any reason why this target function would need to be called on non-call instructions or if doing so is just an oversight/bug. Steve Ellcey sell

Re: [Patch] Do not call the linker if we are creating precompiled header files

2018-06-22 Thread Steve Ellcey
t=$T/install -Wl,--dynamic-linker=$T/install/lib/ld-linux-aarch64.so.1 -Wl,- rpath=$T/install/lib64'" and without my patch a number of pch tests fail. Steve Ellcey sell...@cavium.com 2018-06-22  Steve Ellcey   * gcc.h (driver): Add explicit_link_args field. * gcc.c (driver::drive

Re: [Patch] Do not call the linker if we are creating precompiled header files

2018-06-19 Thread Steve Ellcey
On Fri, 2018-06-08 at 11:17 +, Joseph Myers wrote: > On Wed, 2 May 2018, Steve Ellcey wrote: > > > > > I tracked this down to driver::maybe_run_linker where it sees the linker > > flags and increments num_linker_inputs, this causes the routine to call > > t

Re: [Patch][Aarch64][PR target/79924] Cannot translate diagnostics

2018-06-05 Thread Steve Ellcey
patch yet though so I will fix that before doing the checkin. Steve Ellcey sell...@cavium.com

Re: [Patch][Aarch64][PR target/79924] Cannot translate diagnostics

2018-06-05 Thread Steve Ellcey
se, but someone else will need to approve. > > Thanks, > Richard Here is an updated version with the quotes put back (using %qs) and the long lines split up.  Retested with no regressions. Steve Ellcey sell...@cavium.com 2018-06-05  Steve Ellcey   PR target/79924 * config/

Re: [Patch][Aarch64][PR target/79924] Cannot translate diagnostics

2018-06-04 Thread Steve Ellcey
Ping. Steve Ellcey sell...@cavium.com On Thu, 2018-01-11 at 15:44 -0800, Steve Ellcey wrote: > This is a patch for PR target/79924, which says the error messages > called from aarch64_err_no_fpadvsimd cannot be translated due to > how they are constructed.  To make them tra

Re: [Patch] Do not call the linker if we are creating precompiled header files

2018-06-04 Thread Steve Ellcey
Ping^2 Steve Ellcey sell...@cavium.com On Thu, 2018-05-17 at 14:50 -0700, Steve Ellcey wrote: > Ping. > > Steve Ellcey > sell...@cavium.com > > > On Wed, 2018-05-02 at 12:47 -0700, Steve Ellcey wrote: > > > > This is a new version of a patch I sent out last

Re: [Patch] Do not call the linker if we are creating precompiled header files

2018-05-17 Thread Steve Ellcey
Ping. Steve Ellcey sell...@cavium.com On Wed, 2018-05-02 at 12:47 -0700, Steve Ellcey wrote: > This is a new version of a patch I sent out last year to stop gcc from > trying to do a link when creating precompiled headers and a linker > flag is also given. > > When I build and

Re: [PATCH] Add constant folding support for next{after,toward}{,f,l} (PR libstdc++/85466)

2018-05-10 Thread Steve Ellcey
I think this patch is causing a glibc testing error.  The tests math/bug-nextafter and math/bug-nexttoward are failing due to underflow not getting set.  Here is a test case that should print nothing but is currently printing the 'did not underflow' message. #include #include #include

Re: [PATCH, aarch64] Patch to update pipeline descriptions in thunderx2t99.md

2018-05-09 Thread Steve Ellcey
issue. > > Thanks, > Andrew OK, I checked into that and undid the change to thunderx2t99_loadpair and fixed thunderx2t99_asimd_load1_ldp to match it.  Everything else is the same. Steve Ellcey sell...@cavium.com 2018-05-09  Steve Ellcey  <sell...@cavium.com>

[PATCH, aarch64] Patch to update pipeline descriptions in thunderx2t99.md

2018-05-04 Thread Steve Ellcey
and correct schedule file for T99. Steve Ellcey sell...@cavium.com 2018-05-04  Steve Ellcey  <sell...@cavium.com> * config/aarch64/thunderx2t99.md (thunderx2t99_ls_both): Delete. (thunderx2t99_multiple): Delete psuedo-units from used cpus. Add u

[Patch] Do not call the linker if we are creating precompiled header files

2018-05-02 Thread Steve Ellcey
Ellcey sell...@cavium.com 2018-05-02  Steve Ellcey  <sell...@cavium.com> * gcc.c (create_pch_flag): New variable. (driver::prepare_infiles): Set create_pch_flag when we are creating precompiled headers. (driver::maybe_run_linker): Do no

[Patch] Document __builtin_extend_pointer

2018-02-20 Thread Steve Ellcey
and follow up comments. Should I go ahead and add this documentation? 2018-02-20  Steve Ellcey  <sell...@cavium.com> * doc/extend.texi (__builtin_extend_pointer): Document builtin. diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index d38840e..94e47aa 100644 --- a/gcc/doc/exten

Re: [Patch][aarch64][PR target/83335] Fix regression, ICE on gcc.target/aarch64/asm-2.c

2018-02-16 Thread Steve Ellcey
the code change I updated asm-2.c with the error message that you getin ILP32 mode and I added asm-4.c which does not give an error message in either LP64 or ILP32 mode. Steve Ellcey sell...@cavium.com 2018-02-16  Steve Ellcey  <sell...@cavium.com> PR target/83335 *

[Patch][Aarch64][PR target/79924] Cannot translate diagnostics

2018-01-11 Thread Steve Ellcey
for it to be there. Tested with no regressions, OK to checkin? Steve Ellcey sell...@cavium.com 2018-01-11  Steve Ellcey  <sell...@cavium.com> PR target/79924 * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): Remove second argument. * config/aarch64/aarch64-pro

[Patch][aarch64][PR target/83335] Fix regression, ICE on gcc.target/aarch64/asm-2.c

2018-01-05 Thread Steve Ellcey
. Verified that it fixed gcc.target/aarch64/asm-2.c in ILP32 mode and that it caused no regressions. Steve Ellcey sell...@cavium.com 2018-01-05  Steve Ellcey  <sell...@cavium.com> PR target/83335 * config/aarch64/aarch64.c (aarch64_print_address_internal): Allow non

[Patch][aarch64][PR target/83466] Fix SYMBOL_SMALL_TLSDESC address calculation in ILP32 mode

2018-01-04 Thread Steve Ellcey
in both LP64 and ILP32 modes). OK to checkin? Steve Ellcey sell...@cavium.com 2018-01-04  Steve Ellcey  <sell...@cavium.com> PR target/83466 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Do address calculation in ptr_mode instead of Pmode. diff

[Patch][aarch64] Fix thunderx2-t99 instruction scheduling pipeline descriptions.

2018-01-04 Thread Steve Ellcey
Ellcey sell...@cavium.com 2018-01-04  Steve Ellcey  <sell...@cavium.com> * config/aarch64/thunderx2-t99.md (thunderx2t99_ls_both): Delete. (thunderx2t99_multiple) Delete psuedo-units from used cpus. (thunderx2t99_loadpair) Fix cpu unit or

Re: [Patch][Aarch64] Fix multi-arch support in ILP32 mode

2017-12-21 Thread Steve Ellcey
On Thu, 2017-12-21 at 23:54 +0100, Matthias Klose wrote: > On 21.12.2017 22:59, Steve Ellcey wrote: > >  > > > As far as I understand it from Linaro connect and conversations with > > > Debian/Ubuntu port maintainers, the correct triplet should be: > > >

Re: [Patch][Aarch64] Fix multi-arch support in ILP32 mode

2017-12-21 Thread Steve Ellcey
On Thu, 2017-12-21 at 20:55 +, James Greenhalgh wrote: > On Thu, Dec 21, 2017 at 06:56:22PM +0000, Steve Ellcey wrote: > > > > This one line patch for multi-arch support on Aarch64 and ILP32 was > > submitted over a year ago and pinged a number of time since then,

[Patch][Aarch64] Fix multi-arch support in ILP32 mode

2017-12-21 Thread Steve Ellcey
This one line patch for multi-arch support on Aarch64 and ILP32 was submitted over a year ago and pinged a number of time since then, since no one has objected and since it is only one line I am going to check it in as an obvious fix. Steve Ellcey sell...@cavium.com 2017-12-21  Andrew Pinski

[Patch][Aarch64] Fix aarch64 libatomic build with older binutils

2017-12-07 Thread Steve Ellcey
 ACX_PROG_CC_WARNING_OPTS macro to test this.  This will cause the GCC being built to send the option in question to the assembler and if the assembler complains that is enough to cause us to not set enable_aarch64_lse, and thus not set try_ifunc. Steve Ellcey sell...@cavium.com 2017-12-07  Steve Ellcey  <s

Re: [Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-12-07 Thread Steve Ellcey
unction ? > > Thanks, > James It should be possible to check for assembler support.  I will work on a patch to do that. Steve Ellcey sell...@cavium.com

Re: [Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-12-04 Thread Steve Ellcey
FYI: Since James approved the Aarch64 part and since I think the generic part can be considered trivial, I have gone ahead and checked this patch in. Steve Ellcey sell...@cavium.com On Tue, 2017-11-28 at 16:12 -0800, Steve Ellcey wrote: > On Tue, 2017-11-21 at 17:35 +, James Greenhalgh wr

Re: [Patch][aarch64] Add missing thunderx2-t99 instruction scheduling pipeline descriptions.

2017-12-04 Thread Steve Ellcey
ould honor backslashes so I didn't break it up.  The falkor_extra definition in falkor.md that I looked at is more than 80 characters and that is one of the reasons I wasn't sure backslashes would be honored.  But I see other places (power8.md) where the backslashes are used so I will make that change if and when the patch is approved. Steve Ellcey sell...@cavium.com

[Patch][aarch64] Add missing thunderx2-t99 instruction scheduling pipeline descriptions.

2017-12-01 Thread Steve Ellcey
with no regressions on a thunderx2. I know we are in stage3 but I hope this type of plaform specific change is still OK to checkin. Steve Ellcey sell...@cavium.com 2017-11-30  Steve Ellcey  <sell...@cavium.com> * config/aarch64/thunderx2-t99.md (thunderx2t99_branch): Ad

Re: [PATCH][AArch64] Fix address printing on ILP32

2017-11-30 Thread Steve Ellcey
/ > * gcc.dg/asm-4.c: Skip on AArch64 with ILP32 as test is incorrect. > This fixed the build problems on my system with ILP32. Steve Ellcey sell...@cavium.com

Re: [PATCH][AArch64] Fix ICE due to store_pair_lanes

2017-11-29 Thread Steve Ellcey
FYI: Here is a cut down test case showing the failure: int foo (void) { } extern void plunk (); int splat (void) {   static int once = 0;   plunk (, foo); } % obj/gcc/gcc/cc1 -mabi=ilp32 -O2 -quiet x.i during RTL pass: final x.i: In function ‘splat’: x.i:7:1: internal compiler error:

Re: [PATCH][AArch64] Fix ICE due to store_pair_lanes

2017-11-29 Thread Steve Ellcey
-elf/gcc1/aarch64_be-none-elf/ilp32/libgcc' > make[3]: *** [multi-do] Error 1 I am seeing this failure too, on my aarch64-linux-gnu build where I have ILP32 enabled. Steve Ellcey sell...@cavium.com

Re: [Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-11-28 Thread Steve Ellcey
' so there is no real change for any other platform. Steve Ellcey sell...@cavium.com

[Patch][aarch64][committed] Fix test broken by patch for PR target/81356

2017-11-20 Thread Steve Ellcey
of XPASS by removing aarch64 from the list of expected failures. Steve Ellcey sell...@cavium.com 2017-11-20  Steve Ellcey  <sell...@cavium.com> PR target/81356 * gfortran.dg/pr45636.f90 (aarch64*-*-*): Remove from xfail list. diff --git a/gcc/testsuite/gfortran.dg/pr45636.f90

Re: [PATCH][aarch64] Fix pr81356 - copy empty string with wrz, not a ldrb/strb

2017-11-20 Thread Steve Ellcey
wprop2 > "memset" 0 (found 2 times) > > Is it expected? > > Christophe I think it is.  I hadn't seen this failure before but I may not have tested my change with Fortran.  I am going to consider fixing this an obvious change and will check in the fix (removing aarch

Re: [Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-11-20 Thread Steve Ellcey
csetw0, eq   1c: 3440  cbz w0, 24 <libat_compare_exchange_8+0x24>   20: d65f03c0  ret   24: f924  str x4, [x1]   28: d65f03c0  ret   2c: d503201f  nop Steve Ellcey sell...@cavium.com

Re: [Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-11-20 Thread Steve Ellcey
Re-ping with a CC to the Aarch64 maintainers. Steve Ellcey sell...@cavium.com On Tue, 2017-10-24 at 11:11 -0700, Steve Ellcey wrote: > Ping. > > Steve Ellcey > sell...@cavium.com > > On Tue, 2017-10-03 at 11:57 -0700, Steve Ellcey wrote: > > > > On Mon, 2017-

Re: [PATCH][aarch64] Fix pr81356 - copy empty string with wrz, not a ldrb/strb

2017-11-15 Thread Steve Ellcey
re-re-ping. Steve Ellcey sell...@cavium.com On Tue, 2017-10-24 at 11:16 -0700, Steve Ellcey wrote: > Re-ping. > > Steve Ellcey > sell...@cavium.com > > On Mon, 2017-09-25 at 10:36 -0700, Steve Ellcey wrote: > > > > Ping. > > > > Steve Ellcey > &g

Re: [PATCH][aarch64] Put vector fnma instruction into canonical form for better code generation.

2017-11-15 Thread Steve Ellcey
Re-ping with an added cc to the aarch64 maintainers. Steve Ellcey On Tue, 2017-10-24 at 11:06 -0700, Steve Ellcey wrote: > Ping. > > Steve Ellcey > > On Fri, 2017-10-06 at 14:01 -0700, Steve Ellcey wrote: > > > > This patch is a follow up to a discussion at: >

Re: [Patch] Don't call linker when creating pre-compiled header just because you saw a linker option

2017-11-14 Thread Steve Ellcey
'gcc foo.h main.c' so now I only skip the link phase when creating pch's is the only thing being done. Steve Ellcey sell...@cavium.com 2017-11-14  Steve Ellcey  <sell...@cavium.com> * gcc.c (create_pch_flag): New variable. (driver::prepare_infiles): Set create_pch_fl

[Patch] Don't call linker when creating pre-compiled header just because you saw a linker option

2017-11-14 Thread Steve Ellcey
d got no regressions, OK to checkin? 2017-11-14  Steve Ellcey  <sell...@cavium.com> * gcc.c (driver::maybe_run_linker): Ignore linker options when checking for linker inputs. diff --git a/gcc/gcc.c b/gcc/gcc.c index 43e6d59..61c7561 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -

Re: [PATCH PR79868 ][aarch64] Fix error calls in aarch64 code so they can be translated (version 2)

2017-10-31 Thread Steve Ellcey
1569.html using '%<target(\"cpu=\")%>' was also suggested by Martin in that same thread at: https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01277.html https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01469.html as being more consistent with other usage (mainly config/i386/i386.c). Steve Ellcey sell...@cavium.com

Re: [PATCH PR79868 ][aarch64] Fix error calls in aarch64 code so they can be translated (version 2)

2017-10-30 Thread Steve Ellcey
ighting it's > trivial to tell which subcase of usage is being referred to. > > R. I have no problem with that.  Here is a version that uses "pragma or attribute". Tested on ToT with no regressions.  Ok to checkin? Steve Ellcey sell...@cavium.com ChangeLog: 2017-10-30  Steve

Re: [PATCH][aarch64] Fix target/pr77729 - missed optimization related to zero extension

2017-10-24 Thread Steve Ellcey
Ping.  There was discussion of larger fixes for this including a type promotion pass but this patch seems small, safe, and in line with other platforms (like arm32). Steve Ellcey sell...@cavium.com On Thu, 2017-09-14 at 11:43 -0700, Steve Ellcey wrote: > On Thu, 2017-09-14 at 11:53 -0600, J

Re: [PATCH][aarch64] Fix pr81356 - copy empty string with wrz, not a ldrb/strb

2017-10-24 Thread Steve Ellcey
Re-ping. Steve Ellcey sell...@cavium.com On Mon, 2017-09-25 at 10:36 -0700, Steve Ellcey wrote: > Ping. > > Steve Ellcey > sell...@cavium.com > > > On Fri, 2017-09-15 at 11:22 -0700, Steve Ellcey wrote: > > > > PR 81356 points out that doing a __

Re: [Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-10-24 Thread Steve Ellcey
Ping. Steve Ellcey sell...@cavium.com On Tue, 2017-10-03 at 11:57 -0700, Steve Ellcey wrote: > On Mon, 2017-10-02 at 15:38 +0100, Szabolcs Nagy wrote: > > > >   > > looks good to me, but i cannot approve. > > > > (this will make libatomic depend on ifuncs on aa

Re: [PATCH][aarch64] Put vector fnma instruction into canonical form for better code generation.

2017-10-24 Thread Steve Ellcey
Ping. Steve Ellcey On Fri, 2017-10-06 at 14:01 -0700, Steve Ellcey wrote: > This patch is a follow up to a discussion at: > > https://gcc.gnu.org/ml/gcc/2017-06/msg00126.html > > For some reason the simd version of fnma in aarch64-simd.md > is not in the canonical form

Re: [PATCH PR79868 ][aarch64] Fix error calls in aarch64 code so they can be translated (version 2)

2017-10-24 Thread Steve Ellcey
Thanks for looking at this Frederic,  I don't see your name in the MAINTAINERS list so I assume I still need approval from one of the diagnostic message maintainers (Dodji or David) or maybe an Aarch64 maintainer or a global maintainer. Ping? Steve Ellcey sell...@cavium.com On Sun, 2017-10-08

Re: [PATCH PR79868 ][aarch64] Fix error calls in aarch64 code so they can be translated (version 2)

2017-10-06 Thread Steve Ellcey
Ping. Steve Ellcey sell...@cavium.com On Mon, 2017-09-25 at 16:25 -0700, Steve Ellcey wrote: > This is a new version of my patch to fix PR target/79868, where some > error messages are impossible to translate correctly due to how the > strings are dynamically constructed.  It also incl

[PATCH][aarch64] Put vector fnma instruction into canonical form for better code generation.

2017-10-06 Thread Steve Ellcey
code generation (an extra dup instruction). I have moved the 'neg', rebuilt GCC and retested with this patch There were no regressions.  OK to checkin? 2017-10-06  Steve Ellcey  <sell...@cavium.com> * config/aarch64/aarch64-simd.md (fnma4): Move neg operator to can

Re: [PATCH] Fix PR82396: qsort comparator non-negative on sorted output

2017-10-05 Thread Steve Ellcey
ti_mem_insns.  Would please interested parties help me > test it? > > Comments? This patch is not applying to my ToT.  The code in autopref_rank_for_schedule doesn't seem to match what I have in my tree. Steve Ellcey

Re: [PATCH] Fix PR82396: qsort comparator non-negative on sorted output

2017-10-05 Thread Steve Ellcey
t on this email to see if one on them can review/approve Wilco's patch which was applied and then reverted.  If not, can one of the global maintainers revert the original patch that broke the bootstrap? Steve Ellcey sell...@cavium.com

Re: [PATCH][AArch64] Add BIC-imm and ORR-imm SIMD pattern

2017-10-04 Thread Steve Ellcey
On Wed, 2017-10-04 at 16:41 +0100, Richard Earnshaw (lists) wrote: > On 02/10/17 10:05, Sudi Das wrote: > >  > > 2017-10-02 Sudakshina Das   > > > > * config/aarch64/aarch64-protos.h (enum simd_immediate_check): New > > check type > > for aarch64_simd_valid_immediate. >

Re: [Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-10-03 Thread Steve Ellcey
s been fixed but it involved a change to libatomic/ibatomic_i.h that conflicted with this patch so I am including an updated version that will apply cleanly to the top of tree.  Only libatomic_i.h changed. Steve Ellcey sell...@cavium.com 2017-10-03  Steve Ellcey  <sell...@cavium.com>

Re: [PATCH] avoid ifunc warnings in libatomic configure

2017-10-02 Thread Steve Ellcey
anges I can take > mine out. > > Martin I haven't submitted anything for this problem.  This patch fixed things for my aarch64 build.  I definitely needed the libatomic_i.h changes as well as the configure change. Steve Ellcey sell...@cavium.com

Re: [PATCH] detect incompatible aliases (PR c/81854)

2017-10-02 Thread Steve Ellcey
On Wed, 2017-09-20 at 08:37 -0700, Steve Ellcey wrote: > On Tue, 2017-09-19 at 09:16 -0600, Martin Sebor wrote: > > On 09/18/2017 03:44 PM, Joseph Myers wrote: > > > On Mon, 18 Sep 2017, Martin Sebor wrote: > > > > It's meant as an escape hatch.  It allows d

Re: [Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-09-29 Thread Steve Ellcey
rences, and changed HWCAP_TYPE to IFUNC_RESOLVER_ARGS. Here is the new patch, tested with no regressions. Steve Ellcey sell...@cavium.com 2017-09-29  Steve Ellcey  <sell...@cavium.com> * Makefile.am (ARCH_AARCH64_LINUX): Add IFUNC_OPTIONS and libatomic_la_LIBADD. * config/l

Re: [reviewed] qsort comparator consistency checking

2017-09-29 Thread Steve Ellcey
On Fri, 2017-09-29 at 21:43 +0200, Christophe Lyon wrote: > On 29 September 2017 at 21:39, Steve Ellcey <sell...@cavium.com> > wrote: > > > > On Fri, 2017-09-29 at 21:14 +0300, Alexander Monakov wrote: > > > > > >

Re: [reviewed] qsort comparator consistency checking

2017-09-29 Thread Steve Ellcey
tch ranking heuristic is still wrong if > multi_mem_insn_p > may be true; please try this patch. > > * haifa-sched.c (autopref_rank_data): Remove. > (autopref_rank_for_schedule): Only use min_offset difference. This fixed the build for me on aarch64.  I am still running the testsuite. Steve Ellcey sell...@cavium.com

Re: [Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-09-27 Thread Steve Ellcey
Ping. Steve Ellcey sell...@cavium.com On Thu, 2017-08-31 at 10:24 -0700, Steve Ellcey wrote: > On Tue, 2017-08-29 at 12:25 +0100, Szabolcs Nagy wrote: > > > >   > > in glibc the hwcap is not used, because it has accesses to > > cached dispatch info, but in libatomic u

[PATCH PR79868 ][aarch64] Fix error calls in aarch64 code so they can be translated (version 2)

2017-09-25 Thread Steve Ellcey
and with other GCC errors.  This was worked out with help from Martin Sebor.  I also had to fix some tests to match the new error string formats. Tested on Aarch64 with no regressions, OK to checkin? Steve Ellcey sell...@cavium.com 2017-09-25  Steve Ellcey  <sell...@cavium.com> PR target

Re: [PATCH][aarch64] Fix pr81356 - copy empty string with wrz, not a ldrb/strb

2017-09-25 Thread Steve Ellcey
Ping. Steve Ellcey sell...@cavium.com On Fri, 2017-09-15 at 11:22 -0700, Steve Ellcey wrote: > PR 81356 points out that doing a __builtin_strcpy of an empty string on > aarch64 does a copy from memory instead of just writing out a zero byte. > In looking at this I found that it wa

Re: [PATCH][aarch64] Enable ifunc resolver attribute by default

2017-09-22 Thread Steve Ellcey
On Thu, 2017-09-21 at 12:37 +, Joseph Myers wrote: > On Tue, 5 Sep 2017, Steve Ellcey wrote: > > > > > 2017-09-05  Steve Ellcey  <sell...@cavium.com> > > > > * config.gcc: Add new case statement to set > > default_gnu_indirec

Re: [PATCH][aarch64] Fix error calls in aarch64 code so they can be tranlated

2017-09-22 Thread Steve Ellcey
64/target_attr_12.c gcc.target/aarch64/target_attr_17.c But I thought we should try and get some agreement on the format of the messages before updating the tests.  If we think these changes look good I can submit a final patch that includes the testsuite changes. Steve Ellcey sell...@cavium.com 201

Re: [PATCH][aarch64] Fix error calls in aarch64 code so they can be tranlated

2017-09-20 Thread Steve Ellcey
On Tue, 2017-09-19 at 10:49 -0600, Martin Sebor wrote: > On 09/19/2017 09:54 AM, Steve Ellcey wrote: > > On Tue, 2017-09-19 at 09:50 +0200, Frédéric Marchal wrote: > > >  > > > > > > > >    error (is_pragma > > > >

Re: [PATCH] detect incompatible aliases (PR c/81854)

2017-09-20 Thread Steve Ellcey
7-09/msg00285.html Steve Ellcey sell...@cavium.com

Re: [PATCH] detect incompatible aliases (PR c/81854)

2017-09-20 Thread Steve Ellcey
unction" != xyes &&    test x"$multi_arch" = xyes; then   AC_MSG_WARN([--enable-multi-arch support recommends a gcc with gnu- indirect-function support. Please use a gcc which supports it by default or configure gcc with -- enable-gnu-indirect-function]) fi Steve Ellcey sell...@cavium.com

Re: [PATCH] detect incompatible aliases (PR c/81854)

2017-09-20 Thread Steve Ellcey
Interesting new data point.  aarch64 GCC does not enable the resolver/indirect function feature by default (--enable-gnu-indirect- function is not set by default).  If I enable this on the GCC build then GCC can build glibc.  Without it, the glibc build fails. Steve Ellcey sell...@cavium.com

Re: [PATCH] detect incompatible aliases (PR c/81854)

2017-09-20 Thread Steve Ellcey
On Wed, 2017-09-20 at 10:17 -0600, Martin Sebor wrote: >  > The comment copied below from sysdeps/aarch64/multiarch/memmove.c > suggests this might be deliberate: > > /* Redefine memmove so that the compiler won't complain about the > type > mismatch with the IFUNC selector in strong_alias,

Re: [PATCH] detect incompatible aliases (PR c/81854)

2017-09-20 Thread Steve Ellcey
ne in r252976. > > Thanks > Martin This patch is causing my gcc/glibc ToT build to fail on aarch64.  I am not sure if everything should be working at this point or not or if there is more that needs to be done.  The problem is with the memcpy, memmove, etc. ifuncs on aarch64. Steve Ellcey se

Re: [PATCH][aarch64] Fix error calls in aarch64 code so they can be tranlated

2017-09-19 Thread Steve Ellcey
t; Frederic Are '%<...%>' described somewhere?  These aren't normal printf options are they?  I don't think I have ever used them before.  I am also not sure why you have '%s=' means vs. '%s'.  Is it even worth breaking the word 'arch' out of the string vs. having something like: error (is_pragma ? G_("missing name in %<#pragma target \"arch\"%>) : G_("missing name in % attribute")); Steve Ellcey sell...@cavium.com

[PATCH][aarch64] Fix error calls in aarch64 code so they can be tranlated

2017-09-18 Thread Steve Ellcey
patch. OK to checkin? Steve Ellcey sell...@cavium.com 2017-09-18  Steve Ellcey  <sell...@cavium.com> PR target/79868 * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Change argument type on aarch64_process_target_attr call. * config/aarch64/a

[PATCH][aarch64] Fix pr81356 - copy empty string with wrz, not a ldrb/strb

2017-09-15 Thread Steve Ellcey
as well. Bootstrapped and tested without regressions, OK to checkin? Steve Ellcey sell...@cavium.com 2017-09-15  Steve Ellcey  <sell...@cavium.com> PR target/81356 * config/aarch64/aarch64.c (aarch64_use_by_pieces_infrastructure_p):

Re: [PATCH][aarch64] Fix target/pr77729 - missed optimization related to zero extension

2017-09-14 Thread Steve Ellcey
t I thought it helped make it clear what we were doing and the compiler should optimize it away anyway. OK to checkin this fix while we consider longer term options? Steve Ellcey sell...@cavium.com 2017-09-14  Steve Ellcey  <sell...@cavium.com> PR target/77729 *

Re: [PATCH][aarch64] Fix target/pr77729 - missed optimization related to zero extension

2017-09-14 Thread Steve Ellcey
On Thu, 2017-09-14 at 09:03 -0600, Jeff Law wrote: > On 09/13/2017 03:46 PM, Steve Ellcey wrote: > >  > > In arm32 rtl expansion, when reading the QI memory location, I see > > these instructions get generated: > > > > (insn 10 3 11 2 (set (reg:SI 119) > >

Re: [PATCH][aarch64] Fix target/pr77729 - missed optimization related to zero extension

2017-09-13 Thread Steve Ellcey
On Wed, 2017-09-13 at 22:39 +, Wilco Dijkstra wrote: > Steve Ellcey wrote: > > > And in aarch64 rtl expansion I see: > > > > (insn 10 9 11 (set (reg:QI 81) > > (mem:QI (reg/v/f:DI 80 [ string ]) [0 *string_9(D)+0 S1 > A8])) "pr77729.c":3

Re: [PATCH][aarch64] Fix target/pr77729 - missed optimization related to zero extension

2017-09-13 Thread Steve Ellcey
rch64 I only know that I set the bottom 8 bits and I don't know anything about the higher bits, meaning I have to keep the AND instruction to mask out the upper bits on aarch64. I think we should change the movqi/movhi expansions on aarch64 to recognize that the ldrb/ldrh instructions zero out the up

[PATCH] Fix PR target/82066 - target pragma and attribute documentation for ARM, AArch64, and S/390

2017-09-13 Thread Steve Ellcey
This patch fixes the documentation issues pointed out in PR target/82066. It may be considered obvious enough to just check in but I'd rather have someone look it over to make sure I didn't mess something up. Steve Ellcey sell...@cavium.com 2017-09-13  Steve Ellcey  <sell...@cavium.

[PATCH][aarch64] Fix target/pr77729 - missed optimization related to zero extension

2017-09-13 Thread Steve Ellcey
and testsuite run that had no regressions. OK to checkin? 2017-09-13  Steve Ellcey  <sell...@cavium.com> PR target/77729 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle cost of *iorqi3_uxtw instruction. * config/aarch64/aarch64.md (*iorqi3_uxtw

Re: [PATCH] Fix fortran vector tests on powerpc and aarch64, PR tree-optimization/80925

2017-09-12 Thread Steve Ellcey
Ping,  also adding fort...@gcc.gnu.org which I seem to left out when sending this to gcc-patches@gcc.gnu.org. Steve On Fri, 2017-08-25 at 09:46 -0700, Steve Ellcey wrote: > My earlier patch to update tests and resolve PR tree- > optimization/80925 > did not include FORTRAN, jus

Re: [PATCH] Fix PR 81096 (ttest failures)

2017-09-12 Thread Steve Ellcey
On Tue, 2017-09-12 at 09:39 -0700, Ian Lance Taylor wrote: > On Tue, Sep 12, 2017 at 3:59 AM, Wilco Dijkstra <Wilco.Dijkstra@arm.c > om> wrote: > > > > Steve Ellcey wrote: > > > > > > This patch fixes the ttest failures on aarch64 by adding > > &

Re: [PATCH] Fix PR 81096 (ttest failures)

2017-09-12 Thread Steve Ellcey
On Tue, 2017-09-12 at 09:39 -0700, Ian Lance Taylor wrote: > On Tue, Sep 12, 2017 at 3:59 AM, Wilco Dijkstra <Wilco.Dijkstra@arm.c > om> wrote: > > > > Steve Ellcey wrote: > > > > > > This patch fixes the ttest failures on aarch64 by adding > > &

[PATCH] Fix PR 81096 (ttest failures)

2017-09-11 Thread Steve Ellcey
This patch fixes the ttest failures on aarch64 by adding AM_CFLAGS to the test options, like btest already does and as Wilco says works for him in Comment #4 of the bug report. Tested by me on aarch64.  Ok to checkin? Steve Ellcey sell...@cavium.com 2017-09-11  Steve Ellcey  <s

Re: [PATCH][aarch64] Enable ifunc resolver attribute by default

2017-09-05 Thread Steve Ellcey
ting of default_gnu_indirect_function, but I don't think I changed any defaults. Steve Ellcey sell...@cavium.com 2017-09-05  Steve Ellcey  <sell...@cavium.com> * config.gcc: Add new case statement to set default_gnu_indirect_function.  Remove it from x86_64-*-linux*,

Ping on three small aarch64 patches

2017-08-31 Thread Steve Ellcey
) Steve Ellcey sell...@cavium.com

Re: [Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-08-31 Thread Steve Ellcey
it they can change the type if necessary. Steve Ellcey sell...@cavium.com 2017-08-31  Steve Ellcey  <sell...@cavium.com> * Makefile.am (ARCH_AARCH64_LINUX_LSE): Add IFUNC_OPTIONS and libatomic_la_LIBADD. * config/linux/aarch64/host-config.h: New file. * config

Re: [Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-08-30 Thread Steve Ellcey
batomic configure.tgt script as well to set the resolver arg type when I resbumit the gcc libatomic patch so that we can have the correct prototype in libatomic_i.h. Steve Ellcey sell...@cavium.com

Re: [Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-08-28 Thread Steve Ellcey
asm__ (".type " "__libc_memcpy" ", %gnu_indirect_function"); extern __typeof (__libc_memcpy) memcpy __attribute__ ((alias ("__libc_memcpy"))); Steve Ellcey sell...@cavium.com

[PATCH] Fix fortran tests to not print out non-ascii characters

2017-08-25 Thread Steve Ellcey
the problem to these 3 tests that are printing out 0 valued character variables.  The variables are supposed to be 0, because that is what the test is checking for, so my fix is to print out the ichar value of the character variable instead of the variable itself. Steve Ellcey sell...@cavium.com

[PATCH] Fix fortran vector tests on powerpc and aarch64, PR tree-optimization/80925

2017-08-25 Thread Steve Ellcey
My earlier patch to update tests and resolve PR tree-optimization/80925 did not include FORTRAN, just C and C++.  This patch makes the same changes as the earlier patches but for FORTRAN.  Tested on aarch64. OK to checkin? Steve Ellcey sell...@cavium.com Orginal patches/discussion is at: https

Re: [Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-08-24 Thread Steve Ellcey
Ping. > 2017-08-07  Steve Ellcey  <sell...@cavium.com> > > * Makefile.am (ARCH_AARCH64_LINUX_LSE): Add IFUNC_OPTIONS and > libatomic_la_LIBADD. > * config/linux/aarch64/host-config.h: New file. > * config/linux/aarch64/init.c: New file

[Patch][AARCH64] Fix PR 81643 by modifying test case.

2017-08-10 Thread Steve Ellcey
think it is worth the time to find it and so I would like to just remove the check so that the testcase no longer fails. OK for checkin? Tested on aarch64. Steve Ellcey sell...@cavium.com 2017-08-10 Steve Ellcey <sell...@cavium.com> PR target/81643 * gcc.target/a

Re: [Patch] Testsuite fixes for failures caused by patch for PR 80925 - loop peeling and alignment

2017-08-07 Thread Steve Ellcey
the error using that.  I am not sure why. Steve Ellcey sell...@cavium.com On Fri, 2017-08-04 at 16:27 +0200, Rainer Orth wrote: > Richard Biener <richard.guent...@gmail.com> writes: > > > > > On Fri, Jul 28, 2017 at 8:22 PM, Steve Ellcey <sell...@cavium.com> > >

Re: [Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-08-07 Thread Steve Ellcey
It would probably help if I included the patch. Steve Ellcey sell...@cavium.com 2017-08-07  Steve Ellcey  <sell...@cavium.com> * Makefile.am (ARCH_AARCH64_LINUX_LSE): Add IFUNC_OPTIONS and libatomic_la_LIBADD. * config/linux/aarch64/host-config.h: Ne

[Patch][aarch64] Use IFUNCs to enable LSE instructions in libatomic on aarch64

2017-08-07 Thread Steve Ellcey
it is useful, both for testing and for end users. Tested on aarch64, OK for checkin? Steve Ellcey sell...@cavium.com 2017-08-07  Steve Ellcey  <sell...@cavium.com> * Makefile.am (ARCH_AARCH64_LINUX_LSE): Add IFUNC_OPTIONS and libatomic_la_LIBADD. * config/linux/aarch6

<    1   2   3   4   5   6   7   >