OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_PPC_CONSTANTS_PPC_H_ | 5 #ifndef V8_PPC_CONSTANTS_PPC_H_ |
6 #define V8_PPC_CONSTANTS_PPC_H_ | 6 #define V8_PPC_CONSTANTS_PPC_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include "src/base/logging.h" | 10 #include "src/base/logging.h" |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 NEGX = 104 << 1, | 197 NEGX = 104 << 1, |
198 MFVSRWZ = 115 << 1, // Move From VSR Word And Zero | 198 MFVSRWZ = 115 << 1, // Move From VSR Word And Zero |
199 LBZUX = 119 << 1, // load byte zero w/ update x-form | 199 LBZUX = 119 << 1, // load byte zero w/ update x-form |
200 NORX = 124 << 1, | 200 NORX = 124 << 1, |
201 SUBFEX = 136 << 1, | 201 SUBFEX = 136 << 1, |
202 ADDEX = 138 << 1, | 202 ADDEX = 138 << 1, |
203 STDX = 149 << 1, | 203 STDX = 149 << 1, |
204 STWX = 151 << 1, // store word w/ x-form | 204 STWX = 151 << 1, // store word w/ x-form |
205 MTVSRD = 179 << 1, // Move To VSR Doubleword | 205 MTVSRD = 179 << 1, // Move To VSR Doubleword |
206 STDUX = 181 << 1, | 206 STDUX = 181 << 1, |
207 STWUX = 183 << 1, // store word w/ update x-form | 207 STWUX = 183 << 1, // store word w/ update x-form |
208 /* | 208 /* |
209 MTCRF | 209 MTCRF |
210 MTMSR | 210 MTMSR |
211 STWCXx | 211 STWCXx |
212 SUBFZEX | 212 SUBFZEX |
213 */ | |
214 ADDZEX = 202 << 1, // Add to Zero Extended | |
215 /* | |
216 MTSR | |
217 */ | 213 */ |
| 214 ADDZEX = 202 << 1, // Add to Zero Extended |
| 215 /* |
| 216 MTSR |
| 217 */ |
| 218 |
218 MTVSRWA = 211 << 1, // Move To VSR Word Algebraic | 219 MTVSRWA = 211 << 1, // Move To VSR Word Algebraic |
219 STBX = 215 << 1, // store byte w/ x-form | 220 STBX = 215 << 1, // store byte w/ x-form |
220 MULLD = 233 << 1, // Multiply Low Double Word | 221 MULLD = 233 << 1, // Multiply Low Double Word |
221 MULLW = 235 << 1, // Multiply Low Word | 222 MULLW = 235 << 1, // Multiply Low Word |
222 MTVSRWZ = 243 << 1, // Move To VSR Word And Zero | 223 MTVSRWZ = 243 << 1, // Move To VSR Word And Zero |
223 STBUX = 247 << 1, // store byte w/ update x-form | 224 STBUX = 247 << 1, // store byte w/ update x-form |
| 225 MODUD = 265 << 1, // Modulo Unsigned Dword |
224 ADDX = 266 << 1, // Add | 226 ADDX = 266 << 1, // Add |
| 227 MODUW = 267 << 1, // Modulo Unsigned Word |
225 LHZX = 279 << 1, // load half-word zero w/ x-form | 228 LHZX = 279 << 1, // load half-word zero w/ x-form |
226 LHZUX = 311 << 1, // load half-word zero w/ update x-form | 229 LHZUX = 311 << 1, // load half-word zero w/ update x-form |
227 LWAX = 341 << 1, // load word algebraic w/ x-form | 230 LWAX = 341 << 1, // load word algebraic w/ x-form |
228 LHAX = 343 << 1, // load half-word algebraic w/ x-form | 231 LHAX = 343 << 1, // load half-word algebraic w/ x-form |
229 LHAUX = 375 << 1, // load half-word algebraic w/ update x-form | 232 LHAUX = 375 << 1, // load half-word algebraic w/ update x-form |
230 XORX = 316 << 1, // Exclusive OR | 233 XORX = 316 << 1, // Exclusive OR |
231 MFSPR = 339 << 1, // Move from Special-Purpose-Register | 234 MFSPR = 339 << 1, // Move from Special-Purpose-Register |
232 POPCNTW = 378 << 1, // Population Count Words | 235 POPCNTW = 378 << 1, // Population Count Words |
233 STHX = 407 << 1, // store half-word w/ x-form | 236 STHX = 407 << 1, // store half-word w/ x-form |
234 ORC = 412 << 1, // Or with Complement | 237 ORC = 412 << 1, // Or with Complement |
(...skipping 13 matching lines...) Expand all Loading... |
248 SRWX = 536 << 1, // Shift Right Word | 251 SRWX = 536 << 1, // Shift Right Word |
249 SRDX = 539 << 1, // Shift Right Double Word | 252 SRDX = 539 << 1, // Shift Right Double Word |
250 LFSUX = 567 << 1, // load float-single w/ update x-form | 253 LFSUX = 567 << 1, // load float-single w/ update x-form |
251 SYNC = 598 << 1, // Synchronize | 254 SYNC = 598 << 1, // Synchronize |
252 LFDX = 599 << 1, // load float-double w/ x-form | 255 LFDX = 599 << 1, // load float-double w/ x-form |
253 LFDUX = 631 << 1, // load float-double w/ update X-form | 256 LFDUX = 631 << 1, // load float-double w/ update X-form |
254 STFSX = 663 << 1, // store float-single w/ x-form | 257 STFSX = 663 << 1, // store float-single w/ x-form |
255 STFSUX = 695 << 1, // store float-single w/ update x-form | 258 STFSUX = 695 << 1, // store float-single w/ update x-form |
256 STFDX = 727 << 1, // store float-double w/ x-form | 259 STFDX = 727 << 1, // store float-double w/ x-form |
257 STFDUX = 759 << 1, // store float-double w/ update x-form | 260 STFDUX = 759 << 1, // store float-double w/ update x-form |
| 261 MODSD = 777 << 1, // Modulo Signed Dword |
| 262 MODSW = 779 << 1, // Modulo Signed Word |
258 LHBRX = 790 << 1, // load half word byte reversed w/ x-form | 263 LHBRX = 790 << 1, // load half word byte reversed w/ x-form |
259 SRAW = 792 << 1, // Shift Right Algebraic Word | 264 SRAW = 792 << 1, // Shift Right Algebraic Word |
260 SRAD = 794 << 1, // Shift Right Algebraic Double Word | 265 SRAD = 794 << 1, // Shift Right Algebraic Double Word |
261 SRAWIX = 824 << 1, // Shift Right Algebraic Word Immediate | 266 SRAWIX = 824 << 1, // Shift Right Algebraic Word Immediate |
262 SRADIX = 413 << 2, // Shift Right Algebraic Double Word Immediate | 267 SRADIX = 413 << 2, // Shift Right Algebraic Double Word Immediate |
263 EXTSH = 922 << 1, // Extend Sign Halfword | 268 EXTSH = 922 << 1, // Extend Sign Halfword |
264 EXTSB = 954 << 1, // Extend Sign Byte | 269 EXTSB = 954 << 1, // Extend Sign Byte |
265 ICBI = 982 << 1, // Instruction Cache Block Invalidate | 270 ICBI = 982 << 1, // Instruction Cache Block Invalidate |
266 EXTSW = 986 << 1 // Extend Sign Word | 271 EXTSW = 986 << 1 // Extend Sign Word |
267 }; | 272 }; |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
621 // Lookup the register number for the name provided. | 626 // Lookup the register number for the name provided. |
622 static int Number(const char* name); | 627 static int Number(const char* name); |
623 | 628 |
624 private: | 629 private: |
625 static const char* names_[kNumDoubleRegisters]; | 630 static const char* names_[kNumDoubleRegisters]; |
626 }; | 631 }; |
627 } // namespace internal | 632 } // namespace internal |
628 } // namespace v8 | 633 } // namespace v8 |
629 | 634 |
630 #endif // V8_PPC_CONSTANTS_PPC_H_ | 635 #endif // V8_PPC_CONSTANTS_PPC_H_ |
OLD | NEW |