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 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
268 FDIV = 18 << 1, // Floating Divide | 268 FDIV = 18 << 1, // Floating Divide |
269 FSUB = 20 << 1, // Floating Subtract | 269 FSUB = 20 << 1, // Floating Subtract |
270 FADD = 21 << 1, // Floating Add | 270 FADD = 21 << 1, // Floating Add |
271 FSQRT = 22 << 1, // Floating Square Root | 271 FSQRT = 22 << 1, // Floating Square Root |
272 FSEL = 23 << 1, // Floating Select | 272 FSEL = 23 << 1, // Floating Select |
273 FMUL = 25 << 1, // Floating Multiply | 273 FMUL = 25 << 1, // Floating Multiply |
274 FMSUB = 28 << 1, // Floating Multiply-Subtract | 274 FMSUB = 28 << 1, // Floating Multiply-Subtract |
275 FMADD = 29 << 1, // Floating Multiply-Add | 275 FMADD = 29 << 1, // Floating Multiply-Add |
276 | 276 |
277 // Bits 10-1 | 277 // Bits 10-1 |
278 FCMPU = 0 << 1, // Floating Compare Unordered | 278 FCMPU = 0 << 1, // Floating Compare Unordered |
279 FRSP = 12 << 1, // Floating-Point Rounding | 279 FRSP = 12 << 1, // Floating-Point Rounding |
280 FCTIW = 14 << 1, // Floating Convert to Integer Word X-form | 280 FCTIW = 14 << 1, // Floating Convert to Integer Word X-form |
281 FCTIWZ = 15 << 1, // Floating Convert to Integer Word with Round to Zero | 281 FCTIWZ = 15 << 1, // Floating Convert to Integer Word with Round to Zero |
282 FNEG = 40 << 1, // Floating Negate | 282 FNEG = 40 << 1, // Floating Negate |
283 MCRFS = 64 << 1, // Move to Condition Register from FPSCR | 283 MCRFS = 64 << 1, // Move to Condition Register from FPSCR |
284 FMR = 72 << 1, // Floating Move Register | 284 FMR = 72 << 1, // Floating Move Register |
285 MTFSFI = 134 << 1, // Move to FPSCR Field Immediate | 285 MTFSFI = 134 << 1, // Move to FPSCR Field Immediate |
286 FABS = 264 << 1, // Floating Absolute Value | 286 FABS = 264 << 1, // Floating Absolute Value |
287 FRIN = 392 << 1, // Floating Round to Integer Nearest | 287 FRIN = 392 << 1, // Floating Round to Integer Nearest |
288 FRIZ = 424 << 1, // Floating Round to Integer Toward Zero | 288 FRIZ = 424 << 1, // Floating Round to Integer Toward Zero |
289 FRIP = 456 << 1, // Floating Round to Integer Plus | 289 FRIP = 456 << 1, // Floating Round to Integer Plus |
290 FRIM = 488 << 1, // Floating Round to Integer Minus | 290 FRIM = 488 << 1, // Floating Round to Integer Minus |
291 MFFS = 583 << 1, // move from FPSCR x-form | 291 MFFS = 583 << 1, // move from FPSCR x-form |
292 MTFSF = 711 << 1, // move to FPSCR fields XFL-form | 292 MTFSF = 711 << 1, // move to FPSCR fields XFL-form |
293 FCFID = 846 << 1, // Floating convert from integer doubleword | 293 FCTID = 814 << 1, // Floating convert to integer doubleword |
294 FCTID = 814 << 1, // Floating convert from integer doubleword | 294 FCTIDZ = 815 << 1, // ^^^ with round toward zero |
295 FCTIDZ = 815 << 1, // Floating convert from integer doubleword | 295 FCFID = 846 << 1, // Floating convert from integer doubleword |
296 FCFIDU = 974 << 1 // Floating convert from integer doubleword unsigned | 296 FCTIDU = 942 << 1, // Floating convert to integer doubleword unsigned |
| 297 FCTIDUZ = 943 << 1, // ^^^ with round toward zero |
| 298 FCFIDU = 974 << 1 // Floating convert from integer doubleword unsigned |
297 }; | 299 }; |
298 | 300 |
299 enum OpcodeExt5 { | 301 enum OpcodeExt5 { |
300 // Bits 4-2 | 302 // Bits 4-2 |
301 RLDICL = 0 << 1, // Rotate Left Double Word Immediate then Clear Left | 303 RLDICL = 0 << 1, // Rotate Left Double Word Immediate then Clear Left |
302 RLDICR = 2 << 1, // Rotate Left Double Word Immediate then Clear Right | 304 RLDICR = 2 << 1, // Rotate Left Double Word Immediate then Clear Right |
303 RLDIC = 4 << 1, // Rotate Left Double Word Immediate then Clear | 305 RLDIC = 4 << 1, // Rotate Left Double Word Immediate then Clear |
304 RLDIMI = 6 << 1, // Rotate Left Double Word Immediate then Mask Insert | 306 RLDIMI = 6 << 1, // Rotate Left Double Word Immediate then Mask Insert |
305 // Bits 4-1 | 307 // Bits 4-1 |
306 RLDCL = 8 << 1, // Rotate Left Double Word then Clear Left | 308 RLDCL = 8 << 1, // Rotate Left Double Word then Clear Left |
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
579 // Lookup the register number for the name provided. | 581 // Lookup the register number for the name provided. |
580 static int Number(const char* name); | 582 static int Number(const char* name); |
581 | 583 |
582 private: | 584 private: |
583 static const char* names_[kNumDoubleRegisters]; | 585 static const char* names_[kNumDoubleRegisters]; |
584 }; | 586 }; |
585 } // namespace internal | 587 } // namespace internal |
586 } // namespace v8 | 588 } // namespace v8 |
587 | 589 |
588 #endif // V8_PPC_CONSTANTS_PPC_H_ | 590 #endif // V8_PPC_CONSTANTS_PPC_H_ |
OLD | NEW |