Re: [PATCH, ARM, RFC] Fix vect.exp failures for NEON in big-endian mode

2013-03-01 Thread Paul Brook
> > Do I understand correctly that the "only" issue is memory vs. register > > element ordering? Thus a fixup could be as simple as extra shuffles > > inserted after vector memory loads and before vector memory stores? > > (with the hope of RTL optimizers optimizing those)? > > It's not even nece

Re: [PATCH, ARM, RFC] Fix vect.exp failures for NEON in big-endian mode

2013-03-04 Thread Paul Brook
> > > I can't exactly remember why we didn't do that to start with. I > > > think the problem was ABI-related, or to do with transferring NEON > > > vectors to/from ARM registers when it was necessary to do that... > > > I'm planning to do some archaeology to try to see if I can figure > > > out a

Re: [PATCH, ARM, RFC] Fix vect.exp failures for NEON in big-endian mode

2013-03-04 Thread Paul Brook
> I somehow missed the "Appendix A: Support for Advanced SIMD Extensions" > in the AAPCS document (it's not in the TOC!). It looks like the > builtin vector types are indeed defined to be stored in memory in > vldm/vstm order -- I think that means we're back to square one. There's still the possib

Re: [patch] C6X unwinding/exception handling

2011-10-17 Thread Paul Brook
> I checked the attached patch, test results at > http://gcc.gnu.org/ml/gcc-testresults/2011-10/msg01377.html > > which are the same as with my suggested patch. > > Ok for the trunk? I probably don't have authority to approve this, but looks OK to me. Paul

[PATCH] Miscompilation of __attribute__((constructor)) functions.

2011-10-27 Thread Paul Brook
ready logic to make sure we keep the original. My guess is this bug is probably latent in other IPA passes. Tested on mips-linux and bootstrap+test x86_64-linux Ok? Paul 2011-10-27 Paul Brook gcc/ * cgraphunit.c: Don't mark clones as static constructors. gcc

Re: [PATCH] Miscompilation of __attribute__((constructor)) functions.

2011-10-31 Thread Paul Brook
> Ok if you move the clearing to after > > /* Generate a new name for the new version. */ > DECL_NAME (new_decl) = clone_function_name (old_decl, clone_name); > SET_DECL_ASSEMBLER_NAME (new_decl, DECL_NAME (new_decl)); > SET_DECL_RTL (new_decl, NULL); > > using new_decl directly, thus add

Re: [RFA/ARM][Patch 01/02]: Thumb2 epilogue in RTL

2011-11-07 Thread Paul Brook
> > >+strcpy (pattern, \"fldmfdd\\t\"); > > >+strcat (pattern, > > >+reg_names[REGNO (SET_DEST (XVECEXP (operands[0], 0, > > >0)))]); +strcat (pattern, \"!, {\"); > > >+strcat (pattern, table[(REGNO (XEXP (XVECEXP (operands[0], 0, 1), > > >0)) +

Re: RTABI half-precision conversion functions (ping)

2012-07-19 Thread Paul Brook
> Hi, > > The patch that Andrew Stubbs sent upstream here: > > http://gcc.gnu.org/ml/gcc-patches/2011-04/msg02130.html > > seems to have become stalled after Ramana's question here: > > http://gcc.gnu.org/ml/gcc-patches/2011-05/msg00291.html > > This was discussed with ARM personnel (i.e. Lee

Re: [Patch, ARM][0/8] Epilogue in RTL: introduction (Sameera's patches, Part I)

2012-05-31 Thread Paul Brook
> Testing: > * Crossbuild for target arm-none-eabi with cpu cortex-a9 neon softfp and > tested in three configuration: -marm (default), -mthumb, -mapcs-frame. No > regression on qemu. > * Crossbuild for target arm-none-eabi thumb2 with cpu cortex-m3. No > regression on qemu. > * Crossbuild for targ

ARM 64-bit shift ICE

2011-09-19 Thread Paul Brook
we proceed as before. Tested on arm-none-eabi Applied to svn. Paul 2011-09-19 Paul Brook gcc/ * config/arm/predicates.md (shift_amount_operand): Check constant shift count is in range. (const_shift_

Re: RFC: ARM: Add comment enumerating emitted .eabi_attribute tags

2011-09-27 Thread Paul Brook
> Hi Nick, > > On 27 September 2011 15:38, Nick Clifton wrote: > > Any comments or objections to this patch ? If not, I will apply it > > next week. > > I've got a few objections to this patch as it stands today while I > don't object to the motivation for it. > > > +/* Get the definitions o

Re: RFC: ARM: Add comment enumerating emitted .eabi_attribute tags

2011-09-27 Thread Paul Brook
>2. Abandon using a header file at all. Instead use a configure test > to see if we are using an assembler that supports textual names in a > .eabi_attribute directive and if so use the names rather than the numbers. I'm not sure this is mutually exclusive with using a header file, but using

Fix C6x 24-bit unwinding opcodes

2011-10-03 Thread Paul Brook
. Applied to svn trunk. Paul 2011-10-03 Paul Brook libgcc/ * unwind-arm-common.inc: Handle ID3/4 unwinding data. Index: libgcc/unwind-arm-common.inc === --- libgcc/unwind-arm-common.inc(revision 179178) +++ libgcc

[PATCH] Fix c6x unwinding info

2011-10-03 Thread Paul Brook
Patch below makes gcc emit the resuired assembly directives for c6x unwinding tables, same as ARM and IA64. This fixes most of the unwinding related failures. Tested on c6x-elf Ok? Paul 2011-10-03 Paul Brook * config/c6x/c6x.c (c6x_asm_emit_except_personality

Re: [PATCH] Fix c6x unwinding info

2011-10-03 Thread Paul Brook
> On 10/03/11 17:57, Paul Brook wrote: > > Patch below makes gcc emit the resuired assembly directives for c6x > > unwinding tables, same as ARM and IA64. This fixes most of the > > unwinding related failures. > > Most? There are a number of failures in g++.dg/torture

Re: [PATCH][ARM] Fix broken shift patterns

2011-10-06 Thread Paul Brook
> I believe this patch to be nothing but an improvement over the current > state, and that a fix to the constraint problem should be a separate patch. > > In that basis, am I OK to commit? One minor nit: > (define_special_predicate "shift_operator" >... >+ (ior (match_test "GET_CODE (XEXP (

Re: [PATCH][ARM] Fix broken shift patterns

2011-10-07 Thread Paul Brook
> Oh, I forgot to say, I don't understand why the "rotate" operator is > special cased? > > If I understand it correctly, the effect of the (existing) rotate is > both to check the constant range, AND to disallow registers as the shift > amount. This difference has no effect on Thumb, but might ca

Re: [PATCH][ARM] Fix broken shift patterns

2011-10-07 Thread Paul Brook
> Done, and attached. Ok. Two changes to the testcase that I'll pre-approve: - Add a comment along the lines of /* ARM has shift-and-alu insns. Depending on the ALU op GCC represents some of these as a left shift, others as a multiply. Check that we match the right one. */ - Also test

Re: [patch] C6X unwinding/exception handling

2011-10-10 Thread Paul Brook
> Index: libjava/exception.cc > === > --- libjava/exception.cc (revision 179739) > +++ libjava/exception.cc (working copy) > @@ -135,6 +135,7 @@ > { >_Unwind_Ptr Start; >_Unwind_Ptr LPStart; > + _Unwind_Ptr ttype_ba

Re: AW: [PATCH] eh_personality.cc: unwinding on ARM

2012-03-19 Thread Paul Brook
> while I have your attention: what is an virtual unwind frame? ;) No such thing exists. Throwing an exception is a muti-stage process. It requires unwinding the stack frame twice, taking different actions in the process. "Forced" unwinding and backtracing add extra complications. The _US_*

Re: [PATCH] Prevent frame-related insn from occurring in delay slots of insns that throw

2012-01-29 Thread Paul Brook
> On 01/29/2012 07:57 AM, Tom de Vries wrote: > > Richard, > > > > [now cc-ing gcc-patches] > > > > this patch fixes PR50283 in a target-independent way. > > > > it asserts on frame-related insns in the delay slot of insns that can > > throw, and prevents the assert by testing for the same condi

Re: [PATCH] Prevent frame-related insn from occurring in delay slots of insns that throw

2012-01-29 Thread Paul Brook
> On 01/30/2012 11:07 AM, Paul Brook wrote: > > It's worth noting that -fasync-unwind-tables does not guarantee > > backtrace/unwind from arbitrary points. Only from those instructions > > that may result in a synchronous trap (which matches the semantics of > >

ARM Cortex-R5 support

2011-06-01 Thread Paul Brook
time. Tested on arm-none-eabi Applied to SVN head. Paul 2011-06-01 Paul Brook gcc/ * config/arm/arm-cores.def: Add cortex-r5. Add DIV flags to Cortex-A15. * config/arm/arm-tune.md: Regenerate. * config/arm/arm-tables.opt: Regenerate. * config/arm/

Re: [PATCH, ARM] Fix ABI for double-precision helpers on single-float-only CPUs

2011-06-02 Thread Paul Brook
> gcc/ > * config/arm/arm.c (arm_libcall_uses_aapcs_base) > (arm_init_cumulative_args): Use correct ABI for double-precision > helper functions in hard-float mode if only single-precision > arithmetic is supported in hardware. Ok, though I'd add a bit more explanation to the co