[PATCH] D53177: [builtins] Implement __aeabi_uread4/8 and __aeabi_uwrite4/8.

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 12 05:49:49 PDT 2018


dmgreen added a comment.

Nice idea. The rtabi seems to says:

> Write functions return the value written, read functions the value read.

With signitures:

  int __aeabi_uread4(void *address);
  int __aeabi_uwrite4(int value, void *address);
  long long __aeabi_uread8(void *address);
  long long __aeabi_uwrite8(long long value, void *address);

So writes also return values.

Also, and I kind of trust you know what you are talking about here, but is this using a struct like this always valid? Does packed always means alignment of 1? And is the mayalias needed if the thing we are aliasing with is a char*? (It does make the intent clearer, and the IR looks OK to me.)


Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D53177





More information about the llvm-commits mailing list