OSDN Git Service

[ARM] Add FP_ROUND handling to splitting MVE stores
authorDavid Green <david.green@arm.com>
Thu, 25 Jun 2020 15:02:36 +0000 (16:02 +0100)
committerDavid Green <david.green@arm.com>
Thu, 25 Jun 2020 18:37:15 +0000 (19:37 +0100)
commit0bfb4c250684df2f00f1ccb76fdecac9678657d0
tree7d2db2e9d0877d00f3645695779c3f8b374fedd1
parentc25acec84594ca15748553341969f8e579290e27
[ARM] Add FP_ROUND handling to splitting MVE stores

This splits MVE vector stores of a fp_trunc in the same way that we do
for standard trunc's. It extends PerformSplittingToNarrowingStores to
handle fp_round, splitting the store into pieces and adding a VCVTNb to
perform the actual fp_round. The actual store is then converted to an
integer store so that it can truncate bottom lanes of the result.

Differential Revision: https://reviews.llvm.org/D81141
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/test/CodeGen/Thumb2/mve-fp16convertloops.ll
llvm/test/CodeGen/Thumb2/mve-vcvt16.ll