[PATCH] D43444: [AArch64][GlobalISel] When copying from a gpr32 to an fpr16 reg, convert to fpr32 first

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 21 23:00:34 PST 2018


aemerson added inline comments.


================
Comment at: lib/Target/AArch64/AArch64InstructionSelector.cpp:330
+      .addDef(SubRegCopy)
+      .addUse(CopyReg, 0, AArch64::hsub);
+
----------------
qcolombet wrote:
> At this point of the pipeline we usually don't write copy from subregs directly.
> Could you use EXTRACT_SUBREG instead?
That’s what I tried initially, but ExpandPseudos fell over because it expects all EXTRACT_SUBREGs to be eliminated by then. Apparently EXTRACT_SUBREG is normally converted to copies in InstrEmitter during SDISel, so the rest of the pipeline isn’t prepared to deal with it.


Repository:
  rL LLVM

https://reviews.llvm.org/D43444





More information about the llvm-commits mailing list