PowerPC/SPE: Add phony registers for high halves of SPE SuperRegs
authorKishan Parmar <kparmar2101@gmail.com>
Wed, 21 Jun 2023 10:16:43 +0000 (10:16 +0000)
committerDavid Spickett <david.spickett@linaro.org>
Wed, 21 Jun 2023 10:24:40 +0000 (10:24 +0000)
commitc42f0a6e6476971974cb3f52c1138dbd8f9cca1f
treec1d6ca23179e3c87dcb6f02ceb0f44863e2438d7
parent64df75fb26e55c097e79df6770a99d4b1ad09716
PowerPC/SPE:  Add phony registers for high halves of SPE SuperRegs

The intent of this patch is to make upper halves of SPE SuperRegs(s0,..,s31)
as artificial regs, similar to how X86 has done it.
And emit store /reload instructions for the required halves.

PR : https://github.com/llvm/llvm-project/issues/57307

Reviewed By: jhibbits

Differential Revision: https://reviews.llvm.org/D152437
llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
llvm/lib/Target/PowerPC/PPCRegisterInfo.td
llvm/test/CodeGen/PowerPC/fma-assoc.ll
llvm/test/CodeGen/PowerPC/fp-strict-conv-spe.ll
llvm/test/CodeGen/PowerPC/fp-strict.ll
llvm/test/CodeGen/PowerPC/inline-asm-physical-fpr-spe.ll
llvm/test/CodeGen/PowerPC/pr55463.ll
llvm/test/CodeGen/PowerPC/spe.ll