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 32688 Build 32687: 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 | ||
---|---|---|
7916–7920 | 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.