[SystemZ] Use STDY/STEY/LDY/LEY for VR32/VR64 in eliminateFrameIndex().
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>
Wed, 8 Dec 2021 00:34:26 +0000 (18:34 -0600)
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>
Wed, 8 Jun 2022 15:10:31 +0000 (17:10 +0200)
commit88c1cd86eefc2e7e597b44156f3699931d8df9fd
treed47e87c5d6dede67e5e6dca5e798d44cddaae8a2
parent1ea99328b45698bee92ccabe34f686ad3c024888
[SystemZ] Use STDY/STEY/LDY/LEY for VR32/VR64 in eliminateFrameIndex().

When e.g. a VR64 register is spilled to a stack slot requiring a long
(20-bit) displacement, it is possible to use an FP opcode if the allocated
phys reg allows it. This eliminates the use of a separate LAY instruction.

Reviewed By: Ulrich Weigand

Differential Revision: https://reviews.llvm.org/D115406
llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
llvm/lib/Target/SystemZ/SystemZInstrInfo.h
llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
llvm/test/CodeGen/SystemZ/elim-frame-index-VR.ll [new file with mode: 0644]