This final batch includes the tail-predicated versions of the
low-overhead loop instructions (LETP); the VPSEL instruction to select
between two vector registers based on the predicate mask without
having to open a VPT block; and VPNOT which complements the predicate
mask in place.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
- Build Status
- Buildable 33196 - Build 33195: arc lint + arc unit 
Event Timeline
Updated instruction spellings in line with intended consistent MVE practice, and also reworked the WLSTP/DLSTP and LETP/LCTP definitions to remove pointless !if from the base classes. (In particular, the instructions that don't have a label field in the encoding now don't have one in their Tablegen defs either.)
| llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp | ||
|---|---|---|
| 7921–7925 | It would be better to do these as checks on the operands, rather than the whole instruction. | |
| llvm/test/MC/ARM/mve-misc.s | ||
| 3 | If nothing is expected to vary between the FP and no-FP cases, the check lines can be merged, and the errors checked for both cases. | |
| 18 | Are these instructions expected to work with label operands now (in which case that should be tested), or is that coming in a later patch? | |
| llvm/test/MC/ARM/mve-misc.s | ||
|---|---|---|
| 18 | Yes, they are; tests added. | |
It would be better to do these as checks on the operands, rather than the whole instruction.