OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_MIPS_CONSTANTS_H_ | 5 #ifndef V8_MIPS_CONSTANTS_H_ |
6 #define V8_MIPS_CONSTANTS_H_ | 6 #define V8_MIPS_CONSTANTS_H_ |
7 | 7 |
8 // UNIMPLEMENTED_ macro for MIPS. | 8 // UNIMPLEMENTED_ macro for MIPS. |
9 #ifdef DEBUG | 9 #ifdef DEBUG |
10 #define UNIMPLEMENTED_MIPS() \ | 10 #define UNIMPLEMENTED_MIPS() \ |
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
339 SCD = ((7 << 3) + 4) << kOpcodeShift, | 339 SCD = ((7 << 3) + 4) << kOpcodeShift, |
340 SDC1 = ((7 << 3) + 5) << kOpcodeShift, | 340 SDC1 = ((7 << 3) + 5) << kOpcodeShift, |
341 BNEZC = ((7 << 3) + 6) << kOpcodeShift, | 341 BNEZC = ((7 << 3) + 6) << kOpcodeShift, |
342 SD = ((7 << 3) + 7) << kOpcodeShift, | 342 SD = ((7 << 3) + 7) << kOpcodeShift, |
343 | 343 |
344 COP1X = ((1 << 4) + 3) << kOpcodeShift | 344 COP1X = ((1 << 4) + 3) << kOpcodeShift |
345 }; | 345 }; |
346 | 346 |
347 enum SecondaryField { | 347 enum SecondaryField { |
348 // SPECIAL Encoding of Function Field. | 348 // SPECIAL Encoding of Function Field. |
349 SLL = ((0 << 3) + 0), | 349 SLL = ((0 << 3) + 0), |
350 MOVCI = ((0 << 3) + 1), | 350 MOVCI = ((0 << 3) + 1), |
351 SRL = ((0 << 3) + 2), | 351 SRL = ((0 << 3) + 2), |
352 SRA = ((0 << 3) + 3), | 352 SRA = ((0 << 3) + 3), |
353 SLLV = ((0 << 3) + 4), | 353 SLLV = ((0 << 3) + 4), |
354 SRLV = ((0 << 3) + 6), | 354 SRLV = ((0 << 3) + 6), |
355 SRAV = ((0 << 3) + 7), | 355 SRAV = ((0 << 3) + 7), |
356 | 356 |
357 JR = ((1 << 3) + 0), | 357 JR = ((1 << 3) + 0), |
358 JALR = ((1 << 3) + 1), | 358 JALR = ((1 << 3) + 1), |
359 MOVZ = ((1 << 3) + 2), | 359 MOVZ = ((1 << 3) + 2), |
360 MOVN = ((1 << 3) + 3), | 360 MOVN = ((1 << 3) + 3), |
361 BREAK = ((1 << 3) + 5), | 361 BREAK = ((1 << 3) + 5), |
362 | 362 |
363 MFHI = ((2 << 3) + 0), | 363 MFHI = ((2 << 3) + 0), |
364 CLZ_R6 = ((2 << 3) + 0), | 364 CLZ_R6 = ((2 << 3) + 0), |
365 CLO_R6 = ((2 << 3) + 1), | 365 CLO_R6 = ((2 << 3) + 1), |
366 MFLO = ((2 << 3) + 2), | 366 MFLO = ((2 << 3) + 2), |
367 DSLLV = ((2 << 3) + 4), | 367 DSLLV = ((2 << 3) + 4), |
368 DSRLV = ((2 << 3) + 6), | 368 DSRLV = ((2 << 3) + 6), |
369 DSRAV = ((2 << 3) + 7), | 369 DSRAV = ((2 << 3) + 7), |
370 | 370 |
371 MULT = ((3 << 3) + 0), | 371 MULT = ((3 << 3) + 0), |
372 MULTU = ((3 << 3) + 1), | 372 MULTU = ((3 << 3) + 1), |
373 DIV = ((3 << 3) + 2), | 373 DIV = ((3 << 3) + 2), |
374 DIVU = ((3 << 3) + 3), | 374 DIVU = ((3 << 3) + 3), |
375 DMULT = ((3 << 3) + 4), | 375 DMULT = ((3 << 3) + 4), |
376 DMULTU = ((3 << 3) + 5), | 376 DMULTU = ((3 << 3) + 5), |
377 DDIV = ((3 << 3) + 6), | 377 DDIV = ((3 << 3) + 6), |
378 DDIVU = ((3 << 3) + 7), | 378 DDIVU = ((3 << 3) + 7), |
379 | 379 |
380 ADD = ((4 << 3) + 0), | 380 ADD = ((4 << 3) + 0), |
381 ADDU = ((4 << 3) + 1), | 381 ADDU = ((4 << 3) + 1), |
382 SUB = ((4 << 3) + 2), | 382 SUB = ((4 << 3) + 2), |
383 SUBU = ((4 << 3) + 3), | 383 SUBU = ((4 << 3) + 3), |
384 AND = ((4 << 3) + 4), | 384 AND = ((4 << 3) + 4), |
385 OR = ((4 << 3) + 5), | 385 OR = ((4 << 3) + 5), |
386 XOR = ((4 << 3) + 6), | 386 XOR = ((4 << 3) + 6), |
387 NOR = ((4 << 3) + 7), | 387 NOR = ((4 << 3) + 7), |
388 | 388 |
389 SLT = ((5 << 3) + 2), | 389 SLT = ((5 << 3) + 2), |
390 SLTU = ((5 << 3) + 3), | 390 SLTU = ((5 << 3) + 3), |
391 DADD = ((5 << 3) + 4), | 391 DADD = ((5 << 3) + 4), |
392 DADDU = ((5 << 3) + 5), | 392 DADDU = ((5 << 3) + 5), |
393 DSUB = ((5 << 3) + 6), | 393 DSUB = ((5 << 3) + 6), |
394 DSUBU = ((5 << 3) + 7), | 394 DSUBU = ((5 << 3) + 7), |
395 | 395 |
396 TGE = ((6 << 3) + 0), | 396 TGE = ((6 << 3) + 0), |
397 TGEU = ((6 << 3) + 1), | 397 TGEU = ((6 << 3) + 1), |
398 TLT = ((6 << 3) + 2), | 398 TLT = ((6 << 3) + 2), |
399 TLTU = ((6 << 3) + 3), | 399 TLTU = ((6 << 3) + 3), |
400 TEQ = ((6 << 3) + 4), | 400 TEQ = ((6 << 3) + 4), |
401 SELEQZ_S = ((6 << 3) + 5), | 401 SELEQZ_S = ((6 << 3) + 5), |
402 TNE = ((6 << 3) + 6), | 402 TNE = ((6 << 3) + 6), |
403 SELNEZ_S = ((6 << 3) + 7), | 403 SELNEZ_S = ((6 << 3) + 7), |
404 | 404 |
405 DSLL = ((7 << 3) + 0), | 405 DSLL = ((7 << 3) + 0), |
406 DSRL = ((7 << 3) + 2), | 406 DSRL = ((7 << 3) + 2), |
407 DSRA = ((7 << 3) + 3), | 407 DSRA = ((7 << 3) + 3), |
408 DSLL32 = ((7 << 3) + 4), | 408 DSLL32 = ((7 << 3) + 4), |
409 DSRL32 = ((7 << 3) + 6), | 409 DSRL32 = ((7 << 3) + 6), |
410 DSRA32 = ((7 << 3) + 7), | 410 DSRA32 = ((7 << 3) + 7), |
411 | 411 |
412 // Multiply integers in r6. | 412 // Multiply integers in r6. |
413 MUL_MUH = ((3 << 3) + 0), // MUL, MUH. | 413 MUL_MUH = ((3 << 3) + 0), // MUL, MUH. |
414 MUL_MUH_U = ((3 << 3) + 1), // MUL_U, MUH_U. | 414 MUL_MUH_U = ((3 << 3) + 1), // MUL_U, MUH_U. |
415 D_MUL_MUH = ((7 << 2) + 0), // DMUL, DMUH. | 415 D_MUL_MUH = ((7 << 2) + 0), // DMUL, DMUH. |
416 D_MUL_MUH_U = ((7 << 2) + 1), // DMUL_U, DMUH_U. | 416 D_MUL_MUH_U = ((7 << 2) + 1), // DMUL_U, DMUH_U. |
417 | 417 RINT = ((3 << 3) + 2), |
418 MUL_OP = ((0 << 3) + 2), | 418 |
419 MUH_OP = ((0 << 3) + 3), | 419 MUL_OP = ((0 << 3) + 2), |
420 DIV_OP = ((0 << 3) + 2), | 420 MUH_OP = ((0 << 3) + 3), |
421 MOD_OP = ((0 << 3) + 3), | 421 DIV_OP = ((0 << 3) + 2), |
422 | 422 MOD_OP = ((0 << 3) + 3), |
423 DIV_MOD = ((3 << 3) + 2), | 423 |
424 DIV_MOD_U = ((3 << 3) + 3), | 424 DIV_MOD = ((3 << 3) + 2), |
425 D_DIV_MOD = ((3 << 3) + 6), | 425 DIV_MOD_U = ((3 << 3) + 3), |
| 426 D_DIV_MOD = ((3 << 3) + 6), |
426 D_DIV_MOD_U = ((3 << 3) + 7), | 427 D_DIV_MOD_U = ((3 << 3) + 7), |
427 | 428 |
428 // drotr in special4? | 429 // drotr in special4? |
429 | 430 |
430 // SPECIAL2 Encoding of Function Field. | 431 // SPECIAL2 Encoding of Function Field. |
431 MUL = ((0 << 3) + 2), | 432 MUL = ((0 << 3) + 2), |
432 CLZ = ((4 << 3) + 0), | 433 CLZ = ((4 << 3) + 0), |
433 CLO = ((4 << 3) + 1), | 434 CLO = ((4 << 3) + 1), |
434 | 435 |
435 // SPECIAL3 Encoding of Function Field. | 436 // SPECIAL3 Encoding of Function Field. |
436 EXT = ((0 << 3) + 0), | 437 EXT = ((0 << 3) + 0), |
437 DEXTM = ((0 << 3) + 1), | 438 DEXTM = ((0 << 3) + 1), |
438 DEXTU = ((0 << 3) + 2), | 439 DEXTU = ((0 << 3) + 2), |
439 DEXT = ((0 << 3) + 3), | 440 DEXT = ((0 << 3) + 3), |
440 INS = ((0 << 3) + 4), | 441 INS = ((0 << 3) + 4), |
441 DINSM = ((0 << 3) + 5), | 442 DINSM = ((0 << 3) + 5), |
442 DINSU = ((0 << 3) + 6), | 443 DINSU = ((0 << 3) + 6), |
443 DINS = ((0 << 3) + 7), | 444 DINS = ((0 << 3) + 7), |
444 | 445 |
445 DSBH = ((4 << 3) + 4), | 446 DSBH = ((4 << 3) + 4), |
446 | 447 |
447 // REGIMM encoding of rt Field. | 448 // REGIMM encoding of rt Field. |
448 BLTZ = ((0 << 3) + 0) << 16, | 449 BLTZ = ((0 << 3) + 0) << 16, |
449 BGEZ = ((0 << 3) + 1) << 16, | 450 BGEZ = ((0 << 3) + 1) << 16, |
450 BLTZAL = ((2 << 3) + 0) << 16, | 451 BLTZAL = ((2 << 3) + 0) << 16, |
451 BGEZAL = ((2 << 3) + 1) << 16, | 452 BGEZAL = ((2 << 3) + 1) << 16, |
452 BGEZALL = ((2 << 3) + 3) << 16, | 453 BGEZALL = ((2 << 3) + 3) << 16, |
453 DAHI = ((0 << 3) + 6) << 16, | 454 DAHI = ((0 << 3) + 6) << 16, |
454 DATI = ((3 << 3) + 6) << 16, | 455 DATI = ((3 << 3) + 6) << 16, |
455 | 456 |
456 // COP1 Encoding of rs Field. | 457 // COP1 Encoding of rs Field. |
457 MFC1 = ((0 << 3) + 0) << 21, | 458 MFC1 = ((0 << 3) + 0) << 21, |
458 DMFC1 = ((0 << 3) + 1) << 21, | 459 DMFC1 = ((0 << 3) + 1) << 21, |
459 CFC1 = ((0 << 3) + 2) << 21, | 460 CFC1 = ((0 << 3) + 2) << 21, |
460 MFHC1 = ((0 << 3) + 3) << 21, | 461 MFHC1 = ((0 << 3) + 3) << 21, |
461 MTC1 = ((0 << 3) + 4) << 21, | 462 MTC1 = ((0 << 3) + 4) << 21, |
462 DMTC1 = ((0 << 3) + 5) << 21, | 463 DMTC1 = ((0 << 3) + 5) << 21, |
463 CTC1 = ((0 << 3) + 6) << 21, | 464 CTC1 = ((0 << 3) + 6) << 21, |
464 MTHC1 = ((0 << 3) + 7) << 21, | 465 MTHC1 = ((0 << 3) + 7) << 21, |
465 BC1 = ((1 << 3) + 0) << 21, | 466 BC1 = ((1 << 3) + 0) << 21, |
466 S = ((2 << 3) + 0) << 21, | 467 S = ((2 << 3) + 0) << 21, |
467 D = ((2 << 3) + 1) << 21, | 468 D = ((2 << 3) + 1) << 21, |
468 W = ((2 << 3) + 4) << 21, | 469 W = ((2 << 3) + 4) << 21, |
469 L = ((2 << 3) + 5) << 21, | 470 L = ((2 << 3) + 5) << 21, |
470 PS = ((2 << 3) + 6) << 21, | 471 PS = ((2 << 3) + 6) << 21, |
471 // COP1 Encoding of Function Field When rs=S. | 472 // COP1 Encoding of Function Field When rs=S. |
472 ROUND_L_S = ((1 << 3) + 0), | 473 ROUND_L_S = ((1 << 3) + 0), |
473 TRUNC_L_S = ((1 << 3) + 1), | 474 TRUNC_L_S = ((1 << 3) + 1), |
474 CEIL_L_S = ((1 << 3) + 2), | 475 CEIL_L_S = ((1 << 3) + 2), |
475 FLOOR_L_S = ((1 << 3) + 3), | 476 FLOOR_L_S = ((1 << 3) + 3), |
476 ROUND_W_S = ((1 << 3) + 4), | 477 ROUND_W_S = ((1 << 3) + 4), |
477 TRUNC_W_S = ((1 << 3) + 5), | 478 TRUNC_W_S = ((1 << 3) + 5), |
478 CEIL_W_S = ((1 << 3) + 6), | 479 CEIL_W_S = ((1 << 3) + 6), |
479 FLOOR_W_S = ((1 << 3) + 7), | 480 FLOOR_W_S = ((1 << 3) + 7), |
480 CVT_D_S = ((4 << 3) + 1), | 481 CVT_D_S = ((4 << 3) + 1), |
481 CVT_W_S = ((4 << 3) + 4), | 482 CVT_W_S = ((4 << 3) + 4), |
482 CVT_L_S = ((4 << 3) + 5), | 483 CVT_L_S = ((4 << 3) + 5), |
483 CVT_PS_S = ((4 << 3) + 6), | 484 CVT_PS_S = ((4 << 3) + 6), |
484 // COP1 Encoding of Function Field When rs=D. | 485 // COP1 Encoding of Function Field When rs=D. |
485 ADD_D = ((0 << 3) + 0), | 486 ADD_D = ((0 << 3) + 0), |
486 SUB_D = ((0 << 3) + 1), | 487 SUB_D = ((0 << 3) + 1), |
487 MUL_D = ((0 << 3) + 2), | 488 MUL_D = ((0 << 3) + 2), |
488 DIV_D = ((0 << 3) + 3), | 489 DIV_D = ((0 << 3) + 3), |
489 SQRT_D = ((0 << 3) + 4), | 490 SQRT_D = ((0 << 3) + 4), |
490 ABS_D = ((0 << 3) + 5), | 491 ABS_D = ((0 << 3) + 5), |
491 MOV_D = ((0 << 3) + 6), | 492 MOV_D = ((0 << 3) + 6), |
492 NEG_D = ((0 << 3) + 7), | 493 NEG_D = ((0 << 3) + 7), |
493 ROUND_L_D = ((1 << 3) + 0), | 494 ROUND_L_D = ((1 << 3) + 0), |
494 TRUNC_L_D = ((1 << 3) + 1), | 495 TRUNC_L_D = ((1 << 3) + 1), |
495 CEIL_L_D = ((1 << 3) + 2), | 496 CEIL_L_D = ((1 << 3) + 2), |
496 FLOOR_L_D = ((1 << 3) + 3), | 497 FLOOR_L_D = ((1 << 3) + 3), |
497 ROUND_W_D = ((1 << 3) + 4), | 498 ROUND_W_D = ((1 << 3) + 4), |
498 TRUNC_W_D = ((1 << 3) + 5), | 499 TRUNC_W_D = ((1 << 3) + 5), |
499 CEIL_W_D = ((1 << 3) + 6), | 500 CEIL_W_D = ((1 << 3) + 6), |
500 FLOOR_W_D = ((1 << 3) + 7), | 501 FLOOR_W_D = ((1 << 3) + 7), |
501 MIN = ((3 << 3) + 4), | 502 MIN = ((3 << 3) + 4), |
502 MINA = ((3 << 3) + 5), | 503 MINA = ((3 << 3) + 5), |
503 MAX = ((3 << 3) + 6), | 504 MAX = ((3 << 3) + 6), |
504 MAXA = ((3 << 3) + 7), | 505 MAXA = ((3 << 3) + 7), |
505 CVT_S_D = ((4 << 3) + 0), | 506 CVT_S_D = ((4 << 3) + 0), |
506 CVT_W_D = ((4 << 3) + 4), | 507 CVT_W_D = ((4 << 3) + 4), |
507 CVT_L_D = ((4 << 3) + 5), | 508 CVT_L_D = ((4 << 3) + 5), |
508 C_F_D = ((6 << 3) + 0), | 509 C_F_D = ((6 << 3) + 0), |
509 C_UN_D = ((6 << 3) + 1), | 510 C_UN_D = ((6 << 3) + 1), |
510 C_EQ_D = ((6 << 3) + 2), | 511 C_EQ_D = ((6 << 3) + 2), |
511 C_UEQ_D = ((6 << 3) + 3), | 512 C_UEQ_D = ((6 << 3) + 3), |
512 C_OLT_D = ((6 << 3) + 4), | 513 C_OLT_D = ((6 << 3) + 4), |
513 C_ULT_D = ((6 << 3) + 5), | 514 C_ULT_D = ((6 << 3) + 5), |
514 C_OLE_D = ((6 << 3) + 6), | 515 C_OLE_D = ((6 << 3) + 6), |
515 C_ULE_D = ((6 << 3) + 7), | 516 C_ULE_D = ((6 << 3) + 7), |
516 // COP1 Encoding of Function Field When rs=W or L. | 517 // COP1 Encoding of Function Field When rs=W or L. |
517 CVT_S_W = ((4 << 3) + 0), | 518 CVT_S_W = ((4 << 3) + 0), |
518 CVT_D_W = ((4 << 3) + 1), | 519 CVT_D_W = ((4 << 3) + 1), |
519 CVT_S_L = ((4 << 3) + 0), | 520 CVT_S_L = ((4 << 3) + 0), |
520 CVT_D_L = ((4 << 3) + 1), | 521 CVT_D_L = ((4 << 3) + 1), |
521 BC1EQZ = ((2 << 2) + 1) << 21, | 522 BC1EQZ = ((2 << 2) + 1) << 21, |
522 BC1NEZ = ((3 << 2) + 1) << 21, | 523 BC1NEZ = ((3 << 2) + 1) << 21, |
523 // COP1 CMP positive predicates Bit 5..4 = 00. | 524 // COP1 CMP positive predicates Bit 5..4 = 00. |
524 CMP_AF = ((0 << 3) + 0), | 525 CMP_AF = ((0 << 3) + 0), |
525 CMP_UN = ((0 << 3) + 1), | 526 CMP_UN = ((0 << 3) + 1), |
526 CMP_EQ = ((0 << 3) + 2), | 527 CMP_EQ = ((0 << 3) + 2), |
527 CMP_UEQ = ((0 << 3) + 3), | 528 CMP_UEQ = ((0 << 3) + 3), |
528 CMP_LT = ((0 << 3) + 4), | 529 CMP_LT = ((0 << 3) + 4), |
529 CMP_ULT = ((0 << 3) + 5), | 530 CMP_ULT = ((0 << 3) + 5), |
530 CMP_LE = ((0 << 3) + 6), | 531 CMP_LE = ((0 << 3) + 6), |
531 CMP_ULE = ((0 << 3) + 7), | 532 CMP_ULE = ((0 << 3) + 7), |
532 CMP_SAF = ((1 << 3) + 0), | 533 CMP_SAF = ((1 << 3) + 0), |
533 CMP_SUN = ((1 << 3) + 1), | 534 CMP_SUN = ((1 << 3) + 1), |
534 CMP_SEQ = ((1 << 3) + 2), | 535 CMP_SEQ = ((1 << 3) + 2), |
535 CMP_SUEQ = ((1 << 3) + 3), | 536 CMP_SUEQ = ((1 << 3) + 3), |
536 CMP_SSLT = ((1 << 3) + 4), | 537 CMP_SSLT = ((1 << 3) + 4), |
537 CMP_SSULT = ((1 << 3) + 5), | 538 CMP_SSULT = ((1 << 3) + 5), |
538 CMP_SLE = ((1 << 3) + 6), | 539 CMP_SLE = ((1 << 3) + 6), |
539 CMP_SULE = ((1 << 3) + 7), | 540 CMP_SULE = ((1 << 3) + 7), |
540 // COP1 CMP negative predicates Bit 5..4 = 01. | 541 // COP1 CMP negative predicates Bit 5..4 = 01. |
541 CMP_AT = ((2 << 3) + 0), // Reserved, not implemented. | 542 CMP_AT = ((2 << 3) + 0), // Reserved, not implemented. |
542 CMP_OR = ((2 << 3) + 1), | 543 CMP_OR = ((2 << 3) + 1), |
543 CMP_UNE = ((2 << 3) + 2), | 544 CMP_UNE = ((2 << 3) + 2), |
544 CMP_NE = ((2 << 3) + 3), | 545 CMP_NE = ((2 << 3) + 3), |
545 CMP_UGE = ((2 << 3) + 4), // Reserved, not implemented. | 546 CMP_UGE = ((2 << 3) + 4), // Reserved, not implemented. |
546 CMP_OGE = ((2 << 3) + 5), // Reserved, not implemented. | 547 CMP_OGE = ((2 << 3) + 5), // Reserved, not implemented. |
547 CMP_UGT = ((2 << 3) + 6), // Reserved, not implemented. | 548 CMP_UGT = ((2 << 3) + 6), // Reserved, not implemented. |
548 CMP_OGT = ((2 << 3) + 7), // Reserved, not implemented. | 549 CMP_OGT = ((2 << 3) + 7), // Reserved, not implemented. |
549 CMP_SAT = ((3 << 3) + 0), // Reserved, not implemented. | 550 CMP_SAT = ((3 << 3) + 0), // Reserved, not implemented. |
550 CMP_SOR = ((3 << 3) + 1), | 551 CMP_SOR = ((3 << 3) + 1), |
551 CMP_SUNE = ((3 << 3) + 2), | 552 CMP_SUNE = ((3 << 3) + 2), |
552 CMP_SNE = ((3 << 3) + 3), | 553 CMP_SNE = ((3 << 3) + 3), |
553 CMP_SUGE = ((3 << 3) + 4), // Reserved, not implemented. | 554 CMP_SUGE = ((3 << 3) + 4), // Reserved, not implemented. |
554 CMP_SOGE = ((3 << 3) + 5), // Reserved, not implemented. | 555 CMP_SOGE = ((3 << 3) + 5), // Reserved, not implemented. |
555 CMP_SUGT = ((3 << 3) + 6), // Reserved, not implemented. | 556 CMP_SUGT = ((3 << 3) + 6), // Reserved, not implemented. |
556 CMP_SOGT = ((3 << 3) + 7), // Reserved, not implemented. | 557 CMP_SOGT = ((3 << 3) + 7), // Reserved, not implemented. |
557 | 558 |
558 SEL = ((2 << 3) + 0), | 559 SEL = ((2 << 3) + 0), |
559 SELEQZ_C = ((2 << 3) + 4), // COP1 on FPR registers. | 560 SELEQZ_C = ((2 << 3) + 4), // COP1 on FPR registers. |
560 SELNEZ_C = ((2 << 3) + 7), // COP1 on FPR registers. | 561 SELNEZ_C = ((2 << 3) + 7), // COP1 on FPR registers. |
561 | 562 |
562 // COP1 Encoding of Function Field When rs=PS. | 563 // COP1 Encoding of Function Field When rs=PS. |
563 // COP1X Encoding of Function Field. | 564 // COP1X Encoding of Function Field. |
564 MADD_D = ((4 << 3) + 1), | 565 MADD_D = ((4 << 3) + 1), |
565 | 566 |
566 NULLSF = 0 | 567 NULLSF = 0 |
567 }; | 568 }; |
568 | 569 |
569 | 570 |
570 // ----- Emulated conditions. | 571 // ----- Emulated conditions. |
571 // On MIPS we use this enum to abstract from conditional branch instructions. | 572 // On MIPS we use this enum to abstract from conditional branch instructions. |
572 // The 'U' prefix is used to specify unsigned comparisons. | 573 // The 'U' prefix is used to specify unsigned comparisons. |
573 // Opposite conditions must be paired as odd/even numbers | 574 // Opposite conditions must be paired as odd/even numbers |
574 // because 'NegateCondition' function flips LSB to negate condition. | 575 // because 'NegateCondition' function flips LSB to negate condition. |
575 enum Condition { | 576 enum Condition { |
576 // Any value < 0 is considered no_condition. | 577 // Any value < 0 is considered no_condition. |
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
941 // TODO(plind): below should be based on kPointerSize | 942 // TODO(plind): below should be based on kPointerSize |
942 // TODO(plind): find all usages and remove the needless instructions for n64. | 943 // TODO(plind): find all usages and remove the needless instructions for n64. |
943 const int kCArgsSlotsSize = kCArgSlotCount * Instruction::kInstrSize * 2; | 944 const int kCArgsSlotsSize = kCArgSlotCount * Instruction::kInstrSize * 2; |
944 | 945 |
945 const int kInvalidStackOffset = -1; | 946 const int kInvalidStackOffset = -1; |
946 const int kBranchReturnOffset = 2 * Instruction::kInstrSize; | 947 const int kBranchReturnOffset = 2 * Instruction::kInstrSize; |
947 | 948 |
948 } } // namespace v8::internal | 949 } } // namespace v8::internal |
949 | 950 |
950 #endif // #ifndef V8_MIPS_CONSTANTS_H_ | 951 #endif // #ifndef V8_MIPS_CONSTANTS_H_ |
OLD | NEW |