Revision 9c29504e target-alpha/op.c
b/target-alpha/op.c | ||
---|---|---|
434 | 434 |
RETURN(); |
435 | 435 |
} |
436 | 436 |
|
437 |
void OPPROTO op_cmpeqz (void) |
|
438 |
{ |
|
439 |
if (T0 == 0) |
|
440 |
T0 = 1; |
|
441 |
else |
|
442 |
T0 = 0; |
|
443 |
RETURN(); |
|
444 |
} |
|
445 |
|
|
446 |
void OPPROTO op_cmpnez (void) |
|
447 |
{ |
|
448 |
if (T0 != 0) |
|
449 |
T0 = 1; |
|
450 |
else |
|
451 |
T0 = 0; |
|
452 |
RETURN(); |
|
453 |
} |
|
454 |
|
|
455 |
void OPPROTO op_cmpltz (void) |
|
456 |
{ |
|
457 |
if ((int64_t)T0 < 0) |
|
458 |
T0 = 1; |
|
459 |
else |
|
460 |
T0 = 0; |
|
461 |
RETURN(); |
|
462 |
} |
|
463 |
|
|
464 |
void OPPROTO op_cmplez (void) |
|
465 |
{ |
|
466 |
if ((int64_t)T0 <= 0) |
|
467 |
T0 = 1; |
|
468 |
else |
|
469 |
T0 = 0; |
|
470 |
RETURN(); |
|
471 |
} |
|
472 |
|
|
473 |
void OPPROTO op_cmpgtz (void) |
|
474 |
{ |
|
475 |
if ((int64_t)T0 > 0) |
|
476 |
T0 = 1; |
|
477 |
else |
|
478 |
T0 = 0; |
|
479 |
RETURN(); |
|
480 |
} |
|
481 |
|
|
482 |
void OPPROTO op_cmpgez (void) |
|
483 |
{ |
|
484 |
if ((int64_t)T0 >= 0) |
|
485 |
T0 = 1; |
|
486 |
else |
|
487 |
T0 = 0; |
|
488 |
RETURN(); |
|
489 |
} |
|
490 |
|
|
491 |
void OPPROTO op_cmplbs (void) |
|
492 |
{ |
|
493 |
T0 &= 1; |
|
494 |
RETURN(); |
|
495 |
} |
|
496 |
|
|
497 |
void OPPROTO op_cmplbc (void) |
|
498 |
{ |
|
499 |
T0 = (~T0) & 1; |
|
500 |
RETURN(); |
|
501 |
} |
|
502 |
|
|
503 | 437 |
#if 0 // Qemu does not know how to do this... |
504 | 438 |
void OPPROTO op_bcond (void) |
505 | 439 |
{ |
Also available in: Unified diff