**SVP64Single**:
-|0-5| 6-29 |30 31|32-37 | 38-663 | Description |
-|---|--------|-----|--------|--------|------------------|
-|PO9| xxxx | x x | 010001 | //// | RESERVED |
-|PO9| xxxx | x x | 000001 | //// | RESERVED |
-|PO9| !ZERO | 1 1 | !PO9 | xxxx | SSingle:EXT232-263 |
-|PO9| 0000 | 1 1 | !PO9 | xxxx | Scalar EXT232-263 |
-|PO9| SVRM | 1 0 | !PO9 | xxxx | SVP64:EXT232-263 |
-|PO9| 0000 | 0 1 | Defined Word-instruction | 32-bit EXT300-363 |
-|PO9| !ZERO | 0 1 | Defined Word-instruction | SSingle:EXT000-063 |
-|PO9| SVRM | 0 0 | Defined Word-instruction | SVP64:EXT000-063 |
-
```
# easy-elimination, first
if not PO9 return False
- # eliminate 32-bit EXT900
- if Word[30:31] = 0b00 return False
- # eliminate SVP64:EXT000-063
- if Word[30:31] = 0b11 return False
+ # eliminate SVP64:*
+ if Word[31] = 0b0 return False
# eliminate anything "Identity"
if Word[6:29 ] = 0x000000 return False
- # eliminate SVP64:EXT200-231
- if Word[30:32] = 0b101 return False
- # eliminate anything not SSingle:EXT900
- if Word[30:31] = 0b10 and
- Word[33:37] = 0b10001 and
- Word[62:63] != 0b00 return False
# everything left is SVP64Single
return True
```
**RESERVED**: (no need to pass for further detailed decode)
+|0-5| 6-29 |30 31|32-37 | 38-663 | Description |
+|---|--------|-----|--------|--------|------------------|
+|PO9| xxxx | x x | 010001 | //// | RESERVED |
+|PO9| xxxx | x x | 000001 | //// | RESERVED |
+|PO9| !ZERO | 1 1 | !PO9 | xxxx | SSingle:EXT232-263 |
+|PO9| 0000 | 1 1 | !PO9 | xxxx | Scalar EXT232-263 |
+|PO9| SVRM | 1 0 | !PO9 | xxxx | SVP64:EXT232-263 |
+|PO9| 0000 | 0 1 | Defined Word-instruction | 32-bit EXT300-363 |
+|PO9| !ZERO | 0 1 | Defined Word-instruction | SSingle:EXT000-063 |
+|PO9| SVRM | 0 0 | Defined Word-instruction | SVP64:EXT000-063 |
+
```
# easy-elimination, first
- if not PO9 return False
- # eliminate EXT900
- if Word[30:31] = 0b00 return False
+ if not PO9 return Fal
# eliminate SVP64:EXT000-031
if Word[30:31] = 0b11 return False
# eliminate SSingle:EXT000-063