PR target/46329: Reject Neon structure constants

Richard Earnshaw rearnsha@arm.com
Tue Apr 19 09:52:00 GMT 2011


On Mon, 2011-04-18 at 11:12 +0100, Richard Sandiford wrote:
> Richard Earnshaw <rearnsha@arm.com> writes:
> > I'm uncomfortable about this.  Generally the ARM port doesn't work well
> > with the target-independent constant pool and it's better to assert that
> > this is empty when it comes to final assembly generation.  Can you
> > clarify by way of example how this patch is working please (ie some
> > sample output).
> 
> Sure, for the testcase in the PR, we get:
> 
>         ldr     r8, .L3
>         vldmia  r8, {d16-d19}
>         ...
> .L3:
>         .word   .LC0
>         ...
> .LC0:
>         .word   0
>         [x 7]
> 
> (this is at -O0).  With -fPIC we get:
> 
>         ldr     r3, .L3
> .LPIC0:
>         add     r3, pc, r3
>         vldmia  r3, {d16-d19}
>         ...
> .L3:
>         .word   .LC0-(.LPIC0+8)
> 
> Richard
> 

I understand now.  I still don't particularly like this, but reworking
the minipools to allow really large constants isn't particularly
palatable either.  So OK.

R.




More information about the Gcc-patches mailing list