This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Lower unaligned loads/stores to aeabi functions
Needs ReviewPublic

Authored by dmgreen on Feb 1 2019, 9:42 AM.

Details

Summary

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.

Diff Detail

Event Timeline

dmgreen created this revision.Feb 1 2019, 9:42 AM

This doesn't define the functions as a libcall. Does it need to?

john.brawn resigned from this revision.May 12 2020, 6:46 AM