| 38 | <p>CLRX assembler accepts assignment register or register's range to symbols. |
| 39 | Register or register's range shall to be preceded by '%' at assignment. |
| 40 | Register symbol can be used for instruction operand or other register assignment. |
| 41 | Register subranges or just single register can be extracted from parent register ranges |
| 42 | by using indexing as well as regular register pools. Example:</p> |
| 43 | <p><code>regpool = %v[16:31] |
| 44 | reg1 = %s[0:1] |
| 45 | s_and_b64 reg1, s[2:3], s[4:5] # output as s[0:1] |
| 46 | s_cmp_lt_i32 reg1[0], s2 # compare s0 with s2 |
| 47 | v_xor_b32 regpool[4], regpool[7], regpool[9] # v_xor_b32 v20, v23, v25</code></p> |