[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