Subroutine Coverage

blib/lib/CPU/x86_64/InstructionWriter.pm
Criterion Covered Total %
subroutine 431 551 78.2
pod 102 464 21.9


line count pod subroutine
3 17 n/a BEGIN
4 17 n/a BEGIN
5 17 n/a BEGIN
6 17 n/a BEGIN
7 17 n/a BEGIN
8 17 n/a BEGIN
9 17 n/a BEGIN
10 17 n/a BEGIN
23 17 n/a BEGIN
25 0 No AH
25 0 No AL
25 0 No AX
25 0 No BH
25 0 No BL
25 0 No BP
25 0 No BPL
25 0 No BX
25 0 No CH
25 0 No CL
25 0 No CX
25 0 No DH
25 0 No DI
25 0 No DIL
25 0 No DL
25 0 No DX
25 0 No EAX
25 0 No EBP
25 0 No EBX
25 0 No ECX
25 0 No EDI
25 0 No EDX
25 0 No ESI
25 0 No ESP
25 0 No R10
25 0 No R10B
25 0 No R10D
25 0 No R10W
25 0 No R11
25 0 No R11B
25 0 No R11D
25 0 No R11W
25 0 No R12
25 0 No R12B
25 0 No R12D
25 0 No R12W
25 0 No R13
25 0 No R13B
25 0 No R13D
25 0 No R13W
25 0 No R14
25 0 No R14B
25 0 No R14D
25 0 No R14W
25 0 No R15
25 0 No R15B
25 0 No R15D
25 0 No R15W
25 0 No R8
25 0 No R8B
25 0 No R8D
25 0 No R8W
25 0 No R9
25 0 No R9B
25 0 No R9D
25 0 No R9W
25 0 No RAX
25 0 No RBP
25 0 No RBX
25 0 No RCX
25 0 No RDI
25 0 No RDX
25 0 No RFLAGS
25 0 No RIP
25 0 No RSI
25 0 No RSP
25 0 No SI
25 0 No SIL
25 0 No SP
25 0 No SPL
73 8 No unknown
74 0 No unknown8
75 0 No unknown16
76 0 No unknown32
77 54807 No unknown64
78 0 No unknown7
79 0 No unknown15
80 0 No unknown31
81 0 No unknown63
101 139 Yes get_label
114 61 Yes label
140 54830 Yes bytes
146 1 Yes data
147 2 Yes data_i8
148 1 Yes data_i16
149 1 Yes data_i32
150 0 Yes data_i64
153 0 Yes data_f32
154 0 Yes data_f64
158 1 Yes align
164 4 n/a _align
172 20 n/a __ANON__
175 1 No align2
176 1 No align4
177 1 No align8
181 9 n/a _autodetect_signature_dst_src
201 0 n/a _autodetect_signature_1op
217 117 Yes nop
222 0 Yes pause
228 2 Yes call_label
232 17 n/a BEGIN
238 2 n/a __ANON__
249 0 Yes call_rel
257 7 Yes call_abs_reg
264 63 Yes call_abs_mem
268 3 No ret
282 4 Yes jmp
286 17 n/a BEGIN
292 10 n/a __ANON__
306 7 Yes jmp_abs_reg
315 63 Yes jmp_abs_mem
319 4 Yes jmp_if_eq
323 4 Yes jmp_if_ne
328 4 Yes jmp_if_unsigned_lt
332 4 Yes jmp_if_unsigned_gt
335 4 Yes jmp_if_unsigned_le
338 4 Yes jmp_if_unsigned_ge
343 4 Yes jmp_if_signed_lt
346 4 Yes jmp_if_signed_gt
349 4 Yes jmp_if_signed_le
352 4 Yes jmp_if_signed_ge
356 4 Yes jmp_if_sign
359 4 Yes jmp_unless_sign
362 4 Yes jmp_if_overflow
365 4 Yes jmp_unless_overflow
368 4 Yes jmp_if_parity_even
372 4 Yes jmp_if_parity_odd
377 2 Yes jmp_cx_zero
380 2 Yes loop
382 2 Yes loopz
385 2 Yes loopnz
389 6 Yes mov
392 49 Yes mov64_reg_reg
393 1 No mov32_reg_reg
394 0 No mov16_reg_reg
395 0 No mov8_reg_reg
398 443 No mov64_mem_reg
399 445 No mov64_reg_mem
400 442 No mov32_mem_reg
401 446 No mov32_reg_mem
402 442 No mov16_mem_reg
403 444 No mov16_reg_mem
404 442 No mov8_mem_reg
405 444 No mov8_reg_mem
408 3548 n/a _append_mov_reg_mem
422 14 n/a __ANON__
445 63 Yes mov64_reg_imm
450 63 n/a _encode_mov64_imm
451 17 n/a BEGIN
468 57 No mov32_reg_imm
472 57 n/a __ANON__
475 49 No mov16_reg_imm
480 49 n/a __ANON__
483 55 No mov8_reg_imm
492 55 n/a __ANON__
496 63 No mov64_mem_imm
497 63 No mov32_mem_imm
498 63 No mov16_mem_imm
499 63 No mov8_mem_imm
502 3 Yes lea
504 0 Yes lea16_reg_reg
505 441 Yes lea16_reg_mem
506 1 Yes lea32_reg_reg
507 443 Yes lea32_reg_mem
508 0 Yes lea64_reg_reg
509 441 Yes lea64_reg_mem
512 0 Yes add
514 49 No add64_reg_reg
515 49 No add32_reg_reg
516 49 No add16_reg_reg
517 49 No add8_reg_reg
519 441 No add64_reg_mem
520 441 No add32_reg_mem
521 441 No add16_reg_mem
522 441 No add8_reg_mem
524 441 No add64_mem_reg
525 441 No add32_mem_reg
526 441 No add16_mem_reg
527 441 No add8_mem_reg
529 56 No add64_reg_imm
530 56 No add32_reg_imm
531 49 No add16_reg_imm
532 35 No add8_reg_imm
534 504 No add64_mem_imm
535 504 No add32_mem_imm
536 441 No add16_mem_imm
537 315 No add8_mem_imm
540 0 Yes addcarry
543 49 No addcarry64_reg_reg
544 49 No addcarry32_reg_reg
545 49 No addcarry16_reg_reg
546 49 No addcarry8_reg_reg
548 441 No addcarry64_reg_mem
549 441 No addcarry32_reg_mem
550 441 No addcarry16_reg_mem
551 441 No addcarry8_reg_mem
553 441 No addcarry64_mem_reg
554 441 No addcarry32_mem_reg
555 441 No addcarry16_mem_reg
556 441 No addcarry8_mem_reg
558 56 No addcarry64_reg_imm
559 56 No addcarry32_reg_imm
560 49 No addcarry16_reg_imm
561 35 No addcarry8_reg_imm
563 504 No addcarry64_mem_imm
564 504 No addcarry32_mem_imm
565 441 No addcarry16_mem_imm
566 315 No addcarry8_mem_imm
569 0 Yes sub
571 49 No sub64_reg_reg
572 49 No sub32_reg_reg
573 49 No sub16_reg_reg
574 49 No sub8_reg_reg
576 441 No sub64_reg_mem
577 441 No sub32_reg_mem
578 441 No sub16_reg_mem
579 441 No sub8_reg_mem
581 441 No sub64_mem_reg
582 441 No sub32_mem_reg
583 441 No sub16_mem_reg
584 441 No sub8_mem_reg
586 56 No sub64_reg_imm
587 56 No sub32_reg_imm
588 49 No sub16_reg_imm
589 35 No sub8_reg_imm
591 504 No sub64_mem_imm
592 504 No sub32_mem_imm
593 441 No sub16_mem_imm
594 315 No sub8_mem_imm
597 0 Yes and
599 49 No and64_reg_reg
600 49 No and32_reg_reg
601 49 No and16_reg_reg
602 49 No and8_reg_reg
604 441 No and64_reg_mem
605 441 No and32_reg_mem
606 441 No and16_reg_mem
607 441 No and8_reg_mem
609 441 No and64_mem_reg
610 441 No and32_mem_reg
611 441 No and16_mem_reg
612 441 No and8_mem_reg
614 56 No and64_reg_imm
615 56 No and32_reg_imm
616 49 No and16_reg_imm
617 35 No and8_reg_imm
619 504 No and64_mem_imm
620 504 No and32_mem_imm
621 441 No and16_mem_imm
622 315 No and8_mem_imm
625 0 Yes or
627 49 No or64_reg_reg
628 49 No or32_reg_reg
629 49 No or16_reg_reg
630 49 No or8_reg_reg
632 441 No or64_reg_mem
633 441 No or32_reg_mem
634 441 No or16_reg_mem
635 441 No or8_reg_mem
637 441 No or64_mem_reg
638 441 No or32_mem_reg
639 441 No or16_mem_reg
640 441 No or8_mem_reg
642 56 No or64_reg_imm
643 56 No or32_reg_imm
644 49 No or16_reg_imm
645 35 No or8_reg_imm
647 504 No or64_mem_imm
648 504 No or32_mem_imm
649 441 No or16_mem_imm
650 315 No or8_mem_imm
653 0 Yes xor
655 49 No xor64_reg_reg
656 49 No xor32_reg_reg
657 49 No xor16_reg_reg
658 49 No xor8_reg_reg
660 441 No xor64_reg_mem
661 441 No xor32_reg_mem
662 441 No xor16_reg_mem
663 441 No xor8_reg_mem
665 441 No xor64_mem_reg
666 441 No xor32_mem_reg
667 441 No xor16_mem_reg
668 441 No xor8_mem_reg
670 56 No xor64_reg_imm
671 56 No xor32_reg_imm
672 49 No xor16_reg_imm
673 35 No xor8_reg_imm
675 504 No xor64_mem_imm
676 504 No xor32_mem_imm
677 441 No xor16_mem_imm
678 315 No xor8_mem_imm
681 0 Yes shl
683 77 No shl64_reg_imm
684 63 No shl32_reg_imm
685 49 No shl16_reg_imm
686 55 No shl8_reg_imm
688 7 No shl64_reg_cl
689 7 No shl32_reg_cl
690 7 No shl16_reg_cl
691 11 No shl8_reg_cl
693 315 No shl64_mem_imm
694 315 No shl32_mem_imm
695 315 No shl16_mem_imm
696 315 No shl8_mem_imm
698 63 No shl64_mem_cl
699 63 No shl32_mem_cl
700 63 No shl16_mem_cl
701 63 No shl8_mem_cl
704 0 Yes shr
706 77 No shr64_reg_imm
707 63 No shr32_reg_imm
708 49 No shr16_reg_imm
709 55 No shr8_reg_imm
711 7 No shr64_reg_cl
712 7 No shr32_reg_cl
713 7 No shr16_reg_cl
714 11 No shr8_reg_cl
716 315 No shr64_mem_imm
717 315 No shr32_mem_imm
718 315 No shr16_mem_imm
719 315 No shr8_mem_imm
721 63 No shr64_mem_cl
722 63 No shr32_mem_cl
723 63 No shr16_mem_cl
724 63 No shr8_mem_cl
727 0 Yes sar
729 77 No sar64_reg_imm
730 63 No sar32_reg_imm
731 49 No sar16_reg_imm
732 55 No sar8_reg_imm
734 7 No sar64_reg_cl
735 7 No sar32_reg_cl
736 7 No sar16_reg_cl
737 11 No sar8_reg_cl
739 315 No sar64_mem_imm
740 315 No sar32_mem_imm
741 315 No sar16_mem_imm
742 315 No sar8_mem_imm
744 63 No sar64_mem_cl
745 63 No sar32_mem_cl
746 63 No sar16_mem_cl
747 63 No sar8_mem_cl
750 0 Yes cmp
752 49 No cmp64_reg_reg
753 49 No cmp32_reg_reg
754 49 No cmp16_reg_reg
755 49 No cmp8_reg_reg
757 441 No cmp64_reg_mem
758 441 No cmp32_reg_mem
759 441 No cmp16_reg_mem
760 441 No cmp8_reg_mem
762 0 No cmp64_mem_reg
763 0 No cmp32_mem_reg
764 0 No cmp16_mem_reg
765 0 No cmp8_mem_reg
767 56 No cmp64_reg_imm
768 56 No cmp32_reg_imm
769 49 No cmp16_reg_imm
770 35 No cmp8_reg_imm
772 504 No cmp64_mem_imm
773 504 No cmp32_mem_imm
774 441 No cmp16_mem_imm
775 315 No cmp8_mem_imm
778 0 Yes test
780 49 No test64_reg_reg
781 49 No test32_reg_reg
782 49 No test16_reg_reg
783 49 No test8_reg_reg
785 441 No test64_reg_mem
786 441 No test32_reg_mem
787 441 No test16_reg_mem
788 441 No test8_reg_mem
790 56 No test64_reg_imm
791 56 No test32_reg_imm
792 49 No test16_reg_imm
793 35 No test8_reg_imm
795 504 No test64_mem_imm
796 504 No test32_mem_imm
797 441 No test16_mem_imm
798 315 No test8_mem_imm
801 0 Yes dec
803 7 No dec64_reg
804 7 No dec32_reg
805 7 No dec16_reg
806 7 No dec8_reg
808 63 No dec64_mem
809 63 No dec32_mem
810 63 No dec16_mem
811 63 No dec8_mem
814 0 Yes inc
816 7 No inc64_reg
817 7 No inc32_reg
818 7 No inc16_reg
819 7 No inc8_reg
821 63 No inc64_mem
822 63 No inc32_mem
823 63 No inc16_mem
824 63 No inc8_mem
827 0 No not
829 7 No not64_reg
830 7 No not32_reg
831 7 No not16_reg
832 7 No not8_reg
834 63 No not64_mem
835 63 No not32_mem
836 63 No not16_mem
837 63 No not8_mem
840 0 No neg
842 7 No neg64_reg
843 7 No neg32_reg
844 7 No neg16_reg
845 7 No neg8_reg
847 63 No neg64_mem
848 63 No neg32_mem
849 63 No neg16_mem
850 63 No neg8_mem
853 0 No div
854 0 No idiv
856 7 No div64_reg
857 7 No div32_reg
858 7 No div16_reg
859 7 No div8_reg
861 63 No div64_mem
862 63 No div32_mem
863 63 No div16_mem
864 63 No div8_mem
866 7 No idiv64_reg
867 7 No idiv32_reg
868 7 No idiv16_reg
869 7 No idiv8_reg
871 63 No idiv64_mem
872 63 No idiv32_mem
873 63 No idiv16_mem
874 63 No idiv8_mem
901 0 Yes mul64_dxax_reg
902 0 Yes mul32_dxax_reg
903 0 Yes mul16_dxax_reg
904 0 Yes mul8_ax_reg
909 1 Yes sign_extend_al_ax
912 1 Yes sign_extend_ax_eax
915 1 Yes sign_extend_eax_rax
918 1 Yes sign_extend_ax_dx
921 1 Yes sign_extend_eax_edx
924 1 Yes sign_extend_rax_rdx
929 3 Yes flag_carry
930 1 Yes clc
931 1 Yes cmc
932 1 Yes stc
936 17 Yes END
936 0 n/a push
939 7 No push_reg
946 8 No push_imm
947 17 n/a BEGIN
955 63 No push_mem
959 17 Yes END
959 0 n/a pop
962 7 Yes pop_reg
968 63 Yes pop_mem
972 28 No enter
989 1 No leave
993 0 Yes syscall
998 24 Yes rep
1001 24 Yes repnz
1006 2 Yes flag_direction
1007 1 Yes cld
1008 1 Yes std
1011 4 Yes movs64
1014 4 Yes movs32
1017 4 Yes movs16
1020 4 Yes movs8
1024 4 Yes cmps64
1027 4 Yes cmps32
1030 4 Yes cmps16
1033 4 Yes cmps8
1037 4 Yes scas64
1040 4 Yes scas32
1043 4 Yes scas16
1046 4 Yes scas8
1051 0 Yes mfence
1055 0 Yes lfence
1059 0 Yes sfence
1078 14 n/a _encode_op_reg_reg
1079 17 n/a BEGIN
1093 735 n/a _append_op64_reg_reg
1096 17 n/a BEGIN
1103 646 n/a _append_op32_reg_reg
1106 17 n/a BEGIN
1114 602 n/a _append_op16_reg_reg
1117 17 n/a BEGIN
1125 420 n/a _append_op8_reg_reg
1126 17 n/a BEGIN
1152 212 n/a _append_op8_opreg_reg
1153 17 n/a BEGIN
1178 9263 n/a _append_op64_reg_mem
1191 9013 n/a _append_op32_reg_mem
1203 9009 n/a _append_op16_reg_mem
1216 7308 n/a _append_op8_reg_mem
1238 1260 n/a _append_op8_opreg_mem
1255 63 n/a _append_op8_const_to_mem
1264 63 n/a _append_op16_const_to_mem
1274 63 n/a _append_op32_const_to_mem
1283 63 n/a _append_op64_const_to_mem
1302 50225 n/a _encode_op_reg_mem
1303 17 n/a BEGIN
1378 448 n/a _append_mathop64_const
1383 448 n/a _encode_mathop64_imm
1384 17 n/a BEGIN
1402 448 n/a _append_mathop32_const
1407 448 n/a _encode_mathop32_imm
1408 17 n/a BEGIN
1428 392 n/a _append_mathop16_const
1433 392 n/a _encode_mathop16_imm
1434 17 n/a BEGIN
1462 280 n/a _append_mathop8_const
1463 17 n/a BEGIN
1483 4032 n/a _append_mathop64_const_to_mem
1492 4032 n/a _encode_mathop64_mem_immed
1493 17 n/a BEGIN
1502 4032 n/a _append_mathop32_const_to_mem
1511 4032 n/a _encode_mathop32_mem_immed
1512 17 n/a BEGIN
1521 3528 n/a _append_mathop16_const_to_mem
1531 3528 n/a _encode_mathop16_mem_immed
1532 17 n/a BEGIN
1541 2520 n/a _append_mathop8_const_to_mem
1550 2520 n/a _encode_mathop8_mem_immed
1551 17 n/a BEGIN
1568 732 n/a _append_shiftop_reg_imm
1595 3780 n/a _append_shiftop_mem_imm
1626 64 n/a _append_jmp_cond
1629 17 n/a BEGIN
1635 160 n/a __ANON__
1655 8 n/a _append_jmp_cx
1656 17 n/a BEGIN
1662 8 n/a __ANON__
1673 51729 n/a _append_possible_unknown
1681 0 n/a __ANON__
1713 90 n/a _mark_unresolved
1741 0 n/a _repack
1742 17 n/a BEGIN
1761 54830 n/a _resolve