This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Make the test for rsr and rsr64 stricter
ClosedPublic

Authored by phosek on Jan 24 2019, 5:12 PM.

Details

Summary

ACLE specifies that return type for rsr and rsr64 is uint32_t and
uint64_t respectively. D56852 change the return type of rsr64 from
unsigned long to unsigned long long which at least on Linux doesn't
match uint64_t, but the test isn't strict enough to detect that
because compiler implicitly converts unsigned long long to uint64_t,
but it breaks other uses such as printf with PRIx64 type specifier.
This change makes the test stricter enforcing that the return type
of rsr and rsr64 builtins is what is actually specified in ACLE.

Diff Detail

Repository
rL LLVM