[PATCH] D87790: [ARM] Select f32 constants with vmov.f16

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 16 13:22:48 PDT 2020


dmgreen created this revision.
dmgreen added reviewers: efriedma, SjoerdMeijer, simon_tatham, ostannard.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.
dmgreen requested review of this revision.

This adds lowering for f32 values using the vmov.f16, which zero's the top bits whilst setting the lower bits to a pattern. This range of values does not often come up, except where a f16 constant value has been converted to a f32.

The tablegen pattern was a little tricky to get to work, but it seems happy as it is here.


https://reviews.llvm.org/D87790

Files:
  llvm/lib/Target/ARM/ARMISelLowering.cpp
  llvm/lib/Target/ARM/ARMInstrVFP.td
  llvm/lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h
  llvm/test/CodeGen/ARM/cmse-clear-float-hard.ll
  llvm/test/CodeGen/ARM/fp16-bitcast.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D87790.292325.patch
Type: text/x-patch
Size: 11722 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200916/5c56ca64/attachment-0001.bin>


More information about the llvm-commits mailing list