[ARM] Add custom strict fp conversion lowering when non-strict is custom
authorJohn Brawn <john.brawn@arm.com>
Thu, 5 Dec 2019 12:44:41 +0000 (12:44 +0000)
committerJohn Brawn <john.brawn@arm.com>
Fri, 13 Dec 2019 13:00:00 +0000 (13:00 +0000)
commit01ba201abc758657ec8d0124114dcb37d63b4e85
tree6c4ec76fbea2c8a6e0582382ae497fd6637252d0
parentfce1a6f5848d644d56ab72d5bac71aa8053f8f2e
[ARM] Add custom strict fp conversion lowering when non-strict is custom

We have custom lowering for operations converting to/from floating-point types
when we don't have hardware support for those types, and this doesn't interact
well with the target-independent legalization of the strict versions of these
operations. Fix this by adding similar custom lowering of the strict versions.

This fixes the last of the assertion failures in the CodeGen/ARM/fp-intrinsics
test, with the remaining failures due to poor instruction selection.

Differential Revision: https://reviews.llvm.org/D71127
llvm/lib/Target/ARM/ARMISelLowering.cpp