Currently, users expected VL is the last operand. However, since some
intrinsics has tail policy in the last operand, this rule cannot be used
anymore.
| Paths 
 |  Differential  D117452  
[RISCV] Provide VLOperand in td. ClosedPublic Authored by HanKuanChen on Jan 16 2022, 10:50 PM. 
Details 
 Summary Currently, users expected VL is the last operand. However, since some intrinsics has tail policy in the last operand, this rule cannot be used anymore. 
Diff Detail 
 
Unit TestsFailed Event TimelineHerald added subscribers: VincentWu, luke957, achieveartificialintelligence and 27 others.  ·  View Herald TranscriptJan 16 2022, 10:50 PM HanKuanChen added a parent revision: D117453: [RISCV] Make SplatOperand start from 0..Jan 16 2022, 11:11 PM This revision is now accepted and ready to land.Jan 16 2022, 11:15 PM Comment Actions LGTM otherwise 
 craig.topper removed a parent revision: D117453: [RISCV] Make SplatOperand start from 0..Jan 17 2022, 8:22 PM This revision was landed with ongoing or failed builds.Jan 17 2022, 8:30 PM Closed by commit rGec9cb3a79cd6: [RISCV] Provide VLOperand in td. (authored by HanKuanChen, committed by craig.topper).  ·  Explain Why This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
 
 
 
Diff 400484 llvm/include/llvm/IR/IntrinsicsRISCV.td
 llvm/lib/Target/RISCV/RISCVISelLowering.h
 llvm/lib/Target/RISCV/RISCVISelLowering.cpp
 
 llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
 llvm/test/CodeGen/RISCV/rvv/vaadd-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vaaddu-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vadd-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vand-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vasub-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vasubu-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vdiv-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vdivu-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vmax-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vmaxu-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vmin-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vminu-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vmul-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vmulh-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vmulhsu-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vmulhu-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vor-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vrem-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vremu-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vrsub-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vsadd-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vsaddu-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vsmul-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vssub-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vssubu-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vsub-rv32.ll
 llvm/test/CodeGen/RISCV/rvv/vxor-rv32.ll
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
is not exist -> does not exist