429114f5dad833db1b36d4a70590706a14d31086
[libreriscv.git] / openpower / sv / po9_encoding / discussion.mdwn
1 # alternative 32-64 encoding
2
3 ```
4 | 0-5 | 6-28 29 | 30-31| 32 |33-63| Description |
5 |-----|---------|------|----|-----|------------------------------------|
6 | PO9 | xxx | 0 | 0 0 | 0 | DWd | SVP64:EXT900 |
7 | PO9 | xxx | 1 | 0 0 | 0 | 32-bit EXT900 |
8 | PO9 | !zero | 0 0 | 1 | DWd | SVP64Single:EXT232-263 |
9 | PO9 | 0000 | 0 0 | 1 | DWd | Scalar EXT232-263 |
10 | PO9 | nnnn | 1 0 | 1 | DWd | SVP64:EXT232-263 |
11 | PO9 | 0000 | 0 1 | x | xxxx| 32-bit Unvectorizable (in 64-bit) |
12 | PO9 | !zero | 0 1 | n | DWd | SVP64Single:EXT000-063 |
13 | PO9 | nnnn | 1 1 | n | DWd | SVP64:EXT000-063 |
14 ```
15
16 Length detection:
17
18 ```
19 if PO1 return 64
20 if not PO9 return 32
21 if Word[31] = 1 return 64
22 if Word[29:31] = 0b0000 return 64
23 return 32
24 ```
25