Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 1 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 2 | # RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-BE %s |
| 3 | # RUN: llvm-mc -triple powerpc64le-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-LE %s |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 4 | |
| 5 | # Branch facility |
| 6 | |
| 7 | # Branch instructions |
| 8 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 9 | # CHECK-BE: b target # encoding: [0b010010AA,A,A,0bAAAAAA00] |
| 10 | # CHECK-LE: b target # encoding: [0bAAAAAA00,A,A,0b010010AA] |
| 11 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_br24 |
| 12 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_br24 |
| 13 | b target |
| 14 | # CHECK-BE: ba target # encoding: [0b010010AA,A,A,0bAAAAAA10] |
| 15 | # CHECK-LE: ba target # encoding: [0bAAAAAA10,A,A,0b010010AA] |
| 16 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_br24abs |
| 17 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_br24abs |
| 18 | ba target |
| 19 | # CHECK-BE: bl target # encoding: [0b010010AA,A,A,0bAAAAAA01] |
| 20 | # CHECK-LE: bl target # encoding: [0bAAAAAA01,A,A,0b010010AA] |
| 21 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_br24 |
| 22 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_br24 |
| 23 | bl target |
| 24 | # CHECK-BE: bla target # encoding: [0b010010AA,A,A,0bAAAAAA11] |
| 25 | # CHECK-LE: bla target # encoding: [0bAAAAAA11,A,A,0b010010AA] |
| 26 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_br24abs |
| 27 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_br24abs |
| 28 | bla target |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 29 | |
Hal Finkel | 7c5cb06 | 2015-04-23 18:30:38 +0000 | [diff] [blame] | 30 | # CHECK-BE: bf 10, target # encoding: [0x40,0x8a,A,0bAAAAAA00] |
| 31 | # CHECK-LE: bf 10, target # encoding: [0bAAAAAA00,A,0x8a,0x40] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 32 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14 |
| 33 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14 |
| 34 | bc 4, 10, target |
Hal Finkel | 7c5cb06 | 2015-04-23 18:30:38 +0000 | [diff] [blame] | 35 | # CHECK-BE: bfa 10, target # encoding: [0x40,0x8a,A,0bAAAAAA10] |
| 36 | # CHECK-LE: bfa 10, target # encoding: [0bAAAAAA10,A,0x8a,0x40] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 37 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs |
| 38 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs |
| 39 | bca 4, 10, target |
Hal Finkel | 7c5cb06 | 2015-04-23 18:30:38 +0000 | [diff] [blame] | 40 | # CHECK-BE: bfl 10, target # encoding: [0x40,0x8a,A,0bAAAAAA01] |
| 41 | # CHECK-LE: bfl 10, target # encoding: [0bAAAAAA01,A,0x8a,0x40] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 42 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14 |
| 43 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14 |
| 44 | bcl 4, 10, target |
Hal Finkel | 7c5cb06 | 2015-04-23 18:30:38 +0000 | [diff] [blame] | 45 | # CHECK-BE: bfla 10, target # encoding: [0x40,0x8a,A,0bAAAAAA11] |
| 46 | # CHECK-LE: bfla 10, target # encoding: [0bAAAAAA11,A,0x8a,0x40] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 47 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs |
| 48 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs |
| 49 | bcla 4, 10, target |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 50 | |
Hal Finkel | 522e4d9 | 2016-09-03 02:31:44 +0000 | [diff] [blame] | 51 | # CHECK-BE: bc+ 12, 28, target # encoding: [0x41,0xfc,A,0bAAAAAA00] |
| 52 | # CHECK-LE: bc+ 12, 28, target # encoding: [0bAAAAAA00,A,0xfc,0x41] |
| 53 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14 |
| 54 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14 |
| 55 | bc+ 12, 28, target |
| 56 | # CHECK-BE: bc- 12, 28, target # encoding: [0x41,0xdc,A,0bAAAAAA00] |
| 57 | # CHECK-LE: bc- 12, 28, target # encoding: [0bAAAAAA00,A,0xdc,0x41] |
| 58 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14 |
| 59 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14 |
| 60 | bc- 12, 28, target |
| 61 | # CHECK-BE: bca+ 12, 28, target # encoding: [0x41,0xfc,A,0bAAAAAA10] |
| 62 | # CHECK-LE: bca+ 12, 28, target # encoding: [0bAAAAAA10,A,0xfc,0x41] |
| 63 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs |
| 64 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs |
| 65 | bca+ 12, 28, target |
| 66 | # CHECK-BE: bca- 12, 28, target # encoding: [0x41,0xdc,A,0bAAAAAA10] |
| 67 | # CHECK-LE: bca- 12, 28, target # encoding: [0bAAAAAA10,A,0xdc,0x41] |
| 68 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs |
| 69 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs |
| 70 | bca- 12, 28, target |
| 71 | # CHECK-BE: bcl+ 12, 28, target # encoding: [0x41,0xfc,A,0bAAAAAA01] |
| 72 | # CHECK-LE: bcl+ 12, 28, target # encoding: [0bAAAAAA01,A,0xfc,0x41] |
| 73 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14 |
| 74 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14 |
| 75 | bcl+ 12, 28, target |
| 76 | # CHECK-BE: bcl- 12, 28, target # encoding: [0x41,0xdc,A,0bAAAAAA01] |
| 77 | # CHECK-LE: bcl- 12, 28, target # encoding: [0bAAAAAA01,A,0xdc,0x41] |
| 78 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14 |
| 79 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14 |
| 80 | bcl- 12, 28, target |
| 81 | # CHECK-BE: bcla+ 12, 28, target # encoding: [0x41,0xfc,A,0bAAAAAA11] |
| 82 | # CHECK-LE: bcla+ 12, 28, target # encoding: [0bAAAAAA11,A,0xfc,0x41] |
| 83 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs |
| 84 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs |
| 85 | bcla+ 12, 28, target |
| 86 | # CHECK-BE: bcla- 12, 28, target # encoding: [0x41,0xdc,A,0bAAAAAA11] |
| 87 | # CHECK-LE: bcla- 12, 28, target # encoding: [0bAAAAAA11,A,0xdc,0x41] |
| 88 | # CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs |
| 89 | # CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs |
| 90 | bcla- 12, 28, target |
| 91 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 92 | # CHECK-BE: bclr 4, 10, 3 # encoding: [0x4c,0x8a,0x18,0x20] |
| 93 | # CHECK-LE: bclr 4, 10, 3 # encoding: [0x20,0x18,0x8a,0x4c] |
| 94 | bclr 4, 10, 3 |
Hal Finkel | 7c5cb06 | 2015-04-23 18:30:38 +0000 | [diff] [blame] | 95 | # CHECK-BE: bclr 4, 10 # encoding: [0x4c,0x8a,0x00,0x20] |
| 96 | # CHECK-LE: bclr 4, 10 # encoding: [0x20,0x00,0x8a,0x4c] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 97 | bclr 4, 10 |
| 98 | # CHECK-BE: bclrl 4, 10, 3 # encoding: [0x4c,0x8a,0x18,0x21] |
| 99 | # CHECK-LE: bclrl 4, 10, 3 # encoding: [0x21,0x18,0x8a,0x4c] |
| 100 | bclrl 4, 10, 3 |
Hal Finkel | 7c5cb06 | 2015-04-23 18:30:38 +0000 | [diff] [blame] | 101 | # CHECK-BE: bclrl 4, 10 # encoding: [0x4c,0x8a,0x00,0x21] |
| 102 | # CHECK-LE: bclrl 4, 10 # encoding: [0x21,0x00,0x8a,0x4c] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 103 | bclrl 4, 10 |
| 104 | # CHECK-BE: bcctr 4, 10, 3 # encoding: [0x4c,0x8a,0x1c,0x20] |
| 105 | # CHECK-LE: bcctr 4, 10, 3 # encoding: [0x20,0x1c,0x8a,0x4c] |
| 106 | bcctr 4, 10, 3 |
Hal Finkel | 7c5cb06 | 2015-04-23 18:30:38 +0000 | [diff] [blame] | 107 | # CHECK-BE: bcctr 4, 10 # encoding: [0x4c,0x8a,0x04,0x20] |
| 108 | # CHECK-LE: bcctr 4, 10 # encoding: [0x20,0x04,0x8a,0x4c] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 109 | bcctr 4, 10 |
| 110 | # CHECK-BE: bcctrl 4, 10, 3 # encoding: [0x4c,0x8a,0x1c,0x21] |
| 111 | # CHECK-LE: bcctrl 4, 10, 3 # encoding: [0x21,0x1c,0x8a,0x4c] |
| 112 | bcctrl 4, 10, 3 |
Hal Finkel | 7c5cb06 | 2015-04-23 18:30:38 +0000 | [diff] [blame] | 113 | # CHECK-BE: bcctrl 4, 10 # encoding: [0x4c,0x8a,0x04,0x21] |
| 114 | # CHECK-LE: bcctrl 4, 10 # encoding: [0x21,0x04,0x8a,0x4c] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 115 | bcctrl 4, 10 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 116 | |
| 117 | # Condition register instructions |
| 118 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 119 | # CHECK-BE: crand 2, 3, 4 # encoding: [0x4c,0x43,0x22,0x02] |
| 120 | # CHECK-LE: crand 2, 3, 4 # encoding: [0x02,0x22,0x43,0x4c] |
| 121 | crand 2, 3, 4 |
| 122 | # CHECK-BE: crnand 2, 3, 4 # encoding: [0x4c,0x43,0x21,0xc2] |
| 123 | # CHECK-LE: crnand 2, 3, 4 # encoding: [0xc2,0x21,0x43,0x4c] |
| 124 | crnand 2, 3, 4 |
| 125 | # CHECK-BE: cror 2, 3, 4 # encoding: [0x4c,0x43,0x23,0x82] |
| 126 | # CHECK-LE: cror 2, 3, 4 # encoding: [0x82,0x23,0x43,0x4c] |
| 127 | cror 2, 3, 4 |
| 128 | # CHECK-BE: crxor 2, 3, 4 # encoding: [0x4c,0x43,0x21,0x82] |
| 129 | # CHECK-LE: crxor 2, 3, 4 # encoding: [0x82,0x21,0x43,0x4c] |
| 130 | crxor 2, 3, 4 |
| 131 | # CHECK-BE: crnor 2, 3, 4 # encoding: [0x4c,0x43,0x20,0x42] |
| 132 | # CHECK-LE: crnor 2, 3, 4 # encoding: [0x42,0x20,0x43,0x4c] |
| 133 | crnor 2, 3, 4 |
| 134 | # CHECK-BE: creqv 2, 3, 4 # encoding: [0x4c,0x43,0x22,0x42] |
| 135 | # CHECK-LE: creqv 2, 3, 4 # encoding: [0x42,0x22,0x43,0x4c] |
| 136 | creqv 2, 3, 4 |
| 137 | # CHECK-BE: crandc 2, 3, 4 # encoding: [0x4c,0x43,0x21,0x02] |
| 138 | # CHECK-LE: crandc 2, 3, 4 # encoding: [0x02,0x21,0x43,0x4c] |
| 139 | crandc 2, 3, 4 |
| 140 | # CHECK-BE: crorc 2, 3, 4 # encoding: [0x4c,0x43,0x23,0x42] |
| 141 | # CHECK-LE: crorc 2, 3, 4 # encoding: [0x42,0x23,0x43,0x4c] |
| 142 | crorc 2, 3, 4 |
| 143 | # CHECK-BE: mcrf 2, 3 # encoding: [0x4d,0x0c,0x00,0x00] |
| 144 | # CHECK-LE: mcrf 2, 3 # encoding: [0x00,0x00,0x0c,0x4d] |
| 145 | mcrf 2, 3 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 146 | |
| 147 | # System call instruction |
| 148 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 149 | # CHECK-BE: sc 1 # encoding: [0x44,0x00,0x00,0x22] |
| 150 | # CHECK-LE: sc 1 # encoding: [0x22,0x00,0x00,0x44] |
| 151 | sc 1 |
Hal Finkel | 7c5cb06 | 2015-04-23 18:30:38 +0000 | [diff] [blame] | 152 | # CHECK-BE: sc # encoding: [0x44,0x00,0x00,0x02] |
| 153 | # CHECK-LE: sc # encoding: [0x02,0x00,0x00,0x44] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 154 | sc |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 155 | |
Bill Schmidt | e26236e | 2015-05-22 16:44:10 +0000 | [diff] [blame] | 156 | # Branch history rolling buffer |
| 157 | |
| 158 | # CHECK-BE: clrbhrb # encoding: [0x7c,0x00,0x03,0x5c] |
| 159 | # CHECK-LE: clrbhrb # encoding: [0x5c,0x03,0x00,0x7c] |
| 160 | clrbhrb |
| 161 | # CHECK-BE: mfbhrbe 9, 983 # encoding: [0x7d,0x3e,0xba,0x5c] |
| 162 | # CHECK-LE: mfbhrbe 9, 983 # encoding: [0x5c,0xba,0x3e,0x7d] |
| 163 | mfbhrbe 9, 983 |
| 164 | # CHECK-BE: rfebb 1 # encoding: [0x4c,0x00,0x09,0x24] |
| 165 | # CHECK-LE: rfebb 1 # encoding: [0x24,0x09,0x00,0x4c] |
| 166 | rfebb 1 |
| 167 | |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 168 | # Fixed-point facility |
| 169 | |
| 170 | # Fixed-point load instructions |
| 171 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 172 | # CHECK-BE: lbz 2, 128(4) # encoding: [0x88,0x44,0x00,0x80] |
| 173 | # CHECK-LE: lbz 2, 128(4) # encoding: [0x80,0x00,0x44,0x88] |
| 174 | lbz 2, 128(4) |
| 175 | # CHECK-BE: lbzx 2, 3, 4 # encoding: [0x7c,0x43,0x20,0xae] |
| 176 | # CHECK-LE: lbzx 2, 3, 4 # encoding: [0xae,0x20,0x43,0x7c] |
| 177 | lbzx 2, 3, 4 |
| 178 | # CHECK-BE: lbzu 2, 128(4) # encoding: [0x8c,0x44,0x00,0x80] |
| 179 | # CHECK-LE: lbzu 2, 128(4) # encoding: [0x80,0x00,0x44,0x8c] |
| 180 | lbzu 2, 128(4) |
| 181 | # CHECK-BE: lbzux 2, 3, 4 # encoding: [0x7c,0x43,0x20,0xee] |
| 182 | # CHECK-LE: lbzux 2, 3, 4 # encoding: [0xee,0x20,0x43,0x7c] |
| 183 | lbzux 2, 3, 4 |
| 184 | # CHECK-BE: lhz 2, 128(4) # encoding: [0xa0,0x44,0x00,0x80] |
| 185 | # CHECK-LE: lhz 2, 128(4) # encoding: [0x80,0x00,0x44,0xa0] |
| 186 | lhz 2, 128(4) |
| 187 | # CHECK-BE: lhzx 2, 3, 4 # encoding: [0x7c,0x43,0x22,0x2e] |
| 188 | # CHECK-LE: lhzx 2, 3, 4 # encoding: [0x2e,0x22,0x43,0x7c] |
| 189 | lhzx 2, 3, 4 |
| 190 | # CHECK-BE: lhzu 2, 128(4) # encoding: [0xa4,0x44,0x00,0x80] |
| 191 | # CHECK-LE: lhzu 2, 128(4) # encoding: [0x80,0x00,0x44,0xa4] |
| 192 | lhzu 2, 128(4) |
| 193 | # CHECK-BE: lhzux 2, 3, 4 # encoding: [0x7c,0x43,0x22,0x6e] |
| 194 | # CHECK-LE: lhzux 2, 3, 4 # encoding: [0x6e,0x22,0x43,0x7c] |
| 195 | lhzux 2, 3, 4 |
| 196 | # CHECK-BE: lha 2, 128(4) # encoding: [0xa8,0x44,0x00,0x80] |
| 197 | # CHECK-LE: lha 2, 128(4) # encoding: [0x80,0x00,0x44,0xa8] |
| 198 | lha 2, 128(4) |
| 199 | # CHECK-BE: lhax 2, 3, 4 # encoding: [0x7c,0x43,0x22,0xae] |
| 200 | # CHECK-LE: lhax 2, 3, 4 # encoding: [0xae,0x22,0x43,0x7c] |
| 201 | lhax 2, 3, 4 |
| 202 | # CHECK-BE: lhau 2, 128(4) # encoding: [0xac,0x44,0x00,0x80] |
| 203 | # CHECK-LE: lhau 2, 128(4) # encoding: [0x80,0x00,0x44,0xac] |
| 204 | lhau 2, 128(4) |
| 205 | # CHECK-BE: lhaux 2, 3, 4 # encoding: [0x7c,0x43,0x22,0xee] |
| 206 | # CHECK-LE: lhaux 2, 3, 4 # encoding: [0xee,0x22,0x43,0x7c] |
| 207 | lhaux 2, 3, 4 |
| 208 | # CHECK-BE: lwz 2, 128(4) # encoding: [0x80,0x44,0x00,0x80] |
| 209 | # CHECK-LE: lwz 2, 128(4) # encoding: [0x80,0x00,0x44,0x80] |
| 210 | lwz 2, 128(4) |
| 211 | # CHECK-BE: lwzx 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x2e] |
| 212 | # CHECK-LE: lwzx 2, 3, 4 # encoding: [0x2e,0x20,0x43,0x7c] |
| 213 | lwzx 2, 3, 4 |
| 214 | # CHECK-BE: lwzu 2, 128(4) # encoding: [0x84,0x44,0x00,0x80] |
| 215 | # CHECK-LE: lwzu 2, 128(4) # encoding: [0x80,0x00,0x44,0x84] |
| 216 | lwzu 2, 128(4) |
| 217 | # CHECK-BE: lwzux 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x6e] |
| 218 | # CHECK-LE: lwzux 2, 3, 4 # encoding: [0x6e,0x20,0x43,0x7c] |
| 219 | lwzux 2, 3, 4 |
| 220 | # CHECK-BE: lwa 2, 128(4) # encoding: [0xe8,0x44,0x00,0x82] |
| 221 | # CHECK-LE: lwa 2, 128(4) # encoding: [0x82,0x00,0x44,0xe8] |
| 222 | lwa 2, 128(4) |
| 223 | # CHECK-BE: lwax 2, 3, 4 # encoding: [0x7c,0x43,0x22,0xaa] |
| 224 | # CHECK-LE: lwax 2, 3, 4 # encoding: [0xaa,0x22,0x43,0x7c] |
| 225 | lwax 2, 3, 4 |
| 226 | # CHECK-BE: lwaux 2, 3, 4 # encoding: [0x7c,0x43,0x22,0xea] |
| 227 | # CHECK-LE: lwaux 2, 3, 4 # encoding: [0xea,0x22,0x43,0x7c] |
| 228 | lwaux 2, 3, 4 |
| 229 | # CHECK-BE: ld 2, 128(4) # encoding: [0xe8,0x44,0x00,0x80] |
| 230 | # CHECK-LE: ld 2, 128(4) # encoding: [0x80,0x00,0x44,0xe8] |
| 231 | ld 2, 128(4) |
| 232 | # CHECK-BE: ldx 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x2a] |
| 233 | # CHECK-LE: ldx 2, 3, 4 # encoding: [0x2a,0x20,0x43,0x7c] |
| 234 | ldx 2, 3, 4 |
| 235 | # CHECK-BE: ldu 2, 128(4) # encoding: [0xe8,0x44,0x00,0x81] |
| 236 | # CHECK-LE: ldu 2, 128(4) # encoding: [0x81,0x00,0x44,0xe8] |
| 237 | ldu 2, 128(4) |
| 238 | # CHECK-BE: ldux 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x6a] |
| 239 | # CHECK-LE: ldux 2, 3, 4 # encoding: [0x6a,0x20,0x43,0x7c] |
| 240 | ldux 2, 3, 4 |
Nemanja Ivanovic | a621a7f | 2016-03-31 15:26:37 +0000 | [diff] [blame] | 241 | # CHECK-BE: ldmx 2, 3, 4 # encoding: [0x7c,0x43,0x22,0x6a] |
| 242 | # CHECK-LE: ldmx 2, 3, 4 # encoding: [0x6a,0x22,0x43,0x7c] |
| 243 | ldmx 2, 3, 4 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 244 | |
| 245 | # Fixed-point store instructions |
| 246 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 247 | # CHECK-BE: stb 2, 128(4) # encoding: [0x98,0x44,0x00,0x80] |
| 248 | # CHECK-LE: stb 2, 128(4) # encoding: [0x80,0x00,0x44,0x98] |
| 249 | stb 2, 128(4) |
| 250 | # CHECK-BE: stbx 2, 3, 4 # encoding: [0x7c,0x43,0x21,0xae] |
| 251 | # CHECK-LE: stbx 2, 3, 4 # encoding: [0xae,0x21,0x43,0x7c] |
| 252 | stbx 2, 3, 4 |
| 253 | # CHECK-BE: stbu 2, 128(4) # encoding: [0x9c,0x44,0x00,0x80] |
| 254 | # CHECK-LE: stbu 2, 128(4) # encoding: [0x80,0x00,0x44,0x9c] |
| 255 | stbu 2, 128(4) |
| 256 | # CHECK-BE: stbux 2, 3, 4 # encoding: [0x7c,0x43,0x21,0xee] |
| 257 | # CHECK-LE: stbux 2, 3, 4 # encoding: [0xee,0x21,0x43,0x7c] |
| 258 | stbux 2, 3, 4 |
| 259 | # CHECK-BE: sth 2, 128(4) # encoding: [0xb0,0x44,0x00,0x80] |
| 260 | # CHECK-LE: sth 2, 128(4) # encoding: [0x80,0x00,0x44,0xb0] |
| 261 | sth 2, 128(4) |
| 262 | # CHECK-BE: sthx 2, 3, 4 # encoding: [0x7c,0x43,0x23,0x2e] |
| 263 | # CHECK-LE: sthx 2, 3, 4 # encoding: [0x2e,0x23,0x43,0x7c] |
| 264 | sthx 2, 3, 4 |
| 265 | # CHECK-BE: sthu 2, 128(4) # encoding: [0xb4,0x44,0x00,0x80] |
| 266 | # CHECK-LE: sthu 2, 128(4) # encoding: [0x80,0x00,0x44,0xb4] |
| 267 | sthu 2, 128(4) |
| 268 | # CHECK-BE: sthux 2, 3, 4 # encoding: [0x7c,0x43,0x23,0x6e] |
| 269 | # CHECK-LE: sthux 2, 3, 4 # encoding: [0x6e,0x23,0x43,0x7c] |
| 270 | sthux 2, 3, 4 |
| 271 | # CHECK-BE: stw 2, 128(4) # encoding: [0x90,0x44,0x00,0x80] |
| 272 | # CHECK-LE: stw 2, 128(4) # encoding: [0x80,0x00,0x44,0x90] |
| 273 | stw 2, 128(4) |
| 274 | # CHECK-BE: stwx 2, 3, 4 # encoding: [0x7c,0x43,0x21,0x2e] |
| 275 | # CHECK-LE: stwx 2, 3, 4 # encoding: [0x2e,0x21,0x43,0x7c] |
| 276 | stwx 2, 3, 4 |
| 277 | # CHECK-BE: stwu 2, 128(4) # encoding: [0x94,0x44,0x00,0x80] |
| 278 | # CHECK-LE: stwu 2, 128(4) # encoding: [0x80,0x00,0x44,0x94] |
| 279 | stwu 2, 128(4) |
| 280 | # CHECK-BE: stwux 2, 3, 4 # encoding: [0x7c,0x43,0x21,0x6e] |
| 281 | # CHECK-LE: stwux 2, 3, 4 # encoding: [0x6e,0x21,0x43,0x7c] |
| 282 | stwux 2, 3, 4 |
| 283 | # CHECK-BE: std 2, 128(4) # encoding: [0xf8,0x44,0x00,0x80] |
| 284 | # CHECK-LE: std 2, 128(4) # encoding: [0x80,0x00,0x44,0xf8] |
| 285 | std 2, 128(4) |
| 286 | # CHECK-BE: stdx 2, 3, 4 # encoding: [0x7c,0x43,0x21,0x2a] |
| 287 | # CHECK-LE: stdx 2, 3, 4 # encoding: [0x2a,0x21,0x43,0x7c] |
| 288 | stdx 2, 3, 4 |
| 289 | # CHECK-BE: stdu 2, 128(4) # encoding: [0xf8,0x44,0x00,0x81] |
| 290 | # CHECK-LE: stdu 2, 128(4) # encoding: [0x81,0x00,0x44,0xf8] |
| 291 | stdu 2, 128(4) |
| 292 | # CHECK-BE: stdux 2, 3, 4 # encoding: [0x7c,0x43,0x21,0x6a] |
| 293 | # CHECK-LE: stdux 2, 3, 4 # encoding: [0x6a,0x21,0x43,0x7c] |
| 294 | stdux 2, 3, 4 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 295 | |
| 296 | # Fixed-point load and store with byte reversal instructions |
| 297 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 298 | # CHECK-BE: lhbrx 2, 3, 4 # encoding: [0x7c,0x43,0x26,0x2c] |
| 299 | # CHECK-LE: lhbrx 2, 3, 4 # encoding: [0x2c,0x26,0x43,0x7c] |
| 300 | lhbrx 2, 3, 4 |
| 301 | # CHECK-BE: sthbrx 2, 3, 4 # encoding: [0x7c,0x43,0x27,0x2c] |
| 302 | # CHECK-LE: sthbrx 2, 3, 4 # encoding: [0x2c,0x27,0x43,0x7c] |
| 303 | sthbrx 2, 3, 4 |
| 304 | # CHECK-BE: lwbrx 2, 3, 4 # encoding: [0x7c,0x43,0x24,0x2c] |
| 305 | # CHECK-LE: lwbrx 2, 3, 4 # encoding: [0x2c,0x24,0x43,0x7c] |
| 306 | lwbrx 2, 3, 4 |
| 307 | # CHECK-BE: stwbrx 2, 3, 4 # encoding: [0x7c,0x43,0x25,0x2c] |
| 308 | # CHECK-LE: stwbrx 2, 3, 4 # encoding: [0x2c,0x25,0x43,0x7c] |
| 309 | stwbrx 2, 3, 4 |
| 310 | # CHECK-BE: ldbrx 2, 3, 4 # encoding: [0x7c,0x43,0x24,0x28] |
| 311 | # CHECK-LE: ldbrx 2, 3, 4 # encoding: [0x28,0x24,0x43,0x7c] |
| 312 | ldbrx 2, 3, 4 |
| 313 | # CHECK-BE: stdbrx 2, 3, 4 # encoding: [0x7c,0x43,0x25,0x28] |
| 314 | # CHECK-LE: stdbrx 2, 3, 4 # encoding: [0x28,0x25,0x43,0x7c] |
| 315 | stdbrx 2, 3, 4 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 316 | |
Ulrich Weigand | 2542b3b | 2013-07-03 18:29:47 +0000 | [diff] [blame] | 317 | # Fixed-point load and store multiple instructions |
| 318 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 319 | # CHECK-BE: lmw 2, 128(1) # encoding: [0xb8,0x41,0x00,0x80] |
| 320 | # CHECK-LE: lmw 2, 128(1) # encoding: [0x80,0x00,0x41,0xb8] |
| 321 | lmw 2, 128(1) |
| 322 | # CHECK-BE: stmw 2, 128(1) # encoding: [0xbc,0x41,0x00,0x80] |
| 323 | # CHECK-LE: stmw 2, 128(1) # encoding: [0x80,0x00,0x41,0xbc] |
| 324 | stmw 2, 128(1) |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 325 | |
| 326 | # FIXME: Fixed-point move assist instructions |
| 327 | |
| 328 | # Fixed-point arithmetic instructions |
| 329 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 330 | # CHECK-BE: addi 2, 3, 128 # encoding: [0x38,0x43,0x00,0x80] |
| 331 | # CHECK-LE: addi 2, 3, 128 # encoding: [0x80,0x00,0x43,0x38] |
| 332 | addi 2, 3, 128 |
| 333 | # CHECK-BE: addis 2, 3, 128 # encoding: [0x3c,0x43,0x00,0x80] |
| 334 | # CHECK-LE: addis 2, 3, 128 # encoding: [0x80,0x00,0x43,0x3c] |
| 335 | addis 2, 3, 128 |
| 336 | # CHECK-BE: add 2, 3, 4 # encoding: [0x7c,0x43,0x22,0x14] |
| 337 | # CHECK-LE: add 2, 3, 4 # encoding: [0x14,0x22,0x43,0x7c] |
| 338 | add 2, 3, 4 |
| 339 | # CHECK-BE: add. 2, 3, 4 # encoding: [0x7c,0x43,0x22,0x15] |
| 340 | # CHECK-LE: add. 2, 3, 4 # encoding: [0x15,0x22,0x43,0x7c] |
| 341 | add. 2, 3, 4 |
| 342 | # FIXME: addo 2, 3, 4 |
| 343 | # FIXME: addo. 2, 3, 4 |
| 344 | # CHECK-BE: subf 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x50] |
| 345 | # CHECK-LE: subf 2, 3, 4 # encoding: [0x50,0x20,0x43,0x7c] |
| 346 | subf 2, 3, 4 |
| 347 | # CHECK-BE: subf. 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x51] |
| 348 | # CHECK-LE: subf. 2, 3, 4 # encoding: [0x51,0x20,0x43,0x7c] |
| 349 | subf. 2, 3, 4 |
| 350 | # FIXME: subfo 2, 3, 4 |
| 351 | # FIXME: subfo. 2, 3, 4 |
| 352 | # CHECK-BE: addic 2, 3, 128 # encoding: [0x30,0x43,0x00,0x80] |
| 353 | # CHECK-LE: addic 2, 3, 128 # encoding: [0x80,0x00,0x43,0x30] |
| 354 | addic 2, 3, 128 |
| 355 | # CHECK-BE: addic. 2, 3, 128 # encoding: [0x34,0x43,0x00,0x80] |
| 356 | # CHECK-LE: addic. 2, 3, 128 # encoding: [0x80,0x00,0x43,0x34] |
| 357 | addic. 2, 3, 128 |
| 358 | # CHECK-BE: subfic 2, 3, 4 # encoding: [0x20,0x43,0x00,0x04] |
| 359 | # CHECK-LE: subfic 2, 3, 4 # encoding: [0x04,0x00,0x43,0x20] |
| 360 | subfic 2, 3, 4 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 361 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 362 | # CHECK-BE: addc 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x14] |
| 363 | # CHECK-LE: addc 2, 3, 4 # encoding: [0x14,0x20,0x43,0x7c] |
| 364 | addc 2, 3, 4 |
| 365 | # CHECK-BE: addc. 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x15] |
| 366 | # CHECK-LE: addc. 2, 3, 4 # encoding: [0x15,0x20,0x43,0x7c] |
| 367 | addc. 2, 3, 4 |
| 368 | # FIXME: addco 2, 3, 4 |
| 369 | # FIXME: addco. 2, 3, 4 |
| 370 | # CHECK-BE: subfc 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x10] |
| 371 | # CHECK-LE: subfc 2, 3, 4 # encoding: [0x10,0x20,0x43,0x7c] |
| 372 | subfc 2, 3, 4 |
| 373 | # CHECK-BE: subfc 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x10] |
| 374 | # CHECK-LE: subfc 2, 3, 4 # encoding: [0x10,0x20,0x43,0x7c] |
| 375 | subfc 2, 3, 4 |
| 376 | # FIXME: subfco 2, 3, 4 |
| 377 | # FIXME: subfco. 2, 3, 4 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 378 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 379 | # CHECK-BE: adde 2, 3, 4 # encoding: [0x7c,0x43,0x21,0x14] |
| 380 | # CHECK-LE: adde 2, 3, 4 # encoding: [0x14,0x21,0x43,0x7c] |
| 381 | adde 2, 3, 4 |
| 382 | # CHECK-BE: adde. 2, 3, 4 # encoding: [0x7c,0x43,0x21,0x15] |
| 383 | # CHECK-LE: adde. 2, 3, 4 # encoding: [0x15,0x21,0x43,0x7c] |
| 384 | adde. 2, 3, 4 |
| 385 | # FIXME: addeo 2, 3, 4 |
| 386 | # FIXME: addeo. 2, 3, 4 |
| 387 | # CHECK-BE: subfe 2, 3, 4 # encoding: [0x7c,0x43,0x21,0x10] |
| 388 | # CHECK-LE: subfe 2, 3, 4 # encoding: [0x10,0x21,0x43,0x7c] |
| 389 | subfe 2, 3, 4 |
| 390 | # CHECK-BE: subfe. 2, 3, 4 # encoding: [0x7c,0x43,0x21,0x11] |
| 391 | # CHECK-LE: subfe. 2, 3, 4 # encoding: [0x11,0x21,0x43,0x7c] |
| 392 | subfe. 2, 3, 4 |
| 393 | # FIXME: subfeo 2, 3, 4 |
| 394 | # FIXME: subfeo. 2, 3, 4 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 395 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 396 | # CHECK-BE: addme 2, 3 # encoding: [0x7c,0x43,0x01,0xd4] |
| 397 | # CHECK-LE: addme 2, 3 # encoding: [0xd4,0x01,0x43,0x7c] |
| 398 | addme 2, 3 |
| 399 | # CHECK-BE: addme. 2, 3 # encoding: [0x7c,0x43,0x01,0xd5] |
| 400 | # CHECK-LE: addme. 2, 3 # encoding: [0xd5,0x01,0x43,0x7c] |
| 401 | addme. 2, 3 |
| 402 | # FIXME: addmeo 2, 3 |
| 403 | # FIXME: addmeo. 2, 3 |
| 404 | # CHECK-BE: subfme 2, 3 # encoding: [0x7c,0x43,0x01,0xd0] |
| 405 | # CHECK-LE: subfme 2, 3 # encoding: [0xd0,0x01,0x43,0x7c] |
| 406 | subfme 2, 3 |
| 407 | # CHECK-BE: subfme. 2, 3 # encoding: [0x7c,0x43,0x01,0xd1] |
| 408 | # CHECK-LE: subfme. 2, 3 # encoding: [0xd1,0x01,0x43,0x7c] |
| 409 | subfme. 2, 3 |
| 410 | # FIXME: subfmeo 2, 3 |
| 411 | # FIXME: subfmeo. 2, 3 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 412 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 413 | # CHECK-BE: addze 2, 3 # encoding: [0x7c,0x43,0x01,0x94] |
| 414 | # CHECK-LE: addze 2, 3 # encoding: [0x94,0x01,0x43,0x7c] |
| 415 | addze 2, 3 |
| 416 | # CHECK-BE: addze. 2, 3 # encoding: [0x7c,0x43,0x01,0x95] |
| 417 | # CHECK-LE: addze. 2, 3 # encoding: [0x95,0x01,0x43,0x7c] |
| 418 | addze. 2, 3 |
| 419 | # FIXME: addzeo 2, 3 |
| 420 | # FIXME: addzeo. 2, 3 |
| 421 | # CHECK-BE: subfze 2, 3 # encoding: [0x7c,0x43,0x01,0x90] |
| 422 | # CHECK-LE: subfze 2, 3 # encoding: [0x90,0x01,0x43,0x7c] |
| 423 | subfze 2, 3 |
| 424 | # CHECK-BE: subfze. 2, 3 # encoding: [0x7c,0x43,0x01,0x91] |
| 425 | # CHECK-LE: subfze. 2, 3 # encoding: [0x91,0x01,0x43,0x7c] |
| 426 | subfze. 2, 3 |
| 427 | # FIXME: subfzeo 2, 3 |
| 428 | # FIXME: subfzeo. 2, 3 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 429 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 430 | # CHECK-BE: neg 2, 3 # encoding: [0x7c,0x43,0x00,0xd0] |
| 431 | # CHECK-LE: neg 2, 3 # encoding: [0xd0,0x00,0x43,0x7c] |
| 432 | neg 2, 3 |
| 433 | # CHECK-BE: neg. 2, 3 # encoding: [0x7c,0x43,0x00,0xd1] |
| 434 | # CHECK-LE: neg. 2, 3 # encoding: [0xd1,0x00,0x43,0x7c] |
| 435 | neg. 2, 3 |
| 436 | # FIXME: nego 2, 3 |
| 437 | # FIXME: nego. 2, 3 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 438 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 439 | # CHECK-BE: mulli 2, 3, 128 # encoding: [0x1c,0x43,0x00,0x80] |
| 440 | # CHECK-LE: mulli 2, 3, 128 # encoding: [0x80,0x00,0x43,0x1c] |
| 441 | mulli 2, 3, 128 |
| 442 | # CHECK-BE: mulhw 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x96] |
| 443 | # CHECK-LE: mulhw 2, 3, 4 # encoding: [0x96,0x20,0x43,0x7c] |
| 444 | mulhw 2, 3, 4 |
| 445 | # CHECK-BE: mulhw. 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x97] |
| 446 | # CHECK-LE: mulhw. 2, 3, 4 # encoding: [0x97,0x20,0x43,0x7c] |
| 447 | mulhw. 2, 3, 4 |
| 448 | # CHECK-BE: mullw 2, 3, 4 # encoding: [0x7c,0x43,0x21,0xd6] |
| 449 | # CHECK-LE: mullw 2, 3, 4 # encoding: [0xd6,0x21,0x43,0x7c] |
| 450 | mullw 2, 3, 4 |
| 451 | # CHECK-BE: mullw. 2, 3, 4 # encoding: [0x7c,0x43,0x21,0xd7] |
| 452 | # CHECK-LE: mullw. 2, 3, 4 # encoding: [0xd7,0x21,0x43,0x7c] |
| 453 | mullw. 2, 3, 4 |
| 454 | # FIXME: mullwo 2, 3, 4 |
| 455 | # FIXME: mullwo. 2, 3, 4 |
| 456 | # CHECK-BE: mulhwu 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x16] |
| 457 | # CHECK-LE: mulhwu 2, 3, 4 # encoding: [0x16,0x20,0x43,0x7c] |
| 458 | mulhwu 2, 3, 4 |
| 459 | # CHECK-BE: mulhwu. 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x17] |
| 460 | # CHECK-LE: mulhwu. 2, 3, 4 # encoding: [0x17,0x20,0x43,0x7c] |
| 461 | mulhwu. 2, 3, 4 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 462 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 463 | # CHECK-BE: divw 2, 3, 4 # encoding: [0x7c,0x43,0x23,0xd6] |
| 464 | # CHECK-LE: divw 2, 3, 4 # encoding: [0xd6,0x23,0x43,0x7c] |
| 465 | divw 2, 3, 4 |
| 466 | # CHECK-BE: divw. 2, 3, 4 # encoding: [0x7c,0x43,0x23,0xd7] |
| 467 | # CHECK-LE: divw. 2, 3, 4 # encoding: [0xd7,0x23,0x43,0x7c] |
| 468 | divw. 2, 3, 4 |
| 469 | # FIXME: divwo 2, 3, 4 |
| 470 | # FIXME: divwo. 2, 3, 4 |
| 471 | # CHECK-BE: divwu 2, 3, 4 # encoding: [0x7c,0x43,0x23,0x96] |
| 472 | # CHECK-LE: divwu 2, 3, 4 # encoding: [0x96,0x23,0x43,0x7c] |
| 473 | divwu 2, 3, 4 |
| 474 | # CHECK-BE: divwu. 2, 3, 4 # encoding: [0x7c,0x43,0x23,0x97] |
| 475 | # CHECK-LE: divwu. 2, 3, 4 # encoding: [0x97,0x23,0x43,0x7c] |
| 476 | divwu. 2, 3, 4 |
| 477 | # FIXME: divwuo 2, 3, 4 |
| 478 | # FIXME: divwuo. 2, 3, 4 |
Nemanja Ivanovic | c090479 | 2015-04-09 23:54:37 +0000 | [diff] [blame] | 479 | # CHECK-BE: divwe 2, 3, 4 # encoding: [0x7c,0x43,0x23,0x56] |
| 480 | # CHECK-LE: divwe 2, 3, 4 # encoding: [0x56,0x23,0x43,0x7c] |
| 481 | divwe 2, 3, 4 |
| 482 | # CHECK-BE: divwe. 2, 3, 4 # encoding: [0x7c,0x43,0x23,0x57] |
| 483 | # CHECK-LE: divwe. 2, 3, 4 # encoding: [0x57,0x23,0x43,0x7c] |
| 484 | divwe. 2, 3, 4 |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 485 | # FIXME: divweo 2, 3, 4 |
| 486 | # FIXME: divweo. 2, 3, 4 |
Nemanja Ivanovic | c090479 | 2015-04-09 23:54:37 +0000 | [diff] [blame] | 487 | # CHECK-BE: divweu 2, 3, 4 # encoding: [0x7c,0x43,0x23,0x16] |
| 488 | # CHECK-LE: divweu 2, 3, 4 # encoding: [0x16,0x23,0x43,0x7c] |
| 489 | divweu 2, 3, 4 |
| 490 | # CHECK-BE: divweu. 2, 3, 4 # encoding: [0x7c,0x43,0x23,0x17] |
| 491 | # CHECK-LE: divweu. 2, 3, 4 # encoding: [0x17,0x23,0x43,0x7c] |
| 492 | divweu. 2, 3, 4 |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 493 | # FIXME: divweuo 2, 3, 4 |
| 494 | # FIXME: divweuo. 2, 3, 4 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 495 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 496 | # CHECK-BE: mulld 2, 3, 4 # encoding: [0x7c,0x43,0x21,0xd2] |
| 497 | # CHECK-LE: mulld 2, 3, 4 # encoding: [0xd2,0x21,0x43,0x7c] |
| 498 | mulld 2, 3, 4 |
| 499 | # CHECK-BE: mulld. 2, 3, 4 # encoding: [0x7c,0x43,0x21,0xd3] |
| 500 | # CHECK-LE: mulld. 2, 3, 4 # encoding: [0xd3,0x21,0x43,0x7c] |
| 501 | mulld. 2, 3, 4 |
| 502 | # FIXME: mulldo 2, 3, 4 |
| 503 | # FIXME: mulldo. 2, 3, 4 |
| 504 | # CHECK-BE: mulhd 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x92] |
| 505 | # CHECK-LE: mulhd 2, 3, 4 # encoding: [0x92,0x20,0x43,0x7c] |
| 506 | mulhd 2, 3, 4 |
| 507 | # CHECK-BE: mulhd. 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x93] |
| 508 | # CHECK-LE: mulhd. 2, 3, 4 # encoding: [0x93,0x20,0x43,0x7c] |
| 509 | mulhd. 2, 3, 4 |
| 510 | # CHECK-BE: mulhdu 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x12] |
| 511 | # CHECK-LE: mulhdu 2, 3, 4 # encoding: [0x12,0x20,0x43,0x7c] |
| 512 | mulhdu 2, 3, 4 |
| 513 | # CHECK-BE: mulhdu. 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x13] |
| 514 | # CHECK-LE: mulhdu. 2, 3, 4 # encoding: [0x13,0x20,0x43,0x7c] |
| 515 | mulhdu. 2, 3, 4 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 516 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 517 | # CHECK-BE: divd 2, 3, 4 # encoding: [0x7c,0x43,0x23,0xd2] |
| 518 | # CHECK-LE: divd 2, 3, 4 # encoding: [0xd2,0x23,0x43,0x7c] |
| 519 | divd 2, 3, 4 |
| 520 | # CHECK-BE: divd. 2, 3, 4 # encoding: [0x7c,0x43,0x23,0xd3] |
| 521 | # CHECK-LE: divd. 2, 3, 4 # encoding: [0xd3,0x23,0x43,0x7c] |
| 522 | divd. 2, 3, 4 |
| 523 | # FIXME: divdo 2, 3, 4 |
| 524 | # FIXME: divdo. 2, 3, 4 |
| 525 | # CHECK-BE: divdu 2, 3, 4 # encoding: [0x7c,0x43,0x23,0x92] |
| 526 | # CHECK-LE: divdu 2, 3, 4 # encoding: [0x92,0x23,0x43,0x7c] |
| 527 | divdu 2, 3, 4 |
| 528 | # CHECK-BE: divdu. 2, 3, 4 # encoding: [0x7c,0x43,0x23,0x93] |
| 529 | # CHECK-LE: divdu. 2, 3, 4 # encoding: [0x93,0x23,0x43,0x7c] |
| 530 | divdu. 2, 3, 4 |
| 531 | # FIXME: divduo 2, 3, 4 |
| 532 | # FIXME: divduo. 2, 3, 4 |
Nemanja Ivanovic | c090479 | 2015-04-09 23:54:37 +0000 | [diff] [blame] | 533 | # CHECK-BE: divde 2, 3, 4 # encoding: [0x7c,0x43,0x23,0x52] |
| 534 | # CHECK-LE: divde 2, 3, 4 # encoding: [0x52,0x23,0x43,0x7c] |
| 535 | divde 2, 3, 4 |
| 536 | # CHECK-BE: divde. 2, 3, 4 # encoding: [0x7c,0x43,0x23,0x53] |
| 537 | # CHECK-LE: divde. 2, 3, 4 # encoding: [0x53,0x23,0x43,0x7c] |
| 538 | divde. 2, 3, 4 |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 539 | # FIXME: divdeo 2, 3, 4 |
| 540 | # FIXME: divdeo. 2, 3, 4 |
Nemanja Ivanovic | c090479 | 2015-04-09 23:54:37 +0000 | [diff] [blame] | 541 | # CHECK-BE: divdeu 2, 3, 4 # encoding: [0x7c,0x43,0x23,0x12] |
| 542 | # CHECK-LE: divdeu 2, 3, 4 # encoding: [0x12,0x23,0x43,0x7c] |
| 543 | divdeu 2, 3, 4 |
| 544 | # CHECK-BE: divdeu. 2, 3, 4 # encoding: [0x7c,0x43,0x23,0x13] |
| 545 | # CHECK-LE: divdeu. 2, 3, 4 # encoding: [0x13,0x23,0x43,0x7c] |
| 546 | divdeu. 2, 3, 4 |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 547 | # FIXME: divdeuo 2, 3, 4 |
| 548 | # FIXME: divdeuo. 2, 3, 4 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 549 | |
Ulrich Weigand | c0944b5 | 2013-07-08 14:49:37 +0000 | [diff] [blame] | 550 | # Fixed-point compare instructions |
| 551 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 552 | # CHECK-BE: cmpdi 2, 3, 128 # encoding: [0x2d,0x23,0x00,0x80] |
| 553 | # CHECK-LE: cmpdi 2, 3, 128 # encoding: [0x80,0x00,0x23,0x2d] |
| 554 | cmpi 2, 1, 3, 128 |
| 555 | # CHECK-BE: cmpd 2, 3, 4 # encoding: [0x7d,0x23,0x20,0x00] |
| 556 | # CHECK-LE: cmpd 2, 3, 4 # encoding: [0x00,0x20,0x23,0x7d] |
| 557 | cmp 2, 1, 3, 4 |
| 558 | # CHECK-BE: cmpldi 2, 3, 128 # encoding: [0x29,0x23,0x00,0x80] |
| 559 | # CHECK-LE: cmpldi 2, 3, 128 # encoding: [0x80,0x00,0x23,0x29] |
| 560 | cmpli 2, 1, 3, 128 |
| 561 | # CHECK-BE: cmpld 2, 3, 4 # encoding: [0x7d,0x23,0x20,0x40] |
| 562 | # CHECK-LE: cmpld 2, 3, 4 # encoding: [0x40,0x20,0x23,0x7d] |
| 563 | cmpl 2, 1, 3, 4 |
Ulrich Weigand | c0944b5 | 2013-07-08 14:49:37 +0000 | [diff] [blame] | 564 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 565 | # CHECK-BE: cmpwi 2, 3, 128 # encoding: [0x2d,0x03,0x00,0x80] |
| 566 | # CHECK-LE: cmpwi 2, 3, 128 # encoding: [0x80,0x00,0x03,0x2d] |
| 567 | cmpi 2, 0, 3, 128 |
| 568 | # CHECK-BE: cmpw 2, 3, 4 # encoding: [0x7d,0x03,0x20,0x00] |
| 569 | # CHECK-LE: cmpw 2, 3, 4 # encoding: [0x00,0x20,0x03,0x7d] |
| 570 | cmp 2, 0, 3, 4 |
| 571 | # CHECK-BE: cmplwi 2, 3, 128 # encoding: [0x29,0x03,0x00,0x80] |
| 572 | # CHECK-LE: cmplwi 2, 3, 128 # encoding: [0x80,0x00,0x03,0x29] |
| 573 | cmpli 2, 0, 3, 128 |
| 574 | # CHECK-BE: cmplw 2, 3, 4 # encoding: [0x7d,0x03,0x20,0x40] |
| 575 | # CHECK-LE: cmplw 2, 3, 4 # encoding: [0x40,0x20,0x03,0x7d] |
| 576 | cmpl 2, 0, 3, 4 |
Nemanja Ivanovic | 87bcae3 | 2016-04-13 18:51:18 +0000 | [diff] [blame] | 577 | # CHECK-BE: cmprb 3, 1, 7, 17 # encoding: [0x7d,0xa7,0x89,0x80] |
| 578 | # CHECK-LE: cmprb 3, 1, 7, 17 # encoding: [0x80,0x89,0xa7,0x7d] |
| 579 | cmprb 3, 1, 7, 17 |
| 580 | # CHECK-BE: cmpeqb 3, 7, 17 # encoding: [0x7d,0x87,0x89,0xc0] |
| 581 | # CHECK-LE: cmpeqb 3, 7, 17 # encoding: [0xc0,0x89,0x87,0x7d] |
| 582 | cmpeqb 3, 7, 17 |
| 583 | # CHECK-BE: cnttzw 7, 17 # encoding: [0x7e,0x27,0x04,0x34] |
| 584 | # CHECK-LE: cnttzw 7, 17 # encoding: [0x34,0x04,0x27,0x7e] |
| 585 | cnttzw 7, 17 |
| 586 | # CHECK-BE: cnttzw. 7, 17 # encoding: [0x7e,0x27,0x04,0x35] |
| 587 | # CHECK-LE: cnttzw. 7, 17 # encoding: [0x35,0x04,0x27,0x7e] |
| 588 | cnttzw. 7, 17 |
| 589 | # CHECK-BE: cnttzd 7, 17 # encoding: [0x7e,0x27,0x04,0x74] |
| 590 | # CHECK-LE: cnttzd 7, 17 # encoding: [0x74,0x04,0x27,0x7e] |
| 591 | cnttzd 7, 17 |
| 592 | # CHECK-BE: cnttzd. 7, 17 # encoding: [0x7e,0x27,0x04,0x75] |
| 593 | # CHECK-LE: cnttzd. 7, 17 # encoding: [0x75,0x04,0x27,0x7e] |
| 594 | cnttzd. 7, 17 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 595 | |
Ulrich Weigand | 56b0e7b | 2013-07-04 14:40:12 +0000 | [diff] [blame] | 596 | # Fixed-point trap instructions |
| 597 | |
Hal Finkel | 7c5cb06 | 2015-04-23 18:30:38 +0000 | [diff] [blame] | 598 | # CHECK-BE: twllti 3, 4 # encoding: [0x0c,0x43,0x00,0x04] |
| 599 | # CHECK-LE: twllti 3, 4 # encoding: [0x04,0x00,0x43,0x0c] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 600 | twi 2, 3, 4 |
Hal Finkel | 7c5cb06 | 2015-04-23 18:30:38 +0000 | [diff] [blame] | 601 | # CHECK-BE: twllt 3, 4 # encoding: [0x7c,0x43,0x20,0x08] |
| 602 | # CHECK-LE: twllt 3, 4 # encoding: [0x08,0x20,0x43,0x7c] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 603 | tw 2, 3, 4 |
Hal Finkel | 7c5cb06 | 2015-04-23 18:30:38 +0000 | [diff] [blame] | 604 | # CHECK-BE: tdllti 3, 4 # encoding: [0x08,0x43,0x00,0x04] |
| 605 | # CHECK-LE: tdllti 3, 4 # encoding: [0x04,0x00,0x43,0x08] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 606 | tdi 2, 3, 4 |
Hal Finkel | 7c5cb06 | 2015-04-23 18:30:38 +0000 | [diff] [blame] | 607 | # CHECK-BE: tdllt 3, 4 # encoding: [0x7c,0x43,0x20,0x88] |
| 608 | # CHECK-LE: tdllt 3, 4 # encoding: [0x88,0x20,0x43,0x7c] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 609 | td 2, 3, 4 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 610 | |
| 611 | # Fixed-point select |
| 612 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 613 | # CHECK-BE: isel 2, 3, 4, 5 # encoding: [0x7c,0x43,0x21,0x5e] |
| 614 | # CHECK-LE: isel 2, 3, 4, 5 # encoding: [0x5e,0x21,0x43,0x7c] |
| 615 | isel 2, 3, 4, 5 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 616 | |
| 617 | # Fixed-point logical instructions |
| 618 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 619 | # CHECK-BE: andi. 2, 3, 128 # encoding: [0x70,0x62,0x00,0x80] |
| 620 | # CHECK-LE: andi. 2, 3, 128 # encoding: [0x80,0x00,0x62,0x70] |
| 621 | andi. 2, 3, 128 |
| 622 | # CHECK-BE: andis. 2, 3, 128 # encoding: [0x74,0x62,0x00,0x80] |
| 623 | # CHECK-LE: andis. 2, 3, 128 # encoding: [0x80,0x00,0x62,0x74] |
| 624 | andis. 2, 3, 128 |
| 625 | # CHECK-BE: ori 2, 3, 128 # encoding: [0x60,0x62,0x00,0x80] |
| 626 | # CHECK-LE: ori 2, 3, 128 # encoding: [0x80,0x00,0x62,0x60] |
| 627 | ori 2, 3, 128 |
| 628 | # CHECK-BE: oris 2, 3, 128 # encoding: [0x64,0x62,0x00,0x80] |
| 629 | # CHECK-LE: oris 2, 3, 128 # encoding: [0x80,0x00,0x62,0x64] |
| 630 | oris 2, 3, 128 |
| 631 | # CHECK-BE: xori 2, 3, 128 # encoding: [0x68,0x62,0x00,0x80] |
| 632 | # CHECK-LE: xori 2, 3, 128 # encoding: [0x80,0x00,0x62,0x68] |
| 633 | xori 2, 3, 128 |
| 634 | # CHECK-BE: xoris 2, 3, 128 # encoding: [0x6c,0x62,0x00,0x80] |
| 635 | # CHECK-LE: xoris 2, 3, 128 # encoding: [0x80,0x00,0x62,0x6c] |
| 636 | xoris 2, 3, 128 |
| 637 | # CHECK-BE: and 2, 3, 4 # encoding: [0x7c,0x62,0x20,0x38] |
| 638 | # CHECK-LE: and 2, 3, 4 # encoding: [0x38,0x20,0x62,0x7c] |
| 639 | and 2, 3, 4 |
| 640 | # CHECK-BE: and. 2, 3, 4 # encoding: [0x7c,0x62,0x20,0x39] |
| 641 | # CHECK-LE: and. 2, 3, 4 # encoding: [0x39,0x20,0x62,0x7c] |
| 642 | and. 2, 3, 4 |
| 643 | # CHECK-BE: xor 2, 3, 4 # encoding: [0x7c,0x62,0x22,0x78] |
| 644 | # CHECK-LE: xor 2, 3, 4 # encoding: [0x78,0x22,0x62,0x7c] |
| 645 | xor 2, 3, 4 |
| 646 | # CHECK-BE: xor. 2, 3, 4 # encoding: [0x7c,0x62,0x22,0x79] |
| 647 | # CHECK-LE: xor. 2, 3, 4 # encoding: [0x79,0x22,0x62,0x7c] |
| 648 | xor. 2, 3, 4 |
| 649 | # CHECK-BE: nand 2, 3, 4 # encoding: [0x7c,0x62,0x23,0xb8] |
| 650 | # CHECK-LE: nand 2, 3, 4 # encoding: [0xb8,0x23,0x62,0x7c] |
| 651 | nand 2, 3, 4 |
| 652 | # CHECK-BE: nand. 2, 3, 4 # encoding: [0x7c,0x62,0x23,0xb9] |
| 653 | # CHECK-LE: nand. 2, 3, 4 # encoding: [0xb9,0x23,0x62,0x7c] |
| 654 | nand. 2, 3, 4 |
| 655 | # CHECK-BE: or 2, 3, 4 # encoding: [0x7c,0x62,0x23,0x78] |
| 656 | # CHECK-LE: or 2, 3, 4 # encoding: [0x78,0x23,0x62,0x7c] |
| 657 | or 2, 3, 4 |
| 658 | # CHECK-BE: or. 2, 3, 4 # encoding: [0x7c,0x62,0x23,0x79] |
| 659 | # CHECK-LE: or. 2, 3, 4 # encoding: [0x79,0x23,0x62,0x7c] |
| 660 | or. 2, 3, 4 |
| 661 | # CHECK-BE: nor 2, 3, 4 # encoding: [0x7c,0x62,0x20,0xf8] |
| 662 | # CHECK-LE: nor 2, 3, 4 # encoding: [0xf8,0x20,0x62,0x7c] |
| 663 | nor 2, 3, 4 |
| 664 | # CHECK-BE: nor. 2, 3, 4 # encoding: [0x7c,0x62,0x20,0xf9] |
| 665 | # CHECK-LE: nor. 2, 3, 4 # encoding: [0xf9,0x20,0x62,0x7c] |
| 666 | nor. 2, 3, 4 |
| 667 | # CHECK-BE: eqv 2, 3, 4 # encoding: [0x7c,0x62,0x22,0x38] |
| 668 | # CHECK-LE: eqv 2, 3, 4 # encoding: [0x38,0x22,0x62,0x7c] |
| 669 | eqv 2, 3, 4 |
| 670 | # CHECK-BE: eqv. 2, 3, 4 # encoding: [0x7c,0x62,0x22,0x39] |
| 671 | # CHECK-LE: eqv. 2, 3, 4 # encoding: [0x39,0x22,0x62,0x7c] |
| 672 | eqv. 2, 3, 4 |
| 673 | # CHECK-BE: andc 2, 3, 4 # encoding: [0x7c,0x62,0x20,0x78] |
| 674 | # CHECK-LE: andc 2, 3, 4 # encoding: [0x78,0x20,0x62,0x7c] |
| 675 | andc 2, 3, 4 |
| 676 | # CHECK-BE: andc. 2, 3, 4 # encoding: [0x7c,0x62,0x20,0x79] |
| 677 | # CHECK-LE: andc. 2, 3, 4 # encoding: [0x79,0x20,0x62,0x7c] |
| 678 | andc. 2, 3, 4 |
| 679 | # CHECK-BE: orc 2, 3, 4 # encoding: [0x7c,0x62,0x23,0x38] |
| 680 | # CHECK-LE: orc 2, 3, 4 # encoding: [0x38,0x23,0x62,0x7c] |
| 681 | orc 2, 3, 4 |
| 682 | # CHECK-BE: orc. 2, 3, 4 # encoding: [0x7c,0x62,0x23,0x39] |
| 683 | # CHECK-LE: orc. 2, 3, 4 # encoding: [0x39,0x23,0x62,0x7c] |
| 684 | orc. 2, 3, 4 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 685 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 686 | # CHECK-BE: extsb 2, 3 # encoding: [0x7c,0x62,0x07,0x74] |
| 687 | # CHECK-LE: extsb 2, 3 # encoding: [0x74,0x07,0x62,0x7c] |
| 688 | extsb 2, 3 |
| 689 | # CHECK-BE: extsb. 2, 3 # encoding: [0x7c,0x62,0x07,0x75] |
| 690 | # CHECK-LE: extsb. 2, 3 # encoding: [0x75,0x07,0x62,0x7c] |
| 691 | extsb. 2, 3 |
| 692 | # CHECK-BE: extsh 2, 3 # encoding: [0x7c,0x62,0x07,0x34] |
| 693 | # CHECK-LE: extsh 2, 3 # encoding: [0x34,0x07,0x62,0x7c] |
| 694 | extsh 2, 3 |
| 695 | # CHECK-BE: extsh. 2, 3 # encoding: [0x7c,0x62,0x07,0x35] |
| 696 | # CHECK-LE: extsh. 2, 3 # encoding: [0x35,0x07,0x62,0x7c] |
| 697 | extsh. 2, 3 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 698 | |
Hal Finkel | f405234 | 2015-10-28 03:26:45 +0000 | [diff] [blame] | 699 | # CHECK-BE: cntlzw 2, 3 # encoding: [0x7c,0x62,0x00,0x34] |
| 700 | # CHECK-LE: cntlzw 2, 3 # encoding: [0x34,0x00,0x62,0x7c] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 701 | cntlzw 2, 3 |
Hal Finkel | f405234 | 2015-10-28 03:26:45 +0000 | [diff] [blame] | 702 | # CHECK-BE: cntlzw. 2, 3 # encoding: [0x7c,0x62,0x00,0x35] |
| 703 | # CHECK-LE: cntlzw. 2, 3 # encoding: [0x35,0x00,0x62,0x7c] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 704 | cntlzw. 2, 3 |
Hal Finkel | f405234 | 2015-10-28 03:26:45 +0000 | [diff] [blame] | 705 | # |
| 706 | # The POWER variant of cntlzw |
| 707 | # CHECK-BE: cntlzw 2, 3 # encoding: [0x7c,0x62,0x00,0x34] |
| 708 | # CHECK-LE: cntlzw 2, 3 # encoding: [0x34,0x00,0x62,0x7c] |
| 709 | cntlz 2, 3 |
| 710 | # CHECK-BE: cntlzw. 2, 3 # encoding: [0x7c,0x62,0x00,0x35] |
| 711 | # CHECK-LE: cntlzw. 2, 3 # encoding: [0x35,0x00,0x62,0x7c] |
| 712 | cntlz. 2, 3 |
Hal Finkel | 4edc66b | 2015-01-03 01:16:37 +0000 | [diff] [blame] | 713 | cmpb 7, 21, 4 |
| 714 | # CHECK-BE: cmpb 7, 21, 4 # encoding: [0x7e,0xa7,0x23,0xf8] |
| 715 | # CHECK-LE: cmpb 7, 21, 4 # encoding: [0xf8,0x23,0xa7,0x7e] |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 716 | # FIXME: popcntb 2, 3 |
| 717 | # CHECK-BE: popcntw 2, 3 # encoding: [0x7c,0x62,0x02,0xf4] |
| 718 | # CHECK-LE: popcntw 2, 3 # encoding: [0xf4,0x02,0x62,0x7c] |
| 719 | popcntw 2, 3 |
| 720 | # FIXME: prtyd 2, 3 |
| 721 | # FIXME: prtyw 2, 3 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 722 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 723 | # CHECK-BE: extsw 2, 3 # encoding: [0x7c,0x62,0x07,0xb4] |
| 724 | # CHECK-LE: extsw 2, 3 # encoding: [0xb4,0x07,0x62,0x7c] |
| 725 | extsw 2, 3 |
| 726 | # CHECK-BE: extsw. 2, 3 # encoding: [0x7c,0x62,0x07,0xb5] |
| 727 | # CHECK-LE: extsw. 2, 3 # encoding: [0xb5,0x07,0x62,0x7c] |
| 728 | extsw. 2, 3 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 729 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 730 | # CHECK-BE: cntlzd 2, 3 # encoding: [0x7c,0x62,0x00,0x74] |
| 731 | # CHECK-LE: cntlzd 2, 3 # encoding: [0x74,0x00,0x62,0x7c] |
| 732 | cntlzd 2, 3 |
| 733 | # CHECK-BE: cntlzd. 2, 3 # encoding: [0x7c,0x62,0x00,0x75] |
| 734 | # CHECK-LE: cntlzd. 2, 3 # encoding: [0x75,0x00,0x62,0x7c] |
| 735 | cntlzd. 2, 3 |
| 736 | # CHECK-BE: popcntd 2, 3 # encoding: [0x7c,0x62,0x03,0xf4] |
| 737 | # CHECK-LE: popcntd 2, 3 # encoding: [0xf4,0x03,0x62,0x7c] |
| 738 | popcntd 2, 3 |
Nemanja Ivanovic | c090479 | 2015-04-09 23:54:37 +0000 | [diff] [blame] | 739 | # CHECK-BE: bpermd 2, 3, 4 # encoding: [0x7c,0x62,0x21,0xf8] |
| 740 | # CHECK-LE: bpermd 2, 3, 4 # encoding: [0xf8,0x21,0x62,0x7c] |
| 741 | bpermd 2, 3, 4 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 742 | |
| 743 | # Fixed-point rotate and shift instructions |
| 744 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 745 | # CHECK-BE: rlwinm 2, 3, 4, 5, 6 # encoding: [0x54,0x62,0x21,0x4c] |
| 746 | # CHECK-LE: rlwinm 2, 3, 4, 5, 6 # encoding: [0x4c,0x21,0x62,0x54] |
| 747 | rlwinm 2, 3, 4, 5, 6 |
| 748 | # CHECK-BE: rlwinm. 2, 3, 4, 5, 6 # encoding: [0x54,0x62,0x21,0x4d] |
| 749 | # CHECK-LE: rlwinm. 2, 3, 4, 5, 6 # encoding: [0x4d,0x21,0x62,0x54] |
| 750 | rlwinm. 2, 3, 4, 5, 6 |
| 751 | # CHECK-BE: rlwnm 2, 3, 4, 5, 6 # encoding: [0x5c,0x62,0x21,0x4c] |
| 752 | # CHECK-LE: rlwnm 2, 3, 4, 5, 6 # encoding: [0x4c,0x21,0x62,0x5c] |
| 753 | rlwnm 2, 3, 4, 5, 6 |
| 754 | # CHECK-BE: rlwnm. 2, 3, 4, 5, 6 # encoding: [0x5c,0x62,0x21,0x4d] |
| 755 | # CHECK-LE: rlwnm. 2, 3, 4, 5, 6 # encoding: [0x4d,0x21,0x62,0x5c] |
| 756 | rlwnm. 2, 3, 4, 5, 6 |
| 757 | # CHECK-BE: rlwimi 2, 3, 4, 5, 6 # encoding: [0x50,0x62,0x21,0x4c] |
| 758 | # CHECK-LE: rlwimi 2, 3, 4, 5, 6 # encoding: [0x4c,0x21,0x62,0x50] |
| 759 | rlwimi 2, 3, 4, 5, 6 |
| 760 | # CHECK-BE: rlwimi. 2, 3, 4, 5, 6 # encoding: [0x50,0x62,0x21,0x4d] |
| 761 | # CHECK-LE: rlwimi. 2, 3, 4, 5, 6 # encoding: [0x4d,0x21,0x62,0x50] |
| 762 | rlwimi. 2, 3, 4, 5, 6 |
| 763 | # CHECK-BE: rldicl 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x40] |
| 764 | # CHECK-LE: rldicl 2, 3, 4, 5 # encoding: [0x40,0x21,0x62,0x78] |
| 765 | rldicl 2, 3, 4, 5 |
| 766 | # CHECK-BE: rldicl. 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x41] |
| 767 | # CHECK-LE: rldicl. 2, 3, 4, 5 # encoding: [0x41,0x21,0x62,0x78] |
| 768 | rldicl. 2, 3, 4, 5 |
| 769 | # CHECK-BE: rldicr 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x44] |
| 770 | # CHECK-LE: rldicr 2, 3, 4, 5 # encoding: [0x44,0x21,0x62,0x78] |
| 771 | rldicr 2, 3, 4, 5 |
| 772 | # CHECK-BE: rldicr. 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x45] |
| 773 | # CHECK-LE: rldicr. 2, 3, 4, 5 # encoding: [0x45,0x21,0x62,0x78] |
| 774 | rldicr. 2, 3, 4, 5 |
| 775 | # CHECK-BE: rldic 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x48] |
| 776 | # CHECK-LE: rldic 2, 3, 4, 5 # encoding: [0x48,0x21,0x62,0x78] |
| 777 | rldic 2, 3, 4, 5 |
| 778 | # CHECK-BE: rldic. 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x49] |
| 779 | # CHECK-LE: rldic. 2, 3, 4, 5 # encoding: [0x49,0x21,0x62,0x78] |
| 780 | rldic. 2, 3, 4, 5 |
| 781 | # CHECK-BE: rldcl 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x50] |
| 782 | # CHECK-LE: rldcl 2, 3, 4, 5 # encoding: [0x50,0x21,0x62,0x78] |
| 783 | rldcl 2, 3, 4, 5 |
| 784 | # CHECK-BE: rldcl. 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x51] |
| 785 | # CHECK-LE: rldcl. 2, 3, 4, 5 # encoding: [0x51,0x21,0x62,0x78] |
| 786 | rldcl. 2, 3, 4, 5 |
| 787 | # CHECK-BE: rldcr 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x52] |
| 788 | # CHECK-LE: rldcr 2, 3, 4, 5 # encoding: [0x52,0x21,0x62,0x78] |
| 789 | rldcr 2, 3, 4, 5 |
| 790 | # CHECK-BE: rldcr. 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x53] |
| 791 | # CHECK-LE: rldcr. 2, 3, 4, 5 # encoding: [0x53,0x21,0x62,0x78] |
| 792 | rldcr. 2, 3, 4, 5 |
| 793 | # CHECK-BE: rldimi 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x4c] |
| 794 | # CHECK-LE: rldimi 2, 3, 4, 5 # encoding: [0x4c,0x21,0x62,0x78] |
| 795 | rldimi 2, 3, 4, 5 |
| 796 | # CHECK-BE: rldimi. 2, 3, 4, 5 # encoding: [0x78,0x62,0x21,0x4d] |
| 797 | # CHECK-LE: rldimi. 2, 3, 4, 5 # encoding: [0x4d,0x21,0x62,0x78] |
| 798 | rldimi. 2, 3, 4, 5 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 799 | |
Hal Finkel | 6e9110a | 2015-03-28 19:42:41 +0000 | [diff] [blame] | 800 | # Aliases that take bit masks... |
| 801 | |
| 802 | # CHECK-BE: rlwinm 0, 0, 30, 31, 31 # encoding: [0x54,0x00,0xf7,0xfe] |
| 803 | rlwinm 0, 0, 30, 1 |
| 804 | # CHECK-BE: rlwinm. 0, 0, 30, 31, 31 # encoding: [0x54,0x00,0xf7,0xff] |
| 805 | rlwinm. 0, 0, 30, 1 |
| 806 | # CHECK-BE: rlwinm 0, 0, 30, 31, 0 # encoding: [0x54,0x00,0xf7,0xc0] |
| 807 | rlwinm 0, 0, 30, 2147483649 |
| 808 | # CHECK-BE: rlwinm. 0, 0, 30, 31, 0 # encoding: [0x54,0x00,0xf7,0xc1] |
| 809 | rlwinm. 0, 0, 30, 2147483649 |
| 810 | # CHECK-BE: rlwimi 0, 0, 30, 31, 31 # encoding: [0x50,0x00,0xf7,0xfe] |
| 811 | rlwimi 0, 0, 30, 1 |
| 812 | # CHECK-BE: rlwimi. 0, 0, 30, 31, 31 # encoding: [0x50,0x00,0xf7,0xff] |
| 813 | rlwimi. 0, 0, 30, 1 |
| 814 | # CHECK-BE: rlwimi 0, 0, 30, 31, 0 # encoding: [0x50,0x00,0xf7,0xc0] |
| 815 | rlwimi 0, 0, 30, 2147483649 |
| 816 | # CHECK-BE: rlwimi. 0, 0, 30, 31, 0 # encoding: [0x50,0x00,0xf7,0xc1] |
| 817 | rlwimi. 0, 0, 30, 2147483649 |
| 818 | # CHECK-BE: rlwnm 0, 0, 30, 31, 31 # encoding: [0x5c,0x00,0xf7,0xfe] |
| 819 | rlwnm 0, 0, 30, 1 |
| 820 | # CHECK-BE: rlwnm. 0, 0, 30, 31, 31 # encoding: [0x5c,0x00,0xf7,0xff] |
| 821 | rlwnm. 0, 0, 30, 1 |
| 822 | # CHECK-BE: rlwnm 0, 0, 30, 31, 0 # encoding: [0x5c,0x00,0xf7,0xc0] |
| 823 | rlwnm 0, 0, 30, 2147483649 |
| 824 | # CHECK-BE: rlwnm. 0, 0, 30, 31, 0 # encoding: [0x5c,0x00,0xf7,0xc1] |
| 825 | rlwnm. 0, 0, 30, 2147483649 |
| 826 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 827 | # CHECK-BE: slw 2, 3, 4 # encoding: [0x7c,0x62,0x20,0x30] |
| 828 | # CHECK-LE: slw 2, 3, 4 # encoding: [0x30,0x20,0x62,0x7c] |
| 829 | slw 2, 3, 4 |
| 830 | # CHECK-BE: slw. 2, 3, 4 # encoding: [0x7c,0x62,0x20,0x31] |
| 831 | # CHECK-LE: slw. 2, 3, 4 # encoding: [0x31,0x20,0x62,0x7c] |
| 832 | slw. 2, 3, 4 |
| 833 | # CHECK-BE: srw 2, 3, 4 # encoding: [0x7c,0x62,0x24,0x30] |
| 834 | # CHECK-LE: srw 2, 3, 4 # encoding: [0x30,0x24,0x62,0x7c] |
| 835 | srw 2, 3, 4 |
| 836 | # CHECK-BE: srw. 2, 3, 4 # encoding: [0x7c,0x62,0x24,0x31] |
| 837 | # CHECK-LE: srw. 2, 3, 4 # encoding: [0x31,0x24,0x62,0x7c] |
| 838 | srw. 2, 3, 4 |
| 839 | # CHECK-BE: srawi 2, 3, 4 # encoding: [0x7c,0x62,0x26,0x70] |
| 840 | # CHECK-LE: srawi 2, 3, 4 # encoding: [0x70,0x26,0x62,0x7c] |
| 841 | srawi 2, 3, 4 |
| 842 | # CHECK-BE: srawi. 2, 3, 4 # encoding: [0x7c,0x62,0x26,0x71] |
| 843 | # CHECK-LE: srawi. 2, 3, 4 # encoding: [0x71,0x26,0x62,0x7c] |
| 844 | srawi. 2, 3, 4 |
| 845 | # CHECK-BE: sraw 2, 3, 4 # encoding: [0x7c,0x62,0x26,0x30] |
| 846 | # CHECK-LE: sraw 2, 3, 4 # encoding: [0x30,0x26,0x62,0x7c] |
| 847 | sraw 2, 3, 4 |
| 848 | # CHECK-BE: sraw. 2, 3, 4 # encoding: [0x7c,0x62,0x26,0x31] |
| 849 | # CHECK-LE: sraw. 2, 3, 4 # encoding: [0x31,0x26,0x62,0x7c] |
| 850 | sraw. 2, 3, 4 |
| 851 | # CHECK-BE: sld 2, 3, 4 # encoding: [0x7c,0x62,0x20,0x36] |
| 852 | # CHECK-LE: sld 2, 3, 4 # encoding: [0x36,0x20,0x62,0x7c] |
| 853 | sld 2, 3, 4 |
| 854 | # CHECK-BE: sld. 2, 3, 4 # encoding: [0x7c,0x62,0x20,0x37] |
| 855 | # CHECK-LE: sld. 2, 3, 4 # encoding: [0x37,0x20,0x62,0x7c] |
| 856 | sld. 2, 3, 4 |
| 857 | # CHECK-BE: srd 2, 3, 4 # encoding: [0x7c,0x62,0x24,0x36] |
| 858 | # CHECK-LE: srd 2, 3, 4 # encoding: [0x36,0x24,0x62,0x7c] |
| 859 | srd 2, 3, 4 |
| 860 | # CHECK-BE: srd. 2, 3, 4 # encoding: [0x7c,0x62,0x24,0x37] |
| 861 | # CHECK-LE: srd. 2, 3, 4 # encoding: [0x37,0x24,0x62,0x7c] |
| 862 | srd. 2, 3, 4 |
| 863 | # CHECK-BE: sradi 2, 3, 4 # encoding: [0x7c,0x62,0x26,0x74] |
| 864 | # CHECK-LE: sradi 2, 3, 4 # encoding: [0x74,0x26,0x62,0x7c] |
| 865 | sradi 2, 3, 4 |
| 866 | # CHECK-BE: sradi. 2, 3, 4 # encoding: [0x7c,0x62,0x26,0x75] |
| 867 | # CHECK-LE: sradi. 2, 3, 4 # encoding: [0x75,0x26,0x62,0x7c] |
| 868 | sradi. 2, 3, 4 |
| 869 | # CHECK-BE: srad 2, 3, 4 # encoding: [0x7c,0x62,0x26,0x34] |
| 870 | # CHECK-LE: srad 2, 3, 4 # encoding: [0x34,0x26,0x62,0x7c] |
| 871 | srad 2, 3, 4 |
| 872 | # CHECK-BE: srad. 2, 3, 4 # encoding: [0x7c,0x62,0x26,0x35] |
| 873 | # CHECK-LE: srad. 2, 3, 4 # encoding: [0x35,0x26,0x62,0x7c] |
| 874 | srad. 2, 3, 4 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 875 | |
| 876 | # FIXME: BCD assist instructions |
| 877 | |
| 878 | # Move to/from system register instructions |
| 879 | |
Ulrich Weigand | cae3a17 | 2014-03-24 18:16:09 +0000 | [diff] [blame] | 880 | # CHECK-BE: mtspr 600, 2 # encoding: [0x7c,0x58,0x93,0xa6] |
| 881 | # CHECK-LE: mtspr 600, 2 # encoding: [0xa6,0x93,0x58,0x7c] |
| 882 | mtspr 600, 2 |
| 883 | # CHECK-BE: mfspr 2, 600 # encoding: [0x7c,0x58,0x92,0xa6] |
| 884 | # CHECK-LE: mfspr 2, 600 # encoding: [0xa6,0x92,0x58,0x7c] |
| 885 | mfspr 2, 600 |
| 886 | # CHECK-BE: mtcrf 123, 2 # encoding: [0x7c,0x47,0xb1,0x20] |
| 887 | # CHECK-LE: mtcrf 123, 2 # encoding: [0x20,0xb1,0x47,0x7c] |
| 888 | mtcrf 123, 2 |
| 889 | # CHECK-BE: mfcr 2 # encoding: [0x7c,0x40,0x00,0x26] |
| 890 | # CHECK-LE: mfcr 2 # encoding: [0x26,0x00,0x40,0x7c] |
| 891 | mfcr 2 |
| 892 | # CHECK-BE: mtocrf 16, 2 # encoding: [0x7c,0x51,0x01,0x20] |
| 893 | # CHECK-LE: mtocrf 16, 2 # encoding: [0x20,0x01,0x51,0x7c] |
| 894 | mtocrf 16, 2 |
| 895 | # CHECK-BE: mfocrf 16, 8 # encoding: [0x7e,0x10,0x80,0x26] |
| 896 | # CHECK-LE: mfocrf 16, 8 # encoding: [0x26,0x80,0x10,0x7e] |
| 897 | mfocrf 16, 8 |
Nemanja Ivanovic | a621a7f | 2016-03-31 15:26:37 +0000 | [diff] [blame] | 898 | # CHECK-BE: mcrxrx 7 # encoding: [0x7f,0x80,0x04,0x80] |
| 899 | # CHECK-LE: mcrxrx 7 # encoding: [0x80,0x04,0x80,0x7f] |
| 900 | mcrxrx 7 |
Ulrich Weigand | 640192d | 2013-05-03 19:49:39 +0000 | [diff] [blame] | 901 | |
Joerg Sonnenberger | 9e9623c | 2014-07-29 22:21:57 +0000 | [diff] [blame] | 902 | # Move to/from segment register |
| 903 | # CHECK-BE: mtsr 12, 10 # encoding: [0x7d,0x4c,0x01,0xa4] |
| 904 | # CHECK-LE: mtsr 12, 10 # encoding: [0xa4,0x01,0x4c,0x7d] |
| 905 | mtsr 12,%r10 |
| 906 | # CHECK-BE: mfsr 10, 12 # encoding: [0x7d,0x4c,0x04,0xa6] |
| 907 | # CHECK-LE: mfsr 10, 12 # encoding: [0xa6,0x04,0x4c,0x7d] |
| 908 | mfsr %r10,12 |
| 909 | |
| 910 | # CHECK-BE: mtsrin 10, 12 # encoding: [0x7d,0x40,0x61,0xe4] |
| 911 | # CHECK-LE: mtsrin 10, 12 # encoding: [0xe4,0x61,0x40,0x7d] |
| 912 | mtsrin %r10,%r12 |
| 913 | # CHECK-BE: mfsrin 10, 12 # encoding: [0x7d,0x40,0x65,0x26] |
| 914 | # CHECK-LE: mfsrin 10, 12 # encoding: [0x26,0x65,0x40,0x7d] |
| 915 | mfsrin %r10,%r12 |
Chuang-Yu Cheng | eaf4b3d | 2016-04-06 01:46:45 +0000 | [diff] [blame] | 916 | |
| 917 | # Copy-Paste Facility |
| 918 | # CHECK-BE: copy 2, 19, 1 # encoding: [0x7c,0x22,0x9e,0x0c] |
| 919 | # CHECK-LE: copy 2, 19, 1 # encoding: [0x0c,0x9e,0x22,0x7c] |
| 920 | copy 2, 19, 1 |
| 921 | # CHECK-BE: paste 17, 1, 1 # encoding: [0x7c,0x31,0x0f,0x0c] |
| 922 | # CHECK-LE: paste 17, 1, 1 # encoding: [0x0c,0x0f,0x31,0x7c] |
| 923 | paste 17, 1, 1 |
| 924 | # CHECK-BE: cp_abort # encoding: [0x7c,0x00,0x06,0x8c] |
| 925 | # CHECK-LE: cp_abort # encoding: [0x8c,0x06,0x00,0x7c] |
| 926 | cp_abort |
| 927 | |
| 928 | # Message Synchronize |
| 929 | # CHECK-BE: msgsync # encoding: [0x7c,0x00,0x06,0xec] |
| 930 | # CHECK-LE: msgsync # encoding: [0xec,0x06,0x00,0x7c] |
| 931 | msgsync |
| 932 | |
| 933 | # SLB Invalidate Entry Global |
| 934 | # CHECK-BE: slbieg 6, 21 # encoding: [0x7c,0xc0,0xab,0xa4] |
| 935 | # CHECK-LE: slbieg 6, 21 # encoding: [0xa4,0xab,0xc0,0x7c] |
| 936 | slbieg 6, 21 |
| 937 | |
| 938 | # SLB Synchronize |
| 939 | # CHECK-BE: slbsync # encoding: [0x7c,0x00,0x02,0xa4] |
| 940 | # CHECK-LE: slbsync # encoding: [0xa4,0x02,0x00,0x7c] |
| 941 | slbsync |
| 942 | |
| 943 | # Power-Saving Mode Instruction |
| 944 | # CHECK-BE: stop # encoding: [0x4c,0x00,0x02,0xe4] |
| 945 | # CHECK-LE: stop # encoding: [0xe4,0x02,0x00,0x4c] |
| 946 | stop |