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 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
139 LFSU = 49 << 26, // Load Floating-Point Single with Update | 139 LFSU = 49 << 26, // Load Floating-Point Single with Update |
140 LFD = 50 << 26, // Load Floating-Point Double | 140 LFD = 50 << 26, // Load Floating-Point Double |
141 LFDU = 51 << 26, // Load Floating-Point Double with Update | 141 LFDU = 51 << 26, // Load Floating-Point Double with Update |
142 STFS = 52 << 26, // Store Floating-Point Single | 142 STFS = 52 << 26, // Store Floating-Point Single |
143 STFSU = 53 << 26, // Store Floating-Point Single with Update | 143 STFSU = 53 << 26, // Store Floating-Point Single with Update |
144 STFD = 54 << 26, // Store Floating-Point Double | 144 STFD = 54 << 26, // Store Floating-Point Double |
145 STFDU = 55 << 26, // Store Floating-Point Double with Update | 145 STFDU = 55 << 26, // Store Floating-Point Double with Update |
146 LD = 58 << 26, // Load Double Word | 146 LD = 58 << 26, // Load Double Word |
147 EXT3 = 59 << 26, // Extended code set 3 | 147 EXT3 = 59 << 26, // Extended code set 3 |
148 STD = 62 << 26, // Store Double Word (optionally with Update) | 148 STD = 62 << 26, // Store Double Word (optionally with Update) |
149 EXT4 = 63 << 26 // Extended code set 4 | 149 EXT4 = 63 << 26, // Extended code set 4 |
JaideepBajwa
2016/08/15 21:06:52
is that comma at the end a typo?
| |
150 }; | 150 }; |
151 | 151 |
152 // Bits 10-1 | 152 // Bits 10-1 |
153 enum OpcodeExt1 { | 153 enum OpcodeExt1 { |
154 MCRF = 0 << 1, // Move Condition Register Field | 154 MCRF = 0 << 1, // Move Condition Register Field |
155 BCLRX = 16 << 1, // Branch Conditional Link Register | 155 BCLRX = 16 << 1, // Branch Conditional Link Register |
156 CRNOR = 33 << 1, // Condition Register NOR) | 156 CRNOR = 33 << 1, // Condition Register NOR) |
157 RFI = 50 << 1, // Return from Interrupt | 157 RFI = 50 << 1, // Return from Interrupt |
158 CRANDC = 129 << 1, // Condition Register AND with Complement | 158 CRANDC = 129 << 1, // Condition Register AND with Complement |
159 ISYNC = 150 << 1, // Instruction Synchronize | 159 ISYNC = 150 << 1, // Instruction Synchronize |
(...skipping 74 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 LHBRX = 790 << 1, // load half word reversed | |
245 LWBRX = 534 << 1, // load word reversed | |
246 LDBRX = 532 << 1, // load double word reversed | |
JaideepBajwa
2016/08/15 21:06:52
add the above in order? to keep it consistent.
| |
244 LFSX = 535 << 1, // load float-single w/ x-form | 247 LFSX = 535 << 1, // load float-single w/ x-form |
245 SRWX = 536 << 1, // Shift Right Word | 248 SRWX = 536 << 1, // Shift Right Word |
246 SRDX = 539 << 1, // Shift Right Double Word | 249 SRDX = 539 << 1, // Shift Right Double Word |
247 LFSUX = 567 << 1, // load float-single w/ update x-form | 250 LFSUX = 567 << 1, // load float-single w/ update x-form |
248 SYNC = 598 << 1, // Synchronize | 251 SYNC = 598 << 1, // Synchronize |
249 LFDX = 599 << 1, // load float-double w/ x-form | 252 LFDX = 599 << 1, // load float-double w/ x-form |
250 LFDUX = 631 << 1, // load float-double w/ update X-form | 253 LFDUX = 631 << 1, // load float-double w/ update X-form |
251 STFSX = 663 << 1, // store float-single w/ x-form | 254 STFSX = 663 << 1, // store float-single w/ x-form |
252 STFSUX = 695 << 1, // store float-single w/ update x-form | 255 STFSUX = 695 << 1, // store float-single w/ update x-form |
253 STFDX = 727 << 1, // store float-double w/ x-form | 256 STFDX = 727 << 1, // store float-double w/ x-form |
(...skipping 336 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 |