[llvm-dev] Help handling opaque AArch64 immediates

Tim Northover via llvm-dev llvm-dev at lists.llvm.org
Fri Jan 15 12:16:16 PST 2016


Hi Steve,

On 15 January 2016 at 12:10, Steve King <steve at metrokings.com> wrote:
> The test wants a movz w8 (32-bit), but opaque lowering produced a movz
> x8 (64-bit).  Since the constant pointer is born as "inttoptr i64", is
> movz x8 be correct and the test wrong?

They're semantically equivalent. "movz w8, ..." will zero out the high
bits of x8 that don't overlap with w8.

There's a very mild preference for the w8 form in case a CPU ever
decides to do some low-power tricks when only a 32-bits operation is
needed. I'm not actually aware of it ever making a difference though.

Cheers.

Tim.


More information about the llvm-dev mailing list