[PATCH] D69578: [AIX] Add support for lowering int, float and double formal arguments.
Sean Fertile via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 30 10:52:10 PDT 2019
sfertile added inline comments.
Herald added a subscriber: wuzish.
================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:6705
+ case MVT::i32:
+ case MVT::i64:
+ return IsPPC64 ? &PPC::G8RCRegClass : &PPC::GPRCRegClass;
----------------
My understanding is that when targeting 32-bit codegen any i64 will be split into 2 i32s. If thats correct then we should keep the i64 case separate, with an assert along the lines of `assert(IsPPC64 && "i64 should have been split for 32-bit codegen.");`.
================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:6812
+ report_fatal_error("QPX support is not supported on AIX.");
+ if (Subtarget.hasAltivec())
+ report_fatal_error("Altivec support is unimplemented on AIX.");
----------------
I believe this is breaking some of the existing AIX lit testing.
================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:6841
+ if (ValVT == MVT::i1)
+ ArgValue = DAG.getNode(ISD::TRUNCATE, dl, MVT::i1, ArgValue);
+ // PPC64 passes i8, i16, and i32 values in i64 registers. Promote
----------------
Shouldn't we be doing the same thing `extendArgForPPC64` is doing, but with the extra generality that the zext/zext type should be i32 when targeting 32-bit codegen?
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69578/new/
https://reviews.llvm.org/D69578
More information about the llvm-commits
mailing list