Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 527 Lines • ▼ Show 20 Lines | if (Subtarget.hasVInstructions()) { | ||||
for (MVT VT : IntVecVTs) { | for (MVT VT : IntVecVTs) { | ||||
if (VT.getVectorElementType() == MVT::i64 && | if (VT.getVectorElementType() == MVT::i64 && | ||||
!Subtarget.hasVInstructionsI64()) | !Subtarget.hasVInstructionsI64()) | ||||
continue; | continue; | ||||
setOperationAction(ISD::SPLAT_VECTOR, VT, Legal); | setOperationAction(ISD::SPLAT_VECTOR, VT, Legal); | ||||
setOperationAction(ISD::SPLAT_VECTOR_PARTS, VT, Custom); | setOperationAction(ISD::SPLAT_VECTOR_PARTS, VT, Custom); | ||||
// Vectors implement MULHS/MULHU. | |||||
setOperationAction(ISD::SMUL_LOHI, VT, Expand); | |||||
setOperationAction(ISD::UMUL_LOHI, VT, Expand); | |||||
setOperationAction(ISD::SMIN, VT, Legal); | setOperationAction(ISD::SMIN, VT, Legal); | ||||
setOperationAction(ISD::SMAX, VT, Legal); | setOperationAction(ISD::SMAX, VT, Legal); | ||||
setOperationAction(ISD::UMIN, VT, Legal); | setOperationAction(ISD::UMIN, VT, Legal); | ||||
setOperationAction(ISD::UMAX, VT, Legal); | setOperationAction(ISD::UMAX, VT, Legal); | ||||
setOperationAction(ISD::ROTL, VT, Expand); | setOperationAction(ISD::ROTL, VT, Expand); | ||||
setOperationAction(ISD::ROTR, VT, Expand); | setOperationAction(ISD::ROTR, VT, Expand); | ||||
▲ Show 20 Lines • Show All 9,423 Lines • Show Last 20 Lines |