[PATCH] D73092: [VE] i<N> and fp32/64 arguments, return values and constants
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 21 04:51:54 PST 2020
arsenm added inline comments.
================
Comment at: llvm/lib/Target/VE/VEISelLowering.cpp:94
+ // in the high bits of the register.
+ if (VA.getValVT() == MVT::i32 && VA.needsCustom()) {
+ OutVal = DAG.getNode(ISD::SHL, DL, MVT::i64, OutVal,
----------------
I think this bit is the most interesting part to test here, but I don't see a test for this
================
Comment at: llvm/lib/Target/VE/VEInstrInfo.td:420-423
+def : Pat<(sext_inreg I32:$src, i1),
+ (SRAri (SLAri $src, 31), 31)>;
+def : Pat<(sext_inreg I64:$src, i1),
+ (SRAXri (SLLri $src, 63), 63)>;
----------------
If you're just going to implement these with the shifts, you're probably better off making these expand instead for the combining value
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D73092/new/
https://reviews.llvm.org/D73092
More information about the llvm-commits
mailing list