[CodeGen] Disable FP LD1RX instructions generation for Neoverse-V1
authorIgor Kirillov <igor.kirillov@arm.com>
Fri, 4 Aug 2023 12:05:27 +0000 (12:05 +0000)
committerTobias Hieta <tobias@hieta.se>
Thu, 10 Aug 2023 07:05:30 +0000 (09:05 +0200)
commit7832b42073d61d598be98b43d5896f578bfc3950
treed3488fa2463387fd20028a26ffa76f79904a0179
parent8fb604fcd36019dc2982fea86a14efe7b3a71773
[CodeGen] Disable FP LD1RX instructions generation for Neoverse-V1

These instructions show worse performance on Neoverse-V1 compared
to pair of LDR(LDP)/MOV instructions.
This patch adds `no-sve-fp-ld1r` sub-target feature, which is enabled
only on Neoverse-V1.

Fixes https://github.com/llvm/llvm-project/issues/64498

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

(cherry picked from commit 60e2a849b0a537f96ca12fb032c4a0e32e07b4ae)
llvm/lib/Target/AArch64/AArch64.td
llvm/lib/Target/AArch64/AArch64InstrInfo.td
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
llvm/lib/Target/AArch64/SVEInstrFormats.td
llvm/test/CodeGen/AArch64/sve-ld1r.ll