The fp16 version of VLDR takes a imm8 multiplied by 2. This updates the costs to account for those, and adds extra testing (which I've just shown the diff of here). It is dependant upon hasFPRegs16 as this is what the load/store instructions require.
Details
Details
Diff Detail
Diff Detail
Event Timeline
llvm/test/Analysis/CostModel/ARM/gep.ll | ||
---|---|---|
329 | Could you add testing for around an offset of +/- 510? |
llvm/test/Analysis/CostModel/ARM/gep.ll | ||
---|---|---|
329 | These are gep offsets so all "number of units", not "bytes". Is that what you meant? It caught me out originally. (Yes, this makes testing unaligned access harder, like an byte offset of 1, not 2) |
Could you add testing for around an offset of +/- 510?