mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
[RISCV] Return a vXi1 vector type from getSetCCResultType if V extension is enabled.
nvxXi1 types are legal with V extension and that's the result vmseq/vmsne/vmslt/etc instructions return. No test cases yet because the setcc isel patterns aren't in and we'll need more than basic tests to observe this. I locally tested that this plus D947078, D94168, D94142, and D94149 was enough to be able to handle the overflow result from llvm.sadd.overflow.
This commit is contained in:
parent
c886828274
commit
240b48a4b6
@ -398,6 +398,8 @@ EVT RISCVTargetLowering::getSetCCResultType(const DataLayout &DL, LLVMContext &,
|
||||
EVT VT) const {
|
||||
if (!VT.isVector())
|
||||
return getPointerTy(DL);
|
||||
if (Subtarget.hasStdExtV())
|
||||
return MVT::getVectorVT(MVT::i1, VT.getVectorElementCount());
|
||||
return VT.changeVectorElementTypeToInteger();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user