- Timestamp:
- Dec 5, 2024 7:27:26 AM (2 months ago)
- Location:
- trunk/src/VBox/ValidationKit/bootsectors
- Files:
-
- 1 added
- 4 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/Makefile.kmk
r106061 r107231 453 453 bs3-cpu-instr-4_TEMPLATE = VBoxBS3KitImg 454 454 bs3-cpu-instr-4_INCS = . $(bs3-cpu-instr-4_0_OUTDIR) 455 bs3-cpu-instr-4_DEFS = BS3_CPU_INSTR_4 455 456 bs3-cpu-instr-4_SOURCES = \ 456 457 bs3kit/bs3-first-init-all-pe32.asm \ … … 466 467 bs3-cpu-instr-4-template.o:: \ 467 468 $$(bs3-cpu-instr-4_0_OUTDIR)/bs3-cpu-instr-4-asm.o16 469 470 # 471 # CPU instructions #5 - SSE, AVX, ++ FPU instructions (continued). 472 # 473 MISCBINS += bs3-cpu-instr-5 474 bs3-cpu-instr-5_TEMPLATE = VBoxBS3KitImg 475 bs3-cpu-instr-5_INCS = . $(bs3-cpu-instr-5_0_OUTDIR) 476 bs3-cpu-instr-5_DEFS = BS3_CPU_INSTR_5 477 bs3-cpu-instr-5_SOURCES = \ 478 bs3kit/bs3-first-init-all-pe32.asm \ 479 bs3-cpu-instr-5.c32 \ 480 bs3-cpu-instr-5-asm.asm 481 bs3-cpu-instr-5.c32_DEPS = $(bs3-cpu-instr-5_0_OUTDIR)/bs3-cpu-instr-5-asm-auto.h 482 bs3-cpu-instr-5_CLEANS = $(bs3-cpu-instr-5_0_OUTDIR)/bs3-cpu-instr-5-asm-auto.h 483 484 $$(bs3-cpu-instr-5_0_OUTDIR)/bs3-cpu-instr-5-asm-auto.h: \ 485 $$(VBoxBs3Obj2Hdr_1_TARGET) $$(bs3-cpu-instr-5_0_OUTDIR)/bs3-cpu-instr-5-asm.o16 486 $(VBoxBs3Obj2Hdr_1_TARGET) --output "$@" "$(bs3-cpu-instr-5_0_OUTDIR)/bs3-cpu-instr-5-asm.o16" 487 488 bs3-cpu-instr-5-template.o:: \ 489 $$(bs3-cpu-instr-5_0_OUTDIR)/bs3-cpu-instr-5-asm.o16 468 490 469 491 # -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4-asm.asm
r106061 r107231 1 1 ; $Id$ 2 2 ;; @file 3 ; BS3Kit - bs3-cpu-instr-4 - SSE, AVX FPU instructions.3 ; BS3Kit - bs3-cpu-instr-4 & bs3-cpu-instr-5 - SSE, AVX FPU instructions. 4 4 ; 5 5 -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4-template.mac
r107230 r107231 1 1 ; $Id$ 2 2 ;; @file 3 ; BS3Kit - bs3-cpu-instr-4 - SSE, AVX FPU instructions, assembly template.3 ; BS3Kit - bs3-cpu-instr-4 & bs3-cpu-instr-5 - SSE, AVX FPU instructions, assembly template. 4 4 ; 5 5 … … 175 175 %endif ; !EMIT_INSTR_PLUS_ICEBP_DEFINED 176 176 177 %ifdef BS3_CPU_INSTR_4 178 177 179 ; 178 180 ;; [v]addps … … 696 698 EMIT_INSTR_PLUS_ICEBP_C64 vminsd, XMM8, XMM9, XMM10 697 699 EMIT_INSTR_PLUS_ICEBP_C64 vminsd, XMM8, XMM9, FSxBX 700 701 %endif ; BS3_CPU_INSTR_4 702 703 %ifdef BS3_CPU_INSTR_5 698 704 699 705 ; … … 872 878 873 879 ; 874 ;; dpps880 ;; [v]dpps 875 881 ; 876 882 EMIT_INSTR_PLUS_ICEBP dpps, XMM1, XMM2, 000h … … 921 927 922 928 ; 923 ;; dppd929 ;; [v]dppd 924 930 ; 925 931 EMIT_INSTR_PLUS_ICEBP dppd, XMM1, XMM2, 000h … … 953 959 954 960 ; 955 ;; roundpd 961 ;; [v]roundps 962 ; 963 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM1, 008h 964 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 000h 965 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 008h 966 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 009h 967 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 00ah 968 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 00bh 969 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 00ch 970 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 00dh 971 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 00eh 972 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 00fh 973 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 0ffh 974 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, FSxBX, 008h 975 EMIT_INSTR_PLUS_ICEBP_C64 roundps, XMM8, XMM8, 008h 976 EMIT_INSTR_PLUS_ICEBP_C64 roundps, XMM8, XMM9, 008h 977 EMIT_INSTR_PLUS_ICEBP_C64 roundps, XMM8, FSxBX, 008h 978 979 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM1, 008h 980 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 000h 981 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 008h 982 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 009h 983 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 00ah 984 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 00bh 985 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 00ch 986 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 00dh 987 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 00eh 988 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 00fh 989 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 0ffh 990 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, FSxBX, 008h 991 EMIT_INSTR_PLUS_ICEBP_C64 vroundps, XMM8, XMM8, 008h 992 EMIT_INSTR_PLUS_ICEBP_C64 vroundps, XMM8, XMM9, 008h 993 EMIT_INSTR_PLUS_ICEBP_C64 vroundps, XMM8, FSxBX, 008h 994 995 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM1, 008h 996 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 000h 997 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 008h 998 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 009h 999 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 00ah 1000 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 00bh 1001 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 00ch 1002 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 00dh 1003 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 00eh 1004 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 00fh 1005 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 0ffh 1006 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, FSxBX, 008h 1007 EMIT_INSTR_PLUS_ICEBP_C64 vroundps, YMM8, YMM8, 008h 1008 EMIT_INSTR_PLUS_ICEBP_C64 vroundps, YMM8, YMM9, 008h 1009 EMIT_INSTR_PLUS_ICEBP_C64 vroundps, YMM8, FSxBX, 008h 1010 1011 ; 1012 ;; [v]roundpd 956 1013 ; 957 1014 EMIT_INSTR_PLUS_ICEBP roundpd, XMM1, XMM1, 008h … … 1004 1061 1005 1062 ; 1006 ;; roundps 1007 ; 1008 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM1, 008h 1009 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 000h 1010 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 008h 1011 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 009h 1012 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 00ah 1013 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 00bh 1014 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 00ch 1015 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 00dh 1016 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 00eh 1017 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 00fh 1018 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, XMM2, 0ffh 1019 EMIT_INSTR_PLUS_ICEBP roundps, XMM1, FSxBX, 008h 1020 EMIT_INSTR_PLUS_ICEBP_C64 roundps, XMM8, XMM8, 008h 1021 EMIT_INSTR_PLUS_ICEBP_C64 roundps, XMM8, XMM9, 008h 1022 EMIT_INSTR_PLUS_ICEBP_C64 roundps, XMM8, FSxBX, 008h 1023 1024 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM1, 008h 1025 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 000h 1026 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 008h 1027 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 009h 1028 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 00ah 1029 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 00bh 1030 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 00ch 1031 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 00dh 1032 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 00eh 1033 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 00fh 1034 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, XMM2, 0ffh 1035 EMIT_INSTR_PLUS_ICEBP vroundps, XMM1, FSxBX, 008h 1036 EMIT_INSTR_PLUS_ICEBP_C64 vroundps, XMM8, XMM8, 008h 1037 EMIT_INSTR_PLUS_ICEBP_C64 vroundps, XMM8, XMM9, 008h 1038 EMIT_INSTR_PLUS_ICEBP_C64 vroundps, XMM8, FSxBX, 008h 1039 1040 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM1, 008h 1041 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 000h 1042 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 008h 1043 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 009h 1044 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 00ah 1045 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 00bh 1046 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 00ch 1047 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 00dh 1048 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 00eh 1049 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 00fh 1050 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, YMM2, 0ffh 1051 EMIT_INSTR_PLUS_ICEBP vroundps, YMM1, FSxBX, 008h 1052 EMIT_INSTR_PLUS_ICEBP_C64 vroundps, YMM8, YMM8, 008h 1053 EMIT_INSTR_PLUS_ICEBP_C64 vroundps, YMM8, YMM9, 008h 1054 EMIT_INSTR_PLUS_ICEBP_C64 vroundps, YMM8, FSxBX, 008h 1055 1056 ; 1057 ;; roundsd 1063 ;; [v]roundss 1064 ; 1065 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 000h 1066 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 008h 1067 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 009h 1068 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 00ah 1069 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 00bh 1070 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 00ch 1071 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 00dh 1072 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 00eh 1073 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 00fh 1074 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 0ffh 1075 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, FSxBX, 008h 1076 EMIT_INSTR_PLUS_ICEBP_C64 roundss, XMM8, XMM9, 008h 1077 EMIT_INSTR_PLUS_ICEBP_C64 roundss, XMM8, FSxBX, 008h 1078 1079 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM1, XMM2, 008h 1080 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM1, FSxBX, 008h 1081 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM1, 008h 1082 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 000h 1083 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 008h 1084 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 009h 1085 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 00ah 1086 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 00bh 1087 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 00ch 1088 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 00dh 1089 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 00eh 1090 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 00fh 1091 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 0ffh 1092 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, FSxBX, 008h 1093 EMIT_INSTR_PLUS_ICEBP_C64 vroundss, XMM8, XMM8, FSxBX, 008h 1094 EMIT_INSTR_PLUS_ICEBP_C64 vroundss, XMM8, XMM9, XMM10, 008h 1095 EMIT_INSTR_PLUS_ICEBP_C64 vroundss, XMM8, XMM9, FSxBX, 008h 1096 1097 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM1, 008h 1098 EMIT_INSTR_PLUS_ICEBP_C64 roundss, XMM8, XMM8, 008h 1099 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM1, XMM1, 008h 1100 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM2, 008h 1101 EMIT_INSTR_PLUS_ICEBP_C64 vroundss, XMM8, XMM8, XMM8, 008h 1102 1103 ; 1104 ;; [v]roundsd 1058 1105 ; 1059 1106 EMIT_INSTR_PLUS_ICEBP roundsd, XMM1, XMM2, 000h … … 1096 1143 1097 1144 ; 1098 ;; roundss 1099 ; 1100 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 000h 1101 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 008h 1102 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 009h 1103 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 00ah 1104 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 00bh 1105 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 00ch 1106 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 00dh 1107 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 00eh 1108 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 00fh 1109 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM2, 0ffh 1110 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, FSxBX, 008h 1111 EMIT_INSTR_PLUS_ICEBP_C64 roundss, XMM8, XMM9, 008h 1112 EMIT_INSTR_PLUS_ICEBP_C64 roundss, XMM8, FSxBX, 008h 1113 1114 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM1, XMM2, 008h 1115 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM1, FSxBX, 008h 1116 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM1, 008h 1117 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 000h 1118 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 008h 1119 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 009h 1120 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 00ah 1121 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 00bh 1122 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 00ch 1123 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 00dh 1124 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 00eh 1125 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 00fh 1126 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM3, 0ffh 1127 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, FSxBX, 008h 1128 EMIT_INSTR_PLUS_ICEBP_C64 vroundss, XMM8, XMM8, FSxBX, 008h 1129 EMIT_INSTR_PLUS_ICEBP_C64 vroundss, XMM8, XMM9, XMM10, 008h 1130 EMIT_INSTR_PLUS_ICEBP_C64 vroundss, XMM8, XMM9, FSxBX, 008h 1131 1132 EMIT_INSTR_PLUS_ICEBP roundss, XMM1, XMM1, 008h 1133 EMIT_INSTR_PLUS_ICEBP_C64 roundss, XMM8, XMM8, 008h 1134 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM1, XMM1, 008h 1135 EMIT_INSTR_PLUS_ICEBP vroundss, XMM1, XMM2, XMM2, 008h 1136 EMIT_INSTR_PLUS_ICEBP_C64 vroundss, XMM8, XMM8, XMM8, 008h 1137 1138 ; 1139 ;; comiss 1145 ;; [v]comiss 1140 1146 ; 1141 1147 EMIT_INSTR_PLUS_ICEBP comiss, XMM1, XMM2 … … 1154 1160 1155 1161 ; 1156 ;; ucomiss1162 ;; [v]ucomiss 1157 1163 ; 1158 1164 EMIT_INSTR_PLUS_ICEBP ucomiss, XMM1, XMM2 … … 1171 1177 1172 1178 ; 1173 ;; comisd1179 ;; [v]comisd 1174 1180 ; 1175 1181 EMIT_INSTR_PLUS_ICEBP comisd, XMM1, XMM2 … … 1188 1194 1189 1195 ; 1190 ;; ucomisd1196 ;; [v]ucomisd 1191 1197 ; 1192 1198 EMIT_INSTR_PLUS_ICEBP ucomisd, XMM1, XMM2 … … 1205 1211 1206 1212 ; 1207 ;; cmpps1213 ;; [v]cmpps 1208 1214 ; 1209 1215 EMIT_INSTR_PLUS_ICEBP cmpps, XMM1, XMM2, 000h … … 1330 1336 1331 1337 ; 1332 ;; cmppd1338 ;; [v]cmppd 1333 1339 ; 1334 1340 EMIT_INSTR_PLUS_ICEBP cmppd, XMM1, XMM2, 000h … … 1480 1486 1481 1487 ; 1482 ;; cvtsi2ss1488 ;; [v]cvtsi2ss 1483 1489 ; 1484 1490 ; SSE-128, fp32 <- int32 (single) … … 1516 1522 1517 1523 ; 1518 ;; cvtss2si1524 ;; [v]cvtss2si 1519 1525 ; 1520 1526 ; SSE-128, int32 <- fp32 … … 1542 1548 1543 1549 ; 1544 ;; cvttss2si1550 ;; [v]cvttss2si 1545 1551 ; 1546 1552 ; SSE-128, int32 <- fp32 (single; truncated) … … 1596 1602 1597 1603 ; 1598 ;; cvtsi2sd1604 ;; [v]cvtsi2sd 1599 1605 ; 1600 1606 ; SSE-128, fp64 <- int32 (single) … … 1632 1638 1633 1639 ; 1634 ;; cvtsd2si1640 ;; [v]cvtsd2si 1635 1641 ; 1636 1642 ; SSE-128, int32 <- fp64 (single) … … 1658 1664 1659 1665 ; 1660 ;; cvttsd2si1666 ;; [v]cvttsd2si 1661 1667 ; 1662 1668 ; SSE-128, int32 <- fp64 (single; truncated) … … 1684 1690 1685 1691 ; 1686 ;; cvtdq2ps1692 ;; [v]cvtdq2ps 1687 1693 ; 1688 1694 ; SSE-128, fp32 <- int32 (packed:4) … … 1712 1718 1713 1719 ; 1714 ;; cvtps2dq1720 ;; [v]cvtps2dq 1715 1721 ; 1716 1722 ; SSE-128, int32 <- fp32 (packed:4) … … 1740 1746 1741 1747 ; 1742 ;; cvttps2dq1748 ;; [v]cvttps2dq 1743 1749 ; 1744 1750 ; SSE-128, int32 <- fp32 (packed:4; truncated) … … 1768 1774 1769 1775 ; 1770 ;; cvtdq2pd1776 ;; [v]cvtdq2pd 1771 1777 ; 1772 1778 ; SSE-128, fp64 <- int32 (packed:2) … … 1796 1802 1797 1803 ; 1798 ;; cvtpd2dq1804 ;; [v]cvtpd2dq 1799 1805 ; 1800 1806 ; SSE-128, int32 <- fp64 (packed:2) … … 1824 1830 1825 1831 ; 1826 ;; cvttpd2dq1832 ;; [v]cvttpd2dq 1827 1833 ; 1828 1834 ; SSE-128, int32 <- fp64 (packed:2; truncated) … … 1852 1858 1853 1859 ; 1854 ;; cvtpd2ps1860 ;; [v]cvtpd2ps 1855 1861 ; 1856 1862 ; SSE-128, fp32 <- fp64 (packed:2) … … 1880 1886 1881 1887 ; 1882 ;; cvtps2pd1888 ;; [v]cvtps2pd 1883 1889 ; 1884 1890 ; SSE-128, fp64 <- fp32 (packed:2) … … 1908 1914 1909 1915 ; 1910 ;; cvtsd2ss1916 ;; [v]cvtsd2ss 1911 1917 ; 1912 1918 ; SSE-128, fp32 <- fp64 (single) … … 1937 1943 1938 1944 ; 1939 ;; cvtss2sd1945 ;; [v]cvtss2sd 1940 1946 ; 1941 1947 ; SSE-128, fp64 <- fp32 (single) … … 1965 1971 ; @todo test with VEX.L=1 (as if asking for YMM)? SDM says 'unpredictable behavior'... 1966 1972 1973 %endif ; BS3_CPU_INSTR_4 1974 1967 1975 %endif ; BS3_INSTANTIATING_CMN 1968 1976 -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
r107230 r107231 1 1 /* $Id$ */ 2 2 /** @file 3 * BS3Kit - bs3-cpu-instr-4 - SSE, AVX FPU instructions, C code template.3 * BS3Kit - bs3-cpu-instr-4 & bs3-cpu-instr-5 - SSE, AVX FPU instructions, C code template. 4 4 */ 5 5 … … 40 40 *********************************************************************************************************************************/ 41 41 #include <bs3kit.h> 42 #include "bs3-cpu-instr-4-asm-auto.h" 42 #if !defined(BS3_CPU_INSTR_4) && !defined(BS3_CPU_INSTR_5) 43 /** @todo both won't actually fit in a single floppy boot image, but future code changes could improve that */ 44 # error "Must define either or both of 'BS3_CPU_INSTR_4' or 'BS3_CPU_INSTR_5'" 45 #endif 46 #if defined(BS3_CPU_INSTR_4) 47 # include "bs3-cpu-instr-4-asm-auto.h" 48 #endif 49 #if defined(BS3_CPU_INSTR_5) 50 # include "bs3-cpu-instr-5-asm-auto.h" 51 #endif 43 52 #include "bs3-cpu-instr-x-regs.c32" 44 53 … … 688 697 }; 689 698 699 #if defined(BS3_CPU_INSTR_5) 690 700 /** Exceptions type 4 (>=16 Byte Memory Reference, not explicitly aligned, No Floating-point Exceptions) test configurations. */ 691 701 /** Intel 64 & IA-32 Architecture SDM Vol 2A Table 2-21, "Type 4 Class Exception Conditions." */ … … 815 825 { 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, X86_XCPT_AC, X86_XCPT_GP, "AMDmm+AC" }, /* #10 */ 816 826 }; 827 #endif /* BS3_CPU_INSTR_5 */ 817 828 818 829 /** … … 3260 3271 3261 3272 3273 #if defined(BS3_CPU_INSTR_4) 3262 3274 /* 3263 3275 * [V]ADDPS. … … 12527 12539 return bs3CpuInstr4_WorkerTestType1(bMode, PASS_ARRAY(s_aTests), PASS_ARRAY(g_aXcptConfig3)); 12528 12540 } 12529 12530 12541 #endif /* BS3_CPU_INSTR_4 */ 12542 12543 12544 #if defined(BS3_CPU_INSTR_5) 12531 12545 /* 12532 12546 * [V]RCPPS. … … 24423 24437 return bs3CpuInstr4_WorkerTestType1(bMode, PASS_ARRAY(s_aTests), PASS_ARRAY(g_aXcptConfig3)); 24424 24438 } 24439 #endif /* BS3_CPU_INSTR_5 */ 24425 24440 24426 24441 … … 24444 24459 #endif 24445 24460 #if defined(ALL_TESTS) 24461 # if defined(BS3_CPU_INSTR_4) 24446 24462 { "[v]addps", bs3CpuInstr4_v_addps, 0 }, 24447 24463 { "[v]addpd", bs3CpuInstr4_v_addpd, 0 }, … … 24474 24490 { "[v]minss", bs3CpuInstr4_v_minss, 0 }, 24475 24491 { "[v]minsd", bs3CpuInstr4_v_minsd, 0 }, 24492 # endif /* BS3_CPU_INSTR_4 */ 24493 # if defined(BS3_CPU_INSTR_5) 24476 24494 { "[v]rcpps", bs3CpuInstr4_v_rcpps, 0 }, 24477 24495 { "[v]rcpss", bs3CpuInstr4_v_rcpss, 0 }, … … 24516 24534 { "[v]cvtsd2ss", bs3CpuInstr4_v_cvtsd2ss, 0 }, 24517 24535 { "[v]cvtss2sd", bs3CpuInstr4_v_cvtss2sd, 0 }, 24536 # endif /* BS3_CPU_INSTR_5 */ 24518 24537 #endif 24519 24538 }; 24539 #if defined(BS3_CPU_INSTR_4) && defined(BS3_CPU_INSTR_5) 24540 Bs3TestInit("bs3-cpu-instr-4+5"); 24541 #elif defined(BS3_CPU_INSTR_4) 24520 24542 Bs3TestInit("bs3-cpu-instr-4"); 24543 #elif defined(BS3_CPU_INSTR_5) 24544 Bs3TestInit("bs3-cpu-instr-5"); 24545 #endif 24521 24546 24522 24547 /* -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-5-asm.asm
r107230 r107231 1 1 ; $Id$ 2 2 ;; @file 3 ; BS3Kit - bs3-cpu-instr- 4 - SSE, AVX FPU instructions.3 ; BS3Kit - bs3-cpu-instr-5 - SSE, AVX FPU instructions (continued). 4 4 ; 5 5 … … 36 36 37 37 38 ;********************************************************************************************************************************* 39 ;* Header Files * 40 ;********************************************************************************************************************************* 41 %include "bs3kit.mac" 42 43 ; 44 ; Instantiate code templates. 45 ; 46 BS3_INSTANTIATE_COMMON_TEMPLATE "bs3-cpu-instr-4-template.mac" 47 BS3_INSTANTIATE_TEMPLATE_WITH_WEIRD_ONES "bs3-cpu-instr-4-template.mac" 48 38 %include "bs3-cpu-instr-4-asm.asm"
Note:
See TracChangeset
for help on using the changeset viewer.