[ARM] Always replace FP16 bitcasts with VMOVhr or VMOVrh
authorDavid Green <david.green@arm.com>
Tue, 28 Apr 2020 09:10:04 +0000 (10:10 +0100)
committerDavid Green <david.green@arm.com>
Tue, 28 Apr 2020 15:12:53 +0000 (16:12 +0100)
commit1084b323396048bbabbf4b11a173e5926eaeb8c6
tree652270a36f9664deac61afb56700c8321aa8b25c
parent25a4b1904c10142ea22e84cddf6db2ca059a9631
[ARM] Always replace FP16 bitcasts with VMOVhr or VMOVrh

This changes the logic with lowering fp16 bitcasts to always produce
either a VMOVhr or a VMOVrh, instead of only trying to do it with
certain surrounding nodes. To perform the same optimisations demand bits
and known bits information has been added for them.

Differential Revision: https://reviews.llvm.org/D78587
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/test/CodeGen/Thumb2/mve-intrinsics/vminvq.ll
llvm/test/CodeGen/Thumb2/mve-vdup.ll