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