[PATCH] D57595: [ARM] Lower unaligned loads/stores to aeabi functions

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 1 09:42:30 PST 2019


dmgreen created this revision.
dmgreen added reviewers: efriedma, t.p.northover, john.brawn.
Herald added subscribers: kristof.beyls, javed.absar.

These four aeabi functions:
__aeabi_uread4
__aeabi_uread8
__aeabi_uwrite4
__aeabi_uwrite8
Can be used to perform unaligned accesses where they are not supported, such as v6m or with -mno-unaligned-access. The function call can be a lot smaller than normal generated sequence of ldrb/strb's, but is obviously a function call so can be more difficult than the raw load/store. They can greatly reduce codesize providing they are used more than once.


https://reviews.llvm.org/D57595

Files:
  lib/Target/ARM/ARMISelLowering.cpp
  lib/Target/ARM/ARMISelLowering.h
  test/CodeGen/ARM/unaligned_load_store_aeabi.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57595.184765.patch
Type: text/x-patch
Size: 37969 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190201/67c23a95/attachment.bin>


More information about the llvm-commits mailing list