On Mon, 2011-04-18 at 11:12 +0100, Richard Sandiford wrote: > Richard Earnshaw <rearn...@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.