```
if extra3_mode:
- if EXTRA3[0]: # vector
- return (RA << 2) | EXTRA3[1:2]
- else: # scalar
- return (EXTRA3[1:2] << 5) | RA
- else: # EXTRA2 mode
- if EXTRA2[0]: # vector
- return (RA << 2) | (EXTRA2[1] << 1)
- else:
- return (EXTRA2[1] << 5) | RA
+ spec = EXTRA3
+ else:
+ spec = EXTRA2 << 1 # same as EXTRA3, shifted
+ if spec[0]: # vector
+ return (RA << 2) | spec[1:2]
+ else: # scalar
+ return (spec[1:2] << 5) | RA
```
Future versions may extend to 256 by shifting Vector numbering up.