[PATCH] D96567: [RISCV] Add support for fixed vector floating point setcc.
Fraser Cormack via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 12 08:22:53 PST 2021
frasercrmck added a comment.
Looks good on the whole, just some minor comments. Shame about having to do our own CC legalization though.
================
Comment at: llvm/lib/Target/RISCV/RISCVISelLowering.cpp:2103
+ bool Invert = false;
+ unsigned LogicOpc = ISD::DELETED_NODE;
+ if (ContainerVT.isFloatingPoint()) {
----------------
I'd probably use `Optional<unsigned>` for this but maybe that's personal preference.
================
Comment at: llvm/lib/Target/RISCV/RISCVISelLowering.cpp:2158
+
+ if (LogicOpc != ISD::DELETED_NODE && CC != ISD::SETOLT) {
+ Cmp = DAG.getNode(RISCVISD::SETCC_VL, DL, MaskVT, Op1, Op1,
----------------
I think this block could be commented, like why is SETOLT special.
================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td:84
+ SDTypeProfile<1, 5, [SDTCisVec<0>,
+ SDTCVecEltisVT<0, i1>,
+ SDTCisVec<1>,
----------------
I was wondering if this warrants a `SDTCisVecWithSameNumEltsAndEltVT<opidx, otheropidx, eltvt>` to combine these three commonly-used constraints (`SDTCisVec<1>, SDTCisSameNumEltsAs<0, 1>, SDTCVecEltisVT<0, X>`) but the name alone gives me second thoughts.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D96567/new/
https://reviews.llvm.org/D96567
More information about the llvm-commits
mailing list