[PATCH] D137785: [PowerPC][GISel] Add initial GlobalISel support for vector functions.

ChenZheng via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 28 23:36:16 PST 2022


shchenz added inline comments.


================
Comment at: llvm/lib/Target/PowerPC/GISel/PPCRegisterBanks.td:19
+/// Vector Registers
+def VECRegBank : RegisterBank<"VEC", [VSRC]>;
----------------
amyk wrote:
> shchenz wrote:
> > Maybe too early for this question as long double is not supported in globalisel for now. I see `f128` is a type mapped to vector type register class `VRRC`, but to me, seems type `f128` should be a scalar type?
> In the test cases for D137504 (implementing the default calling convention used for GlobalISel), it takes into account of two types of 128-bit floating point types. 
> - `fp128` is mapped to a vector type and will pass its values in registers.
> - `ppc_fp128` will actually be split into two `f64` scalars and will pass their values in floating point registers. I believe this is the scenario you are referencing in your comment, but please do correct me if I am misunderstanding. 
Thanks for explanation.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D137785/new/

https://reviews.llvm.org/D137785



More information about the llvm-commits mailing list