Subroutine Coverage

blib/lib/CPU/x86_64/InstructionWriter.pm
Criterion Covered Total %
subroutine 466 649 71.8
pod 132 555 23.7


line count pod subroutine
3 20 n/a BEGIN
4 20 n/a BEGIN
5 20 n/a BEGIN
6 20 n/a BEGIN
7 20 n/a BEGIN
8 20 n/a BEGIN
9 20 n/a BEGIN
10 20 n/a BEGIN
11 20 n/a BEGIN
12 20 n/a BEGIN
13 20 n/a BEGIN
14 20 n/a BEGIN
28 20 n/a BEGIN
30 0 No AH
30 0 No AL
30 0 No AX
30 0 No BH
30 0 No BL
30 0 No BP
30 0 No BPL
30 0 No BX
30 0 No CH
30 0 No CL
30 0 No CX
30 0 No DH
30 0 No DI
30 0 No DIL
30 0 No DL
30 0 No DX
30 0 No EAX
30 0 No EBP
30 0 No EBX
30 0 No ECX
30 0 No EDI
30 0 No EDX
30 0 No ESI
30 0 No ESP
30 0 No R10
30 0 No R10B
30 0 No R10D
30 0 No R10W
30 0 No R11
30 0 No R11B
30 0 No R11D
30 0 No R11W
30 0 No R12
30 0 No R12B
30 0 No R12D
30 0 No R12W
30 0 No R13
30 0 No R13B
30 0 No R13D
30 0 No R13W
30 0 No R14
30 0 No R14B
30 0 No R14D
30 0 No R14W
30 0 No R15
30 0 No R15B
30 0 No R15D
30 0 No R15W
30 0 No R8
30 0 No R8B
30 0 No R8D
30 0 No R8W
30 0 No R9
30 0 No R9B
30 0 No R9D
30 0 No R9W
30 0 No RAX
30 0 No RBP
30 0 No RBX
30 0 No RCX
30 0 No RDI
30 0 No RDX
30 0 No RFLAGS
30 0 No RIP
30 0 No RSI
30 0 No RSP
30 0 No SI
30 0 No SIL
30 0 No SP
30 0 No SPL
30 0 No XMM0
30 0 No XMM1
30 0 No XMM10
30 0 No XMM11
30 0 No XMM12
30 0 No XMM13
30 0 No XMM14
30 0 No XMM15
30 0 No XMM2
30 0 No XMM3
30 0 No XMM4
30 0 No XMM5
30 0 No XMM6
30 0 No XMM7
30 0 No XMM8
30 0 No XMM9
30 0 No YMM0
30 0 No YMM1
30 0 No YMM10
30 0 No YMM11
30 0 No YMM12
30 0 No YMM13
30 0 No YMM14
30 0 No YMM15
30 0 No YMM2
30 0 No YMM3
30 0 No YMM4
30 0 No YMM5
30 0 No YMM6
30 0 No YMM7
30 0 No YMM8
30 0 No YMM9
30 0 No ZMM0
30 0 No ZMM1
30 0 No ZMM10
30 0 No ZMM11
30 0 No ZMM12
30 0 No ZMM13
30 0 No ZMM14
30 0 No ZMM15
30 0 No ZMM16
30 0 No ZMM17
30 0 No ZMM18
30 0 No ZMM19
30 0 No ZMM2
30 0 No ZMM20
30 0 No ZMM21
30 0 No ZMM22
30 0 No ZMM23
30 0 No ZMM24
30 0 No ZMM25
30 0 No ZMM26
30 0 No ZMM27
30 0 No ZMM28
30 0 No ZMM29
30 0 No ZMM3
30 0 No ZMM30
30 0 No ZMM31
30 0 No ZMM4
30 0 No ZMM5
30 0 No ZMM6
30 0 No ZMM7
30 0 No ZMM8
30 0 No ZMM9
81 8 No unknown
82 0 No unknown8
83 0 No unknown16
84 0 No unknown32
85 57629 No unknown64
86 0 No unknown7
87 0 No unknown15
88 0 No unknown31
89 0 No unknown63
99 57629 Yes new
115 272 Yes start_address
116 0 Yes debug
117 57651 n/a _buf
118 58064 n/a _unresolved
119 9 n/a _anon_label
122 257 Yes labels
125 0 Yes scope
132 257 Yes get_label
146 69 Yes label
172 57651 Yes bytes
179 1 Yes append
209 1 Yes align
215 4 n/a _align
223 20 n/a __ANON__
226 1 No align2
227 1 No align4
228 1 No align8
232 4 Yes data
258 2 Yes data_i8
259 1 Yes data_i16
260 1 Yes data_i32
261 6 Yes data_i64
264 0 Yes data_f32
265 0 Yes data_f64
269 3 Yes data_str
289 86 n/a _autodetect_signature_1
290 2744 n/a _autodetect_signature_2
291 0 n/a _autodetect_signature_3
294 2830 n/a _autodetect_signature
319 0 Yes cpuid
333 117 Yes nop
338 0 Yes pause
344 2 Yes call_label
348 20 n/a BEGIN
354 2 n/a __ANON__
366 0 Yes call_rel
373 7 Yes call_abs_reg
374 63 Yes call_abs_mem
378 3 No ret
397 180 n/a _encode_jmp
400 20 n/a BEGIN
406 20 n/a BEGIN
408 78 n/a _append_jmp
420 4 Yes jmp
426 7 Yes jmp_abs_reg
429 63 Yes jmp_abs_mem
433 66 n/a _jmp_cond_ops
437 4 Yes jmp_if_eq
441 6 Yes jmp_if_ne
446 4 Yes jmp_if_unsigned_lt
450 4 Yes jmp_if_unsigned_gt
453 4 Yes jmp_if_unsigned_le
456 4 Yes jmp_if_unsigned_ge
461 4 Yes jmp_if_signed_lt
464 4 Yes jmp_if_signed_gt
467 4 Yes jmp_if_signed_le
470 4 Yes jmp_if_signed_ge
474 4 Yes jmp_if_sign
477 4 Yes jmp_unless_sign
480 4 Yes jmp_if_overflow
483 4 Yes jmp_unless_overflow
486 4 Yes jmp_if_parity_even
490 4 Yes jmp_if_parity_odd
495 2 Yes jmp_cx_zero
498 2 Yes loop
500 2 Yes loopz
503 2 Yes loopnz
507 6 Yes mov
510 49 Yes mov64_reg_reg
511 1 No mov32_reg_reg
512 0 No mov16_reg_reg
513 0 No mov8_reg_reg
516 450 No mov64_mem_reg
517 452 No mov64_reg_mem
518 449 No mov32_mem_reg
519 453 No mov32_reg_mem
520 449 No mov16_mem_reg
521 451 No mov16_reg_mem
522 449 No mov8_mem_reg
523 451 No mov8_reg_mem
526 3604 n/a _append_mov_reg_mem
540 14 n/a __ANON__
563 63 Yes mov64_reg_imm
568 63 n/a _encode_mov64_imm
569 20 n/a BEGIN
586 57 No mov32_reg_imm
590 57 n/a __ANON__
593 49 No mov16_reg_imm
598 49 n/a __ANON__
601 55 No mov8_reg_imm
608 55 n/a __ANON__
612 63 No mov64_mem_imm
613 63 No mov32_mem_imm
614 63 No mov16_mem_imm
615 63 No mov8_mem_imm
618 0 Yes lea
620 0 Yes lea16_reg_reg
621 441 Yes lea16_reg_mem
622 0 Yes lea32_reg_reg
623 441 Yes lea32_reg_mem
624 0 Yes lea64_reg_reg
625 441 Yes lea64_reg_mem
628 1 Yes add
630 50 No add64_reg_reg
631 49 No add32_reg_reg
632 49 No add16_reg_reg
633 49 No add8_reg_reg
635 441 No add64_reg_mem
636 441 No add32_reg_mem
637 441 No add16_reg_mem
638 441 No add8_reg_mem
640 441 No add64_mem_reg
641 441 No add32_mem_reg
642 441 No add16_mem_reg
643 441 No add8_mem_reg
645 56 No add64_reg_imm
646 56 No add32_reg_imm
647 49 No add16_reg_imm
648 35 No add8_reg_imm
650 504 No add64_mem_imm
651 504 No add32_mem_imm
652 441 No add16_mem_imm
653 315 No add8_mem_imm
656 0 Yes addcarry
659 49 No addcarry64_reg_reg
660 49 No addcarry32_reg_reg
661 49 No addcarry16_reg_reg
662 49 No addcarry8_reg_reg
664 441 No addcarry64_reg_mem
665 441 No addcarry32_reg_mem
666 441 No addcarry16_reg_mem
667 441 No addcarry8_reg_mem
669 441 No addcarry64_mem_reg
670 441 No addcarry32_mem_reg
671 441 No addcarry16_mem_reg
672 441 No addcarry8_mem_reg
674 56 No addcarry64_reg_imm
675 56 No addcarry32_reg_imm
676 49 No addcarry16_reg_imm
677 35 No addcarry8_reg_imm
679 504 No addcarry64_mem_imm
680 504 No addcarry32_mem_imm
681 441 No addcarry16_mem_imm
682 315 No addcarry8_mem_imm
685 0 Yes sub
687 49 No sub64_reg_reg
688 49 No sub32_reg_reg
689 49 No sub16_reg_reg
690 49 No sub8_reg_reg
692 441 No sub64_reg_mem
693 441 No sub32_reg_mem
694 441 No sub16_reg_mem
695 441 No sub8_reg_mem
697 441 No sub64_mem_reg
698 441 No sub32_mem_reg
699 441 No sub16_mem_reg
700 441 No sub8_mem_reg
702 56 No sub64_reg_imm
703 56 No sub32_reg_imm
704 49 No sub16_reg_imm
705 35 No sub8_reg_imm
707 504 No sub64_mem_imm
708 504 No sub32_mem_imm
709 441 No sub16_mem_imm
710 315 No sub8_mem_imm
713 0 Yes and
715 49 No and64_reg_reg
716 49 No and32_reg_reg
717 49 No and16_reg_reg
718 49 No and8_reg_reg
720 441 No and64_reg_mem
721 441 No and32_reg_mem
722 441 No and16_reg_mem
723 441 No and8_reg_mem
725 441 No and64_mem_reg
726 441 No and32_mem_reg
727 441 No and16_mem_reg
728 441 No and8_mem_reg
730 56 No and64_reg_imm
731 56 No and32_reg_imm
732 49 No and16_reg_imm
733 35 No and8_reg_imm
735 504 No and64_mem_imm
736 504 No and32_mem_imm
737 441 No and16_mem_imm
738 315 No and8_mem_imm
741 0 Yes or
743 49 No or64_reg_reg
744 49 No or32_reg_reg
745 49 No or16_reg_reg
746 49 No or8_reg_reg
748 441 No or64_reg_mem
749 441 No or32_reg_mem
750 441 No or16_reg_mem
751 441 No or8_reg_mem
753 441 No or64_mem_reg
754 441 No or32_mem_reg
755 441 No or16_mem_reg
756 441 No or8_mem_reg
758 56 No or64_reg_imm
759 56 No or32_reg_imm
760 49 No or16_reg_imm
761 35 No or8_reg_imm
763 504 No or64_mem_imm
764 504 No or32_mem_imm
765 441 No or16_mem_imm
766 315 No or8_mem_imm
769 0 Yes xor
771 49 No xor64_reg_reg
772 49 No xor32_reg_reg
773 49 No xor16_reg_reg
774 49 No xor8_reg_reg
776 441 No xor64_reg_mem
777 441 No xor32_reg_mem
778 441 No xor16_reg_mem
779 441 No xor8_reg_mem
781 441 No xor64_mem_reg
782 441 No xor32_mem_reg
783 441 No xor16_mem_reg
784 441 No xor8_mem_reg
786 56 No xor64_reg_imm
787 56 No xor32_reg_imm
788 49 No xor16_reg_imm
789 35 No xor8_reg_imm
791 504 No xor64_mem_imm
792 504 No xor32_mem_imm
793 441 No xor16_mem_imm
794 315 No xor8_mem_imm
806 732 n/a _append_shiftop_reg_imm
830 3780 n/a _append_shiftop_mem_imm
846 0 Yes shl
848 77 No shl64_reg_imm
849 63 No shl32_reg_imm
850 49 No shl16_reg_imm
851 55 No shl8_reg_imm
853 315 No shl64_mem_imm
854 315 No shl32_mem_imm
855 315 No shl16_mem_imm
856 315 No shl8_mem_imm
858 7 No shl64_reg_cl
859 7 No shl32_reg_cl
860 7 No shl16_reg_cl
861 11 No shl8_reg_cl
863 63 No shl64_mem_cl
864 63 No shl32_mem_cl
865 63 No shl16_mem_cl
866 63 No shl8_mem_cl
869 0 Yes shr
871 77 No shr64_reg_imm
872 63 No shr32_reg_imm
873 49 No shr16_reg_imm
874 55 No shr8_reg_imm
876 7 No shr64_reg_cl
877 7 No shr32_reg_cl
878 7 No shr16_reg_cl
879 11 No shr8_reg_cl
881 315 No shr64_mem_imm
882 315 No shr32_mem_imm
883 315 No shr16_mem_imm
884 315 No shr8_mem_imm
886 63 No shr64_mem_cl
887 63 No shr32_mem_cl
888 63 No shr16_mem_cl
889 63 No shr8_mem_cl
892 0 Yes sar
894 77 No sar64_reg_imm
895 63 No sar32_reg_imm
896 49 No sar16_reg_imm
897 55 No sar8_reg_imm
899 7 No sar64_reg_cl
900 7 No sar32_reg_cl
901 7 No sar16_reg_cl
902 11 No sar8_reg_cl
904 315 No sar64_mem_imm
905 315 No sar32_mem_imm
906 315 No sar16_mem_imm
907 315 No sar8_mem_imm
909 63 No sar64_mem_cl
910 63 No sar32_mem_cl
911 63 No sar16_mem_cl
912 63 No sar8_mem_cl
915 2 Yes cmp
917 49 No cmp64_reg_reg
918 49 No cmp32_reg_reg
919 49 No cmp16_reg_reg
920 49 No cmp8_reg_reg
922 442 No cmp64_reg_mem
923 441 No cmp32_reg_mem
924 441 No cmp16_reg_mem
925 441 No cmp8_reg_mem
927 0 No cmp64_mem_reg
928 0 No cmp32_mem_reg
929 0 No cmp16_mem_reg
930 0 No cmp8_mem_reg
932 57 No cmp64_reg_imm
933 56 No cmp32_reg_imm
934 49 No cmp16_reg_imm
935 35 No cmp8_reg_imm
937 504 No cmp64_mem_imm
938 504 No cmp32_mem_imm
939 441 No cmp16_mem_imm
940 315 No cmp8_mem_imm
943 0 Yes test
945 49 No test64_reg_reg
946 49 No test32_reg_reg
947 49 No test16_reg_reg
948 49 No test8_reg_reg
950 441 No test64_reg_mem
951 441 No test32_reg_mem
952 441 No test16_reg_mem
953 441 No test8_reg_mem
955 56 No test64_reg_imm
956 56 No test32_reg_imm
957 49 No test16_reg_imm
958 35 No test8_reg_imm
960 504 No test64_mem_imm
961 504 No test32_mem_imm
962 441 No test16_mem_imm
963 315 No test8_mem_imm
966 0 Yes dec
968 7 No dec64_reg
969 7 No dec32_reg
970 7 No dec16_reg
971 7 No dec8_reg
973 63 No dec64_mem
974 63 No dec32_mem
975 63 No dec16_mem
976 63 No dec8_mem
979 0 Yes inc
981 7 No inc64_reg
982 7 No inc32_reg
983 7 No inc16_reg
984 7 No inc8_reg
986 63 No inc64_mem
987 63 No inc32_mem
988 63 No inc16_mem
989 63 No inc8_mem
992 0 No not
994 7 No not64_reg
995 7 No not32_reg
996 7 No not16_reg
997 7 No not8_reg
999 63 No not64_mem
1000 63 No not32_mem
1001 63 No not16_mem
1002 63 No not8_mem
1005 0 No neg
1007 7 No neg64_reg
1008 7 No neg32_reg
1009 7 No neg16_reg
1010 7 No neg8_reg
1012 63 No neg64_mem
1013 63 No neg32_mem
1014 63 No neg16_mem
1015 63 No neg8_mem
1018 0 No div
1019 0 No idiv
1021 7 No div64_reg
1022 7 No div32_reg
1023 7 No div16_reg
1024 7 No div8_reg
1026 63 No div64_mem
1027 63 No div32_mem
1028 63 No div16_mem
1029 63 No div8_mem
1031 7 No idiv64_reg
1032 7 No idiv32_reg
1033 7 No idiv16_reg
1034 7 No idiv8_reg
1036 63 No idiv64_mem
1037 63 No idiv32_mem
1038 63 No idiv16_mem
1039 63 No idiv8_mem
1066 0 Yes mul64_dxax_reg
1067 0 Yes mul32_dxax_reg
1068 0 Yes mul16_dxax_reg
1069 0 Yes mul8_ax_reg
1074 1 Yes sign_extend_al_ax
1077 1 Yes sign_extend_ax_eax
1080 1 Yes sign_extend_eax_rax
1083 1 Yes sign_extend_ax_dx
1086 1 Yes sign_extend_eax_edx
1089 1 Yes sign_extend_rax_rdx
1094 3 Yes flag_carry
1095 1 Yes clc
1096 1 Yes cmc
1097 1 Yes stc
1101 20 Yes INIT
1101 79 n/a push
1104 15 Yes push64_reg
1111 16 Yes push64_imm
1112 20 n/a BEGIN
1120 126 Yes push64_mem
1124 20 Yes INIT
1124 7 n/a pop
1127 14 Yes pop64_reg
1133 63 Yes pop64_mem
1137 28 No enter
1154 1 No leave
1157 0 Yes syscall
1160 24 Yes rep
1163 24 Yes repnz
1168 2 Yes flag_direction
1169 1 Yes cld
1170 1 Yes std
1173 4 Yes movs64
1176 4 Yes movs32
1179 4 Yes movs16
1182 4 Yes movs8
1186 4 Yes cmps64
1189 4 Yes cmps32
1192 4 Yes cmps16
1195 4 Yes cmps8
1199 4 Yes scas64
1202 4 Yes scas32
1205 4 Yes scas16
1208 4 Yes scas8
1213 0 Yes mfence
1217 0 Yes lfence
1221 0 Yes sfence
1226 700 Yes movd
1228 35 Yes movd_xreg_reg
1229 320 Yes movd_xreg_mem
1230 35 Yes movd_reg_xreg
1231 320 Yes movd_mem_xreg
1233 725 Yes movq
1235 25 Yes movq_xreg_xreg
1236 320 Yes movq_xreg_mem
1237 320 Yes movq_mem_xreg
1240 35 Yes movq_xreg_reg
1241 35 Yes movq_reg_xreg
1243 655 Yes movss
1245 25 Yes movss_xreg_xreg
1246 320 Yes movss_xreg_mem
1247 320 Yes movss_mem_xreg
1251 659 Yes movsd
1255 25 Yes movsd_xreg_xreg
1256 320 Yes movsd_xreg_mem
1257 320 Yes movsd_mem_xreg
1269 1997 n/a _encode_op_reg_reg
1270 20 n/a BEGIN
1284 442 n/a _append_op64_reg_reg
1291 308 n/a _append_op64_regnum_reg
1297 393 n/a _append_op32_reg_reg
1304 252 n/a _append_op32_regnum_reg
1310 392 n/a _append_op16_reg_reg
1317 210 n/a _append_op16_regnum_reg
1323 240 n/a _append_op8_regnum_reg
1326 632 n/a _append_op8_reg_reg
1345 75 n/a _append_op128_xreg_xreg
1356 140 n/a _append_op128_xreg_reg
1381 2560 n/a _append_op128_xreg_mem
1387 7514 n/a _append_op64_reg_mem
1394 7513 n/a _append_op32_reg_mem
1401 7511 n/a _append_op16_reg_mem
1408 7070 n/a _append_op8_reg_mem
1422 38531 n/a _append_op_reg_mem
1449 63 n/a _append_op8_const_to_mem
1458 63 n/a _append_op16_const_to_mem
1468 63 n/a _append_op32_const_to_mem
1477 63 n/a _append_op64_const_to_mem
1495 52985 n/a _encode_op_reg_mem
1496 20 n/a BEGIN
1579 449 n/a _append_mathop64_const
1584 449 n/a _encode_mathop64_imm
1585 20 n/a BEGIN
1603 448 n/a _append_mathop32_const
1608 448 n/a _encode_mathop32_imm
1609 20 n/a BEGIN
1629 392 n/a _append_mathop16_const
1634 392 n/a _encode_mathop16_imm
1635 20 n/a BEGIN
1663 280 n/a _append_mathop8_const
1664 20 n/a BEGIN
1683 4032 n/a _append_mathop64_const_to_mem
1692 4032 n/a _encode_mathop64_mem_immed
1693 20 n/a BEGIN
1702 4032 n/a _append_mathop32_const_to_mem
1711 4032 n/a _encode_mathop32_mem_immed
1712 20 n/a BEGIN
1721 3528 n/a _append_mathop16_const_to_mem
1731 3528 n/a _encode_mathop16_mem_immed
1732 20 n/a BEGIN
1741 2520 n/a _append_mathop8_const_to_mem
1750 2520 n/a _encode_mathop8_mem_immed
1751 20 n/a BEGIN
1757 54408 n/a _append_possible_unknown
1767 179 n/a __ANON__
1804 189 n/a _mark_unresolved
1835 0 n/a _repack
1836 20 n/a BEGIN
1855 57651 n/a _resolve