[patch] Remove ConstantIslands from AArch64

Tim Northover t.p.northover at gmail.com
Thu Feb 14 13:53:28 PST 2013


On Thu, Feb 14, 2013 at 9:11 PM, Jim Grosbach <grosbach at apple.com> wrote:
> This seems reasonable to me.

Cheers. I'll commit it tomorrow unless anyone else objects.

> How does x86_64 handle it? The same thing should work here.

Within architectural constraints, very similarly I believe: separate
section and normal global access to each constant.

Of course, the "architectural constraints" differ. For an f64 materialisation:

X86_64:
movsd .LCPI0_0(%rip), %xmm0 ; [0xf2,0x0f,0x10,0x05,A,A,A,A]

AArch64:
adrp x0, .LCPI0_0 ; [A,A,A,0x90'A']
ldr d0, [x0, #:lo12:.LCPI0_0] ; [A,A,0x40'A',0xfd'A']

Same space for the two, but one more instruction for AArch64 by the
looks of it. Beyond that we're into microarchitecture.

Regards.

Tim.



More information about the llvm-commits mailing list