This is an archive of the discontinued LLVM Phabricator instance.

[FPEnv][AArch64] Add lowering and instruction selection for strict conversions
ClosedPublic

Authored by john.brawn on Jan 29 2020, 6:41 AM.

Details

Summary

Strict fp-to-int and int-to-fp conversions can be handled in the same way that the non-strict versions are (by using the appropriate instruction or converting to a function call when we have no instruction).

Diff Detail

Event Timeline

john.brawn created this revision.Jan 29 2020, 6:41 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 29 2020, 6:41 AM
pengfei added inline comments.Jan 29 2020, 6:25 PM
llvm/test/CodeGen/AArch64/fp-intrinsics.ll
1

I think you may need add option "-disable-strictnode-mutation" to ensure the code generation doesn't come from mutation before strict FP default enabled. The same to other patches.

john.brawn marked an inline comment as done.Jan 30 2020, 3:36 AM
john.brawn added inline comments.
llvm/test/CodeGen/AArch64/fp-intrinsics.ll
1

Currently a lot of it is coming from strict node mutation. The tests here are primarily for making sure opt doesn't crash with an assertion if you're using it with the default options.

dmgreen accepted this revision.Jan 30 2020, 4:00 AM

LGTM

llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
2616–2617

Can you format this whilst you are here.

This revision is now accepted and ready to land.Jan 30 2020, 4:00 AM
This revision was automatically updated to reflect the committed changes.
carwil added a subscriber: carwil.Jan 30 2020, 7:03 AM