[PATCH] D84169: [Thumb] set code alignment for 16-bit load from constant pool

Diogo N. Sampaio via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 21 01:06:35 PDT 2020


dnsampaio added a comment.

Hi, thanks for working on this.
What exactly are you trying to fix? From what I see from https://developer.arm.com/docs/ddi0597/h/simd-and-floating-point-instructions-alphabetic-order/vldr-immediate-load-simdfp-register-immediate
`VLDR.16  s0,{pc}+0x16` requires only a alignment of 2 bytes, as it has only a single zero appended in the case of half (.16):

  T1
  Half-precision scalar (size == 01)
  (Armv8.2)
  VLDR{<c>}{<q>}.16 <Sd>, [<Rn> {, #{+/-}<imm>}]
  esize = 8 << UInt(size);  add = (U == '1');
  imm32 = if esize == 16 then ZeroExtend(imm8:'0', 32) else ZeroExtend(imm8:'00', 32);


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D84169/new/

https://reviews.llvm.org/D84169





More information about the llvm-commits mailing list