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 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
234 STHUX = 439 << 1, // store half-word w/ update x-form | 234 STHUX = 439 << 1, // store half-word w/ update x-form |
235 ORX = 444 << 1, // Or | 235 ORX = 444 << 1, // Or |
236 DIVDU = 457 << 1, // Divide Double Word Unsigned | 236 DIVDU = 457 << 1, // Divide Double Word Unsigned |
237 DIVWU = 459 << 1, // Divide Word Unsigned | 237 DIVWU = 459 << 1, // Divide Word Unsigned |
238 MTSPR = 467 << 1, // Move to Special-Purpose-Register | 238 MTSPR = 467 << 1, // Move to Special-Purpose-Register |
239 DIVD = 489 << 1, // Divide Double Word | 239 DIVD = 489 << 1, // Divide Double Word |
240 DIVW = 491 << 1, // Divide Word | 240 DIVW = 491 << 1, // Divide Word |
241 POPCNTD = 506 << 1, // Population Count Doubleword | 241 POPCNTD = 506 << 1, // Population Count Doubleword |
242 | 242 |
243 // Below represent bits 10-1 (any value >= 512) | 243 // Below represent bits 10-1 (any value >= 512) |
| 244 LDBRX = 532 << 1, // load double word byte reversed w/ x-form |
| 245 LWBRX = 534 << 1, // load word byte reversed w/ x-form |
244 LFSX = 535 << 1, // load float-single w/ x-form | 246 LFSX = 535 << 1, // load float-single w/ x-form |
245 SRWX = 536 << 1, // Shift Right Word | 247 SRWX = 536 << 1, // Shift Right Word |
246 SRDX = 539 << 1, // Shift Right Double Word | 248 SRDX = 539 << 1, // Shift Right Double Word |
247 LFSUX = 567 << 1, // load float-single w/ update x-form | 249 LFSUX = 567 << 1, // load float-single w/ update x-form |
248 SYNC = 598 << 1, // Synchronize | 250 SYNC = 598 << 1, // Synchronize |
249 LFDX = 599 << 1, // load float-double w/ x-form | 251 LFDX = 599 << 1, // load float-double w/ x-form |
250 LFDUX = 631 << 1, // load float-double w/ update X-form | 252 LFDUX = 631 << 1, // load float-double w/ update X-form |
251 STFSX = 663 << 1, // store float-single w/ x-form | 253 STFSX = 663 << 1, // store float-single w/ x-form |
252 STFSUX = 695 << 1, // store float-single w/ update x-form | 254 STFSUX = 695 << 1, // store float-single w/ update x-form |
253 STFDX = 727 << 1, // store float-double w/ x-form | 255 STFDX = 727 << 1, // store float-double w/ x-form |
254 STFDUX = 759 << 1, // store float-double w/ update x-form | 256 STFDUX = 759 << 1, // store float-double w/ update x-form |
| 257 LHBRX = 790 << 1, // load half word byte reversed w/ x-form |
255 SRAW = 792 << 1, // Shift Right Algebraic Word | 258 SRAW = 792 << 1, // Shift Right Algebraic Word |
256 SRAD = 794 << 1, // Shift Right Algebraic Double Word | 259 SRAD = 794 << 1, // Shift Right Algebraic Double Word |
257 SRAWIX = 824 << 1, // Shift Right Algebraic Word Immediate | 260 SRAWIX = 824 << 1, // Shift Right Algebraic Word Immediate |
258 SRADIX = 413 << 2, // Shift Right Algebraic Double Word Immediate | 261 SRADIX = 413 << 2, // Shift Right Algebraic Double Word Immediate |
259 EXTSH = 922 << 1, // Extend Sign Halfword | 262 EXTSH = 922 << 1, // Extend Sign Halfword |
260 EXTSB = 954 << 1, // Extend Sign Byte | 263 EXTSB = 954 << 1, // Extend Sign Byte |
261 ICBI = 982 << 1, // Instruction Cache Block Invalidate | 264 ICBI = 982 << 1, // Instruction Cache Block Invalidate |
262 EXTSW = 986 << 1 // Extend Sign Word | 265 EXTSW = 986 << 1 // Extend Sign Word |
263 }; | 266 }; |
264 | 267 |
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
590 // Lookup the register number for the name provided. | 593 // Lookup the register number for the name provided. |
591 static int Number(const char* name); | 594 static int Number(const char* name); |
592 | 595 |
593 private: | 596 private: |
594 static const char* names_[kNumDoubleRegisters]; | 597 static const char* names_[kNumDoubleRegisters]; |
595 }; | 598 }; |
596 } // namespace internal | 599 } // namespace internal |
597 } // namespace v8 | 600 } // namespace v8 |
598 | 601 |
599 #endif // V8_PPC_CONSTANTS_PPC_H_ | 602 #endif // V8_PPC_CONSTANTS_PPC_H_ |
OLD | NEW |