HomePhabricator

[llvm][Aarch64][SVE] Remove extra fmov instruction with certain literals

Authored by DavidTruby on Feb 16 2021, 6:15 AM.

Description

[llvm][Aarch64][SVE] Remove extra fmov instruction with certain literals

When a literal that cannot fit in the immediate form of the fmov instruction
is used to initialise an SVE vector, an extra unnecessary fmov is currently
generated. This patch adds an extra codegen pattern preventing the extra
instruction from being generated.

Differential Revision: https://reviews.llvm.org/D96700

Co-Authored-By: Paul Walker <paul.walker@arm.com>

Details