This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Add test to check PCS of ARM ABI runtime floating point helpers
ClosedPublic

Authored by peter.smith on Jul 26 2017, 10:29 AM.

Details

Summary

The ARM Runtime ABI document (IHI0043) defines the AEABI floating point helper functions in section 4.1.2 The floating-point helper functions.
The functions listed in this section must always use the base AAPCS calling convention.

This test generates calls to all the helper functions that llvm supports and checks that the base AAPCS calling convention has been used. We test the equivalent of -mfloat-abi=soft, -mfloat-abi=softfp, -mfloat-abi=hardfp with an FPU that supports single and double precision, and one that only supports double precision.

This additional test has been added as a part of a change to clang under D35538

Diff Detail

Repository
rL LLVM

Event Timeline

peter.smith created this revision.Jul 26 2017, 10:29 AM
efriedma added inline comments.
test/CodeGen/ARM/float-helpers.s
727 ↗(On Diff #108320)

This test isn't really great... I mean, you checking for the presence of the important instruction, but you aren't checking for the lack of other instructions. Maybe use CHECK-NEXT to explicitly check the entire body? (You can use utils/update_llc_test_checks.py to do this automatically.)

Thanks for pointing out update_llc_test_checks.py. I'll have a play with that and will update the diff when I've got a better one.

Updated diff to use output of utils/update_llc_test_checks.py for checks.

This revision is now accepted and ready to land.Jul 27 2017, 11:14 AM
This revision was automatically updated to reflect the committed changes.