Created by: egrimley
In the operand definitions, in codec.txt, '?' indicates a bit that the operand decoder/encoder may consult as it decodes or encodes the bits labelled 'x'. An operand encoder only receives the bits labelled '?'; an operand decoder only receives the bits labelled '?' or 'x'. An operand encoder may generate a bit that is read by another operand encoder, provided there is no cyclic dependency. This change makes it easier to specify some encodings, and to detect errors.
A few changes are made exploiting the new facilities:
- memvrpost is removed: memvr is sufficient
- some patterns for SIMD load/store structure are combined
- some patterns for data processing with shifted register are combined (for which "imm6" is modified: it now checks bit 31 for consistency)
Change-Id: Ic5ef256af143239521c4cea86631dabebd763ea1