[PATCH] D81428: [ARM] Moving CMSE handling of half arguments and return to the backend

Lucas Prates via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 11 08:48:40 PDT 2020


pratlucas marked 4 inline comments as done.
pratlucas added inline comments.


================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:2267
 
+    // Mask f16 arguments if this is a CMSE nonsecure call
+    auto ArgVT = Outs[realArgIdx].ArgVT;
----------------
ostannard wrote:
> Could this be done more efficiently by changing the ANY_EXTEND above to a ZERO_EXTEND when this is a CMSE call?
Now that the `fp16` type convertion on D75169 was updated to use `VMOVhr`/`VMOVrh`, I've updated this patch to only use and `AND` masking when the argument are extended by `getCopyToParts`/`getCopyFromParts` prior to the calling convention lowering.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D81428





More information about the cfe-commits mailing list