Matt Arsenault | d6adfb4 | 2015-09-24 19:52:21 +0000 | [diff] [blame] | 1 | // RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti -show-encoding %s | FileCheck -check-prefix=GCN -check-prefix=SI -check-prefix=SICI %s |
| 2 | // RUN: not llvm-mc -arch=amdgcn -mcpu=bonaire -show-encoding %s | FileCheck -check-prefix=GCN -check-prefix=CI -check-prefix=SICI %s |
| 3 | |
| 4 | // RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck -check-prefix=NOSI %s |
| 5 | // RUN: not llvm-mc -arch=amdgcn -mcpu=bonaire %s 2>&1 | FileCheck -check-prefix=NOCI %s |
| 6 | // RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefix=NOVI %s |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 7 | |
| 8 | //===----------------------------------------------------------------------===// |
| 9 | // Test for different operand combinations |
| 10 | //===----------------------------------------------------------------------===// |
| 11 | |
| 12 | //===----------------------------------------------------------------------===// |
| 13 | // load - immediate offset only |
| 14 | //===----------------------------------------------------------------------===// |
| 15 | |
| 16 | buffer_load_dword v1, s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 17 | // SICI: buffer_load_dword v1, s[4:7], s1 ; encoding: [0x00,0x00,0x30,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 18 | |
| 19 | buffer_load_dword v1, s[4:7], s1 offset:4 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 20 | // SICI: buffer_load_dword v1, s[4:7], s1 offset:4 ; encoding: [0x04,0x00,0x30,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 21 | |
| 22 | buffer_load_dword v1, s[4:7], s1 offset:4 glc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 23 | // SICI: buffer_load_dword v1, s[4:7], s1 offset:4 glc ; encoding: [0x04,0x40,0x30,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 24 | |
| 25 | buffer_load_dword v1, s[4:7], s1 offset:4 slc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 26 | // SICI: buffer_load_dword v1, s[4:7], s1 offset:4 slc ; encoding: [0x04,0x00,0x30,0xe0,0x00,0x01,0x41,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 27 | |
| 28 | buffer_load_dword v1, s[4:7], s1 offset:4 tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 29 | // SICI: buffer_load_dword v1, s[4:7], s1 offset:4 tfe ; encoding: [0x04,0x00,0x30,0xe0,0x00,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 30 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 31 | buffer_load_dword v1, s[4:7], s1 glc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 32 | // SICI: buffer_load_dword v1, s[4:7], s1 glc tfe ; encoding: [0x00,0x40,0x30,0xe0,0x00,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 33 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 34 | buffer_load_dword v1, s[4:7], s1 offset:4 glc slc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 35 | // SICI: buffer_load_dword v1, s[4:7], s1 offset:4 glc slc tfe ; encoding: [0x04,0x40,0x30,0xe0,0x00,0x01,0xc1,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 36 | |
| 37 | //===----------------------------------------------------------------------===// |
| 38 | // load - vgpr offset |
| 39 | //===----------------------------------------------------------------------===// |
| 40 | |
| 41 | buffer_load_dword v1, v2, s[4:7], s1 offen |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 42 | // SICI: buffer_load_dword v1, v2, s[4:7], s1 offen ; encoding: [0x00,0x10,0x30,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 43 | |
| 44 | buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 45 | // SICI: buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 ; encoding: [0x04,0x10,0x30,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 46 | |
| 47 | buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 glc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 48 | // SICI: buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 glc ; encoding: [0x04,0x50,0x30,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 49 | |
| 50 | buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 slc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 51 | // SICI: buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 slc ; encoding: [0x04,0x10,0x30,0xe0,0x02,0x01,0x41,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 52 | |
| 53 | buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 54 | // SICI: buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 tfe ; encoding: [0x04,0x10,0x30,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 55 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 56 | buffer_load_dword v1, v2, s[4:7], s1 offen glc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 57 | // SICI: buffer_load_dword v1, v2, s[4:7], s1 offen glc tfe ; encoding: [0x00,0x50,0x30,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 58 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 59 | buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 glc slc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 60 | // SICI: buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 glc slc tfe ; encoding: [0x04,0x50,0x30,0xe0,0x02,0x01,0xc1,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 61 | |
| 62 | //===----------------------------------------------------------------------===// |
| 63 | // load - vgpr index |
| 64 | //===----------------------------------------------------------------------===// |
| 65 | |
| 66 | buffer_load_dword v1, v2, s[4:7], s1 idxen |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 67 | // SICI: buffer_load_dword v1, v2, s[4:7], s1 idxen ; encoding: [0x00,0x20,0x30,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 68 | |
| 69 | buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 70 | // SICI: buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 ; encoding: [0x04,0x20,0x30,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 71 | |
| 72 | buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 glc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 73 | // SICI: buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 glc ; encoding: [0x04,0x60,0x30,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 74 | |
| 75 | buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 slc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 76 | // SICI: buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 slc ; encoding: [0x04,0x20,0x30,0xe0,0x02,0x01,0x41,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 77 | |
| 78 | buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 79 | // SICI: buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 tfe ; encoding: [0x04,0x20,0x30,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 80 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 81 | buffer_load_dword v1, v2, s[4:7], s1 idxen glc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 82 | // SICI: buffer_load_dword v1, v2, s[4:7], s1 idxen glc tfe ; encoding: [0x00,0x60,0x30,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 83 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 84 | buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 glc slc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 85 | // SICI: buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 glc slc tfe ; encoding: [0x04,0x60,0x30,0xe0,0x02,0x01,0xc1,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 86 | |
| 87 | //===----------------------------------------------------------------------===// |
| 88 | // load - vgpr index and offset |
| 89 | //===----------------------------------------------------------------------===// |
| 90 | |
| 91 | buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 92 | // SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen ; encoding: [0x00,0x30,0x30,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 93 | |
| 94 | buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 95 | // SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 ; encoding: [0x04,0x30,0x30,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 96 | |
| 97 | buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 98 | // SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc ; encoding: [0x04,0x70,0x30,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 99 | |
| 100 | buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 slc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 101 | // SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 slc ; encoding: [0x04,0x30,0x30,0xe0,0x02,0x01,0x41,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 102 | |
| 103 | buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 104 | // SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 tfe ; encoding: [0x04,0x30,0x30,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 105 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 106 | buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen glc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 107 | // SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen glc tfe ; encoding: [0x00,0x70,0x30,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 108 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 109 | buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc slc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 110 | // SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc slc tfe ; encoding: [0x04,0x70,0x30,0xe0,0x02,0x01,0xc1,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 111 | |
| 112 | //===----------------------------------------------------------------------===// |
| 113 | // load - addr64 |
| 114 | //===----------------------------------------------------------------------===// |
| 115 | |
| 116 | buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 117 | // SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 ; encoding: [0x00,0x80,0x30,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 118 | |
| 119 | buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 120 | // SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 ; encoding: [0x04,0x80,0x30,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 121 | |
| 122 | buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 123 | // SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc ; encoding: [0x04,0xc0,0x30,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 124 | |
| 125 | buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 slc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 126 | // SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 slc ; encoding: [0x04,0x80,0x30,0xe0,0x02,0x01,0x41,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 127 | |
| 128 | buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 129 | // SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 tfe ; encoding: [0x04,0x80,0x30,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 130 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 131 | buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 glc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 132 | // SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 glc tfe ; encoding: [0x00,0xc0,0x30,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 133 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 134 | buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc slc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 135 | // SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc slc tfe ; encoding: [0x04,0xc0,0x30,0xe0,0x02,0x01,0xc1,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 136 | |
| 137 | //===----------------------------------------------------------------------===// |
| 138 | // store - immediate offset only |
| 139 | //===----------------------------------------------------------------------===// |
| 140 | |
| 141 | buffer_store_dword v1, s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 142 | // SICI: buffer_store_dword v1, s[4:7], s1 ; encoding: [0x00,0x00,0x70,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 143 | |
| 144 | buffer_store_dword v1, s[4:7], s1 offset:4 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 145 | // SICI: buffer_store_dword v1, s[4:7], s1 offset:4 ; encoding: [0x04,0x00,0x70,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 146 | |
| 147 | buffer_store_dword v1, s[4:7], s1 offset:4 glc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 148 | // SICI: buffer_store_dword v1, s[4:7], s1 offset:4 glc ; encoding: [0x04,0x40,0x70,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 149 | |
| 150 | buffer_store_dword v1, s[4:7], s1 offset:4 slc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 151 | // SICI: buffer_store_dword v1, s[4:7], s1 offset:4 slc ; encoding: [0x04,0x00,0x70,0xe0,0x00,0x01,0x41,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 152 | |
| 153 | buffer_store_dword v1, s[4:7], s1 offset:4 tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 154 | // SICI: buffer_store_dword v1, s[4:7], s1 offset:4 tfe ; encoding: [0x04,0x00,0x70,0xe0,0x00,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 155 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 156 | buffer_store_dword v1, s[4:7], s1 glc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 157 | // SICI: buffer_store_dword v1, s[4:7], s1 glc tfe ; encoding: [0x00,0x40,0x70,0xe0,0x00,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 158 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 159 | buffer_store_dword v1, s[4:7], s1 offset:4 glc slc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 160 | // SICI: buffer_store_dword v1, s[4:7], s1 offset:4 glc slc tfe ; encoding: [0x04,0x40,0x70,0xe0,0x00,0x01,0xc1,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 161 | |
| 162 | //===----------------------------------------------------------------------===// |
| 163 | // store - vgpr offset |
| 164 | //===----------------------------------------------------------------------===// |
| 165 | |
| 166 | buffer_store_dword v1, v2, s[4:7], s1 offen |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 167 | // SICI: buffer_store_dword v1, v2, s[4:7], s1 offen ; encoding: [0x00,0x10,0x70,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 168 | |
| 169 | buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 170 | // SICI: buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 ; encoding: [0x04,0x10,0x70,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 171 | |
| 172 | buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 glc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 173 | // SICI: buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 glc ; encoding: [0x04,0x50,0x70,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 174 | |
| 175 | buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 slc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 176 | // SICI: buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 slc ; encoding: [0x04,0x10,0x70,0xe0,0x02,0x01,0x41,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 177 | |
| 178 | buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 179 | // SICI: buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 tfe ; encoding: [0x04,0x10,0x70,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 180 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 181 | buffer_store_dword v1, v2, s[4:7], s1 offen glc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 182 | // SICI: buffer_store_dword v1, v2, s[4:7], s1 offen glc tfe ; encoding: [0x00,0x50,0x70,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 183 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 184 | buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 glc slc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 185 | // SICI: buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 glc slc tfe ; encoding: [0x04,0x50,0x70,0xe0,0x02,0x01,0xc1,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 186 | |
| 187 | //===----------------------------------------------------------------------===// |
| 188 | // store - vgpr index |
| 189 | //===----------------------------------------------------------------------===// |
| 190 | |
| 191 | buffer_store_dword v1, v2, s[4:7], s1 idxen |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 192 | // SICI: buffer_store_dword v1, v2, s[4:7], s1 idxen ; encoding: [0x00,0x20,0x70,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 193 | |
| 194 | buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 195 | // SICI: buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 ; encoding: [0x04,0x20,0x70,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 196 | |
| 197 | buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 glc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 198 | // SICI: buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 glc ; encoding: [0x04,0x60,0x70,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 199 | |
| 200 | buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 slc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 201 | // SICI: buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 slc ; encoding: [0x04,0x20,0x70,0xe0,0x02,0x01,0x41,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 202 | |
| 203 | buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 204 | // SICI: buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 tfe ; encoding: [0x04,0x20,0x70,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 205 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 206 | buffer_store_dword v1, v2, s[4:7], s1 idxen glc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 207 | // SICI: buffer_store_dword v1, v2, s[4:7], s1 idxen glc tfe ; encoding: [0x00,0x60,0x70,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 208 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 209 | buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 glc slc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 210 | // SICI: buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 glc slc tfe ; encoding: [0x04,0x60,0x70,0xe0,0x02,0x01,0xc1,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 211 | |
| 212 | //===----------------------------------------------------------------------===// |
| 213 | // store - vgpr index and offset |
| 214 | //===----------------------------------------------------------------------===// |
| 215 | |
| 216 | buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 217 | // SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen ; encoding: [0x00,0x30,0x70,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 218 | |
| 219 | buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 220 | // SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 ; encoding: [0x04,0x30,0x70,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 221 | |
| 222 | buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 223 | // SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc ; encoding: [0x04,0x70,0x70,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 224 | |
| 225 | buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 slc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 226 | // SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 slc ; encoding: [0x04,0x30,0x70,0xe0,0x02,0x01,0x41,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 227 | |
| 228 | buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 229 | // SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 tfe ; encoding: [0x04,0x30,0x70,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 230 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 231 | buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen glc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 232 | // SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen glc tfe ; encoding: [0x00,0x70,0x70,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 233 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 234 | buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc slc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 235 | // SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc slc tfe ; encoding: [0x04,0x70,0x70,0xe0,0x02,0x01,0xc1,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 236 | |
| 237 | //===----------------------------------------------------------------------===// |
| 238 | // store - addr64 |
| 239 | //===----------------------------------------------------------------------===// |
| 240 | |
| 241 | buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 242 | // SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 ; encoding: [0x00,0x80,0x70,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 243 | |
| 244 | buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 245 | // SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 ; encoding: [0x04,0x80,0x70,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 246 | |
| 247 | buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 248 | // SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc ; encoding: [0x04,0xc0,0x70,0xe0,0x02,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 249 | |
| 250 | buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 slc |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 251 | // SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 slc ; encoding: [0x04,0x80,0x70,0xe0,0x02,0x01,0x41,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 252 | |
| 253 | buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 254 | // SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 tfe ; encoding: [0x04,0x80,0x70,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 255 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 256 | buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 glc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 257 | // SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 glc tfe ; encoding: [0x00,0xc0,0x70,0xe0,0x02,0x01,0x81,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 258 | |
Nikolay Haustov | ea8febd | 2016-03-01 08:34:43 +0000 | [diff] [blame^] | 259 | buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc slc tfe |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 260 | // SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc slc tfe ; encoding: [0x04,0xc0,0x70,0xe0,0x02,0x01,0xc1,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 261 | |
| 262 | //===----------------------------------------------------------------------===// |
| 263 | // Instructions |
| 264 | //===----------------------------------------------------------------------===// |
| 265 | |
| 266 | buffer_load_format_x v1, s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 267 | // SICI: buffer_load_format_x v1, s[4:7], s1 ; encoding: [0x00,0x00,0x00,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 268 | |
| 269 | buffer_load_format_xy v[1:2], s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 270 | // SICI: buffer_load_format_xy v[1:2], s[4:7], s1 ; encoding: [0x00,0x00,0x04,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 271 | |
| 272 | buffer_load_format_xyz v[1:3], s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 273 | // SICI: buffer_load_format_xyz v[1:3], s[4:7], s1 ; encoding: [0x00,0x00,0x08,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 274 | |
| 275 | buffer_load_format_xyzw v[1:4], s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 276 | // SICI: buffer_load_format_xyzw v[1:4], s[4:7], s1 ; encoding: [0x00,0x00,0x0c,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 277 | |
| 278 | buffer_store_format_x v1, s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 279 | // SICI: buffer_store_format_x v1, s[4:7], s1 ; encoding: [0x00,0x00,0x10,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 280 | |
| 281 | buffer_store_format_xy v[1:2], s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 282 | // SICI: buffer_store_format_xy v[1:2], s[4:7], s1 ; encoding: [0x00,0x00,0x14,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 283 | |
| 284 | buffer_store_format_xyz v[1:3], s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 285 | // SICI: buffer_store_format_xyz v[1:3], s[4:7], s1 ; encoding: [0x00,0x00,0x18,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 286 | |
| 287 | buffer_store_format_xyzw v[1:4], s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 288 | // SICI: buffer_store_format_xyzw v[1:4], s[4:7], s1 ; encoding: [0x00,0x00,0x1c,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 289 | |
| 290 | buffer_load_ubyte v1, s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 291 | // SICI: buffer_load_ubyte v1, s[4:7], s1 ; encoding: [0x00,0x00,0x20,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 292 | |
| 293 | buffer_load_sbyte v1, s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 294 | // SICI: buffer_load_sbyte v1, s[4:7], s1 ; encoding: [0x00,0x00,0x24,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 295 | |
| 296 | buffer_load_ushort v1, s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 297 | // SICI: buffer_load_ushort v1, s[4:7], s1 ; encoding: [0x00,0x00,0x28,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 298 | |
| 299 | buffer_load_sshort v1, s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 300 | // SICI: buffer_load_sshort v1, s[4:7], s1 ; encoding: [0x00,0x00,0x2c,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 301 | |
| 302 | buffer_load_dword v1, s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 303 | // SICI: buffer_load_dword v1, s[4:7], s1 ; encoding: [0x00,0x00,0x30,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 304 | |
| 305 | buffer_load_dwordx2 v[1:2], s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 306 | // SICI: buffer_load_dwordx2 v[1:2], s[4:7], s1 ; encoding: [0x00,0x00,0x34,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 307 | |
| 308 | buffer_load_dwordx4 v[1:4], s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 309 | // SICI: buffer_load_dwordx4 v[1:4], s[4:7], s1 ; encoding: [0x00,0x00,0x38,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 310 | |
| 311 | buffer_store_byte v1, s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 312 | // SICI: buffer_store_byte v1, s[4:7], s1 ; encoding: [0x00,0x00,0x60,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 313 | |
| 314 | buffer_store_short v1, s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 315 | // SICI: buffer_store_short v1, s[4:7], s1 ; encoding: [0x00,0x00,0x68,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 316 | |
| 317 | buffer_store_dword v1 s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 318 | // SICI: buffer_store_dword v1, s[4:7], s1 ; encoding: [0x00,0x00,0x70,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 319 | |
| 320 | buffer_store_dwordx2 v[1:2], s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 321 | // SICI: buffer_store_dwordx2 v[1:2], s[4:7], s1 ; encoding: [0x00,0x00,0x74,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 322 | |
| 323 | buffer_store_dwordx4 v[1:4], s[4:7], s1 |
Matt Arsenault | c116767 | 2015-09-24 19:52:15 +0000 | [diff] [blame] | 324 | // SICI: buffer_store_dwordx4 v[1:4], s[4:7], s1 ; encoding: [0x00,0x00,0x78,0xe0,0x00,0x01,0x01,0x01] |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 325 | |
Matt Arsenault | d6adfb4 | 2015-09-24 19:52:21 +0000 | [diff] [blame] | 326 | //===----------------------------------------------------------------------===// |
| 327 | // Cache invalidation |
| 328 | //===----------------------------------------------------------------------===// |
| 329 | |
| 330 | buffer_wbinvl1 |
| 331 | // SICI: buffer_wbinvl1 ; encoding: [0x00,0x00,0xc4,0xe1,0x00,0x00,0x00,0x00] |
| 332 | |
| 333 | buffer_wbinvl1_sc |
| 334 | // SI: buffer_wbinvl1_sc ; encoding: [0x00,0x00,0xc0,0xe1,0x00,0x00,0x00,0x00] |
| 335 | // NOCI: error: instruction not supported on this GPU |
| 336 | // NOVI: error: instruction not supported on this GPU |
| 337 | |
| 338 | buffer_wbinvl1_vol |
| 339 | // CI: buffer_wbinvl1_vol ; encoding: [0x00,0x00,0xc0,0xe1,0x00,0x00,0x00,0x00] |
| 340 | // NOSI: error: instruction not supported on this GPU |
| 341 | |
Tom Stellard | d7e6f13 | 2015-04-08 01:09:26 +0000 | [diff] [blame] | 342 | // TODO: Atomics |