Changes between Version 7 and Version 8 of GcnInstrsFlat
- Timestamp:
- 11/25/17 10:00:28 (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GcnInstrsFlat
v7 v8 17 17 <tbody> 18 18 <tr> 19 <td>0-12</td> 20 <td>OFFSET</td> 21 <td>Byte offset (GCN 1.4)</td> 22 </tr> 23 <tr> 24 <td>13</td> 25 <td>LDS</td> 26 <td>transfer DATA to LDS and memory (GCN 1.4)</td> 27 </tr> 28 <tr> 29 <td>14-15</td> 30 <td>SEG</td> 31 <td>Memory segment (instrunction type) (GCN 1.4)</td> 32 </tr> 33 <tr> 19 34 <td>16</td> 20 35 <td>GLC</td> … … 47 62 </tr> 48 63 <tr> 64 <td>48-54</td> 65 <td>SADDR</td> 66 <td>Scalar SGPR offset (0x7f value disables it) (GCN 1.4)</td> 67 </tr> 68 <tr> 49 69 <td>55</td> 50 70 <td>TFE</td> 51 <td>Texture Fail Enable ???</td> 71 <td>Texture Fail Enable ??? (GCN 1.1/1.2)</td> 72 </tr> 73 <tr> 74 <td>55</td> 75 <td>NV</td> 76 <td>Non-Volatile (GCN 1.4)</td> 52 77 </tr> 53 78 <tr> … … 55 80 <td>VDST</td> 56 81 <td>Vector destination register</td> 82 </tr> 83 </tbody> 84 </table> 85 <p>Instruction types:</p> 86 <table> 87 <thead> 88 <tr> 89 <th>SEG</th> 90 <th>Prefix</th> 91 <th>Description</th> 92 </tr> 93 </thead> 94 <tbody> 95 <tr> 96 <td>0</td> 97 <td>FLAT</td> 98 <td>FLAT instruction (global, private or scratch memory)</td> 99 </tr> 100 <tr> 101 <td>1</td> 102 <td>SCRATCH</td> 103 <td>SCRATCH instruction (only for scratch memory access)</td> 104 </tr> 105 <tr> 106 <td>2</td> 107 <td>GLOBAL</td> 108 <td>GLOBAL instruction (only for global memory access)</td> 57 109 </tr> 58 110 </tbody> … … 60 112 <p>Instruction syntax: INSTRUCTION VDST, VADDR(2) [MODIFIERS]<br /> 61 113 Instruction syntax: INSTRUCTION VADDR(2), VDATA [MODIFIERS]</p> 62 <p>Modifiers can be supplied in any order. Modifiers list: SLC, GLC, TFE. 63 The TFE flag requires additional the VDATA register.</p> 114 <p>GLOBAL instruction syntax: INSTRUCTION VDST, VADDR(2), SADDR(2)|OFF [MODIFIERS]<br /> 115 GLOBAL instruction syntax: INSTRUCTION VADDR(2), VDATA, SADDR(2)|OFF [MODIFIERS]<br /> 116 SCRATCH instruction syntax: INSTRUCTION VDST, VADDR(2), SADDR|OFF [MODIFIERS]<br /> 117 SCRATCH instruction syntax: INSTRUCTION VADDR(2), VDATA, SADDR|OFF [MODIFIERS]</p> 118 <p>Modifiers can be supplied in any order. Modifiers list: SLC, GLC, TFE, 119 LDS, NV, OFFSET:OFFSET. The TFE flag requires additional the VDATA register. 120 LDS, NV and OFFSET are available only in GCN 1.4 architecture.</p> 64 121 <p>FLAT instruction can complete out of order with each other. This can be caused by different 65 122 resources from/to that instruction can load/store. FLAT instruction increase VMCNT if access 66 123 to main memory, or LKGMCNT if accesses to LDS.</p> 124 <p>OFFSET can be 13-bit signed for GLOBAL_* and SCRATCH_* instructions or 125 12-bit unsigned for FLAT_* instructions.</p> 67 126 <h3>Instructions by opcode</h3> 68 127 <p>List of the FLAT instructions by opcode (GCN 1.1/1.2):</p>