[PATCH] D58469: [GlobalISel][AArch64] Add selection support for G_EXTRACT_VECTOR_ELT with FPR dest

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 22 12:57:07 PST 2019


paquette marked an inline comment as done.
paquette added inline comments.


================
Comment at: lib/Target/AArch64/AArch64InstructionSelector.cpp:1876
+  // def and a subregister insert to get us there.
+  if (WideTy.getSizeInBits() != 128) {
+    unsigned ImpDefReg = MRI.createVirtualRegister(&AArch64::FPR128RegClass);
----------------
aemerson wrote:
> Might need to check here for WideTy == 64 bits. Off the top of my head I'm not sure if we can have extracts from smaller vectors like <4 x s8>. If so, adding support for that would also mean we need to check the insert_subreg uses the right subreg index.
I guess we should use `getSubRegForClass` to determine the subregister no matter what.

And, I'm not sure about <4 x s8>, but I found a couple tests earlier that used <2 x s16>, so I guess we'll have to handle smaller things regardless.


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

https://reviews.llvm.org/D58469





More information about the llvm-commits mailing list