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

Amy Kwan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 27 14:07:49 PST 2022


amyk added inline comments.


================
Comment at: llvm/lib/Target/PowerPC/GISel/PPCRegisterBanks.td:19
+/// Vector Registers
+def VECRegBank : RegisterBank<"VEC", [VSRC]>;
----------------
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. 


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