Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(388)

Side by Side Diff: src/mips64/constants-mips64.h

Issue 1108583003: MIPS: Add rounding support in simulator and RINT instruction. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Addressed comments Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/mips64/assembler-mips64.cc ('k') | src/mips64/disasm-mips64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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_
OLDNEW
« no previous file with comments | « src/mips64/assembler-mips64.cc ('k') | src/mips64/disasm-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698