VirtualBox

Changeset 96116 in vbox


Ignore:
Timestamp:
Aug 8, 2022 8:07:32 PM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
152918
Message:

ValidationKit/bs3-cpu-instr-3: Add simple [v]pmov{s,z}x[bw,bd,bq,wd,wq,dq] instructions testcase, bugref:9898

Location:
trunk/src/VBox/ValidationKit/bootsectors
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3-template.mac

    r96110 r96116  
    22772277 %endif
    22782278
     2279;
     2280; [V]PMOVSXBW
     2281;
     2282EMIT_INSTR_PLUS_ICEBP pmovsxbw,  XMM1, XMM2
     2283EMIT_INSTR_PLUS_ICEBP pmovsxbw,  XMM1, FSxBX
     2284EMIT_INSTR_PLUS_ICEBP vpmovsxbw, XMM1, XMM2
     2285EMIT_INSTR_PLUS_ICEBP vpmovsxbw, XMM1, FSxBX
     2286EMIT_INSTR_PLUS_ICEBP vpmovsxbw, YMM1, XMM2
     2287EMIT_INSTR_PLUS_ICEBP vpmovsxbw, YMM1, FSxBX
     2288 %if TMPL_BITS == 64
     2289EMIT_INSTR_PLUS_ICEBP pmovsxbw,  XMM9, XMM8
     2290EMIT_INSTR_PLUS_ICEBP pmovsxbw,  XMM9, FSxBX
     2291EMIT_INSTR_PLUS_ICEBP vpmovsxbw, XMM9, XMM8
     2292EMIT_INSTR_PLUS_ICEBP vpmovsxbw, XMM9, FSxBX
     2293EMIT_INSTR_PLUS_ICEBP vpmovsxbw, YMM9, XMM8
     2294EMIT_INSTR_PLUS_ICEBP vpmovsxbw, YMM9, FSxBX
     2295 %endif
     2296
     2297;
     2298; [V]PMOVSXBD
     2299;
     2300EMIT_INSTR_PLUS_ICEBP pmovsxbd,  XMM1, XMM2
     2301EMIT_INSTR_PLUS_ICEBP pmovsxbd,  XMM1, FSxBX
     2302EMIT_INSTR_PLUS_ICEBP vpmovsxbd, XMM1, XMM2
     2303EMIT_INSTR_PLUS_ICEBP vpmovsxbd, XMM1, FSxBX
     2304EMIT_INSTR_PLUS_ICEBP vpmovsxbd, YMM1, XMM2
     2305EMIT_INSTR_PLUS_ICEBP vpmovsxbd, YMM1, FSxBX
     2306 %if TMPL_BITS == 64
     2307EMIT_INSTR_PLUS_ICEBP pmovsxbd,  XMM9, XMM8
     2308EMIT_INSTR_PLUS_ICEBP pmovsxbd,  XMM9, FSxBX
     2309EMIT_INSTR_PLUS_ICEBP vpmovsxbd, XMM9, XMM8
     2310EMIT_INSTR_PLUS_ICEBP vpmovsxbd, XMM9, FSxBX
     2311EMIT_INSTR_PLUS_ICEBP vpmovsxbd, YMM9, XMM8
     2312EMIT_INSTR_PLUS_ICEBP vpmovsxbd, YMM9, FSxBX
     2313 %endif
     2314
     2315;
     2316; [V]PMOVSXBQ
     2317;
     2318EMIT_INSTR_PLUS_ICEBP pmovsxbq,  XMM1, XMM2
     2319EMIT_INSTR_PLUS_ICEBP pmovsxbq,  XMM1, FSxBX
     2320EMIT_INSTR_PLUS_ICEBP vpmovsxbq, XMM1, XMM2
     2321EMIT_INSTR_PLUS_ICEBP vpmovsxbq, XMM1, FSxBX
     2322EMIT_INSTR_PLUS_ICEBP vpmovsxbq, YMM1, XMM2
     2323EMIT_INSTR_PLUS_ICEBP vpmovsxbq, YMM1, FSxBX
     2324 %if TMPL_BITS == 64
     2325EMIT_INSTR_PLUS_ICEBP pmovsxbq,  XMM9, XMM8
     2326EMIT_INSTR_PLUS_ICEBP pmovsxbq,  XMM9, FSxBX
     2327EMIT_INSTR_PLUS_ICEBP vpmovsxbq, XMM9, XMM8
     2328EMIT_INSTR_PLUS_ICEBP vpmovsxbq, XMM9, FSxBX
     2329EMIT_INSTR_PLUS_ICEBP vpmovsxbq, YMM9, XMM8
     2330EMIT_INSTR_PLUS_ICEBP vpmovsxbq, YMM9, FSxBX
     2331 %endif
     2332
     2333;
     2334; [V]PMOVSXWD
     2335;
     2336EMIT_INSTR_PLUS_ICEBP pmovsxwd,  XMM1, XMM2
     2337EMIT_INSTR_PLUS_ICEBP pmovsxwd,  XMM1, FSxBX
     2338EMIT_INSTR_PLUS_ICEBP vpmovsxwd, XMM1, XMM2
     2339EMIT_INSTR_PLUS_ICEBP vpmovsxwd, XMM1, FSxBX
     2340EMIT_INSTR_PLUS_ICEBP vpmovsxwd, YMM1, XMM2
     2341EMIT_INSTR_PLUS_ICEBP vpmovsxwd, YMM1, FSxBX
     2342 %if TMPL_BITS == 64
     2343EMIT_INSTR_PLUS_ICEBP pmovsxwd,  XMM9, XMM8
     2344EMIT_INSTR_PLUS_ICEBP pmovsxwd,  XMM9, FSxBX
     2345EMIT_INSTR_PLUS_ICEBP vpmovsxwd, XMM9, XMM8
     2346EMIT_INSTR_PLUS_ICEBP vpmovsxwd, XMM9, FSxBX
     2347EMIT_INSTR_PLUS_ICEBP vpmovsxwd, YMM9, XMM8
     2348EMIT_INSTR_PLUS_ICEBP vpmovsxwd, YMM9, FSxBX
     2349 %endif
     2350
     2351;
     2352; [V]PMOVSXWQ
     2353;
     2354EMIT_INSTR_PLUS_ICEBP pmovsxwq,  XMM1, XMM2
     2355EMIT_INSTR_PLUS_ICEBP pmovsxwq,  XMM1, FSxBX
     2356EMIT_INSTR_PLUS_ICEBP vpmovsxwq, XMM1, XMM2
     2357EMIT_INSTR_PLUS_ICEBP vpmovsxwq, XMM1, FSxBX
     2358EMIT_INSTR_PLUS_ICEBP vpmovsxwq, YMM1, XMM2
     2359EMIT_INSTR_PLUS_ICEBP vpmovsxwq, YMM1, FSxBX
     2360 %if TMPL_BITS == 64
     2361EMIT_INSTR_PLUS_ICEBP pmovsxwq,  XMM9, XMM8
     2362EMIT_INSTR_PLUS_ICEBP pmovsxwq,  XMM9, FSxBX
     2363EMIT_INSTR_PLUS_ICEBP vpmovsxwq, XMM9, XMM8
     2364EMIT_INSTR_PLUS_ICEBP vpmovsxwq, XMM9, FSxBX
     2365EMIT_INSTR_PLUS_ICEBP vpmovsxwq, YMM9, XMM8
     2366EMIT_INSTR_PLUS_ICEBP vpmovsxwq, YMM9, FSxBX
     2367 %endif
     2368
     2369;
     2370; [V]PMOVSXDQ
     2371;
     2372EMIT_INSTR_PLUS_ICEBP pmovsxdq,  XMM1, XMM2
     2373EMIT_INSTR_PLUS_ICEBP pmovsxdq,  XMM1, FSxBX
     2374EMIT_INSTR_PLUS_ICEBP vpmovsxdq, XMM1, XMM2
     2375EMIT_INSTR_PLUS_ICEBP vpmovsxdq, XMM1, FSxBX
     2376EMIT_INSTR_PLUS_ICEBP vpmovsxdq, YMM1, XMM2
     2377EMIT_INSTR_PLUS_ICEBP vpmovsxdq, YMM1, FSxBX
     2378 %if TMPL_BITS == 64
     2379EMIT_INSTR_PLUS_ICEBP pmovsxdq,  XMM9, XMM8
     2380EMIT_INSTR_PLUS_ICEBP pmovsxdq,  XMM9, FSxBX
     2381EMIT_INSTR_PLUS_ICEBP vpmovsxdq, XMM9, XMM8
     2382EMIT_INSTR_PLUS_ICEBP vpmovsxdq, XMM9, FSxBX
     2383EMIT_INSTR_PLUS_ICEBP vpmovsxdq, YMM9, XMM8
     2384EMIT_INSTR_PLUS_ICEBP vpmovsxdq, YMM9, FSxBX
     2385 %endif
     2386
     2387;
     2388; [V]PMOVZXBW
     2389;
     2390EMIT_INSTR_PLUS_ICEBP pmovzxbw,  XMM1, XMM2
     2391EMIT_INSTR_PLUS_ICEBP pmovzxbw,  XMM1, FSxBX
     2392EMIT_INSTR_PLUS_ICEBP vpmovzxbw, XMM1, XMM2
     2393EMIT_INSTR_PLUS_ICEBP vpmovzxbw, XMM1, FSxBX
     2394EMIT_INSTR_PLUS_ICEBP vpmovzxbw, YMM1, XMM2
     2395EMIT_INSTR_PLUS_ICEBP vpmovzxbw, YMM1, FSxBX
     2396 %if TMPL_BITS == 64
     2397EMIT_INSTR_PLUS_ICEBP pmovzxbw,  XMM9, XMM8
     2398EMIT_INSTR_PLUS_ICEBP pmovzxbw,  XMM9, FSxBX
     2399EMIT_INSTR_PLUS_ICEBP vpmovzxbw, XMM9, XMM8
     2400EMIT_INSTR_PLUS_ICEBP vpmovzxbw, XMM9, FSxBX
     2401EMIT_INSTR_PLUS_ICEBP vpmovzxbw, YMM9, XMM8
     2402EMIT_INSTR_PLUS_ICEBP vpmovzxbw, YMM9, FSxBX
     2403 %endif
     2404
     2405;
     2406; [V]PMOVZXBD
     2407;
     2408EMIT_INSTR_PLUS_ICEBP pmovzxbd,  XMM1, XMM2
     2409EMIT_INSTR_PLUS_ICEBP pmovzxbd,  XMM1, FSxBX
     2410EMIT_INSTR_PLUS_ICEBP vpmovzxbd, XMM1, XMM2
     2411EMIT_INSTR_PLUS_ICEBP vpmovzxbd, XMM1, FSxBX
     2412EMIT_INSTR_PLUS_ICEBP vpmovzxbd, YMM1, XMM2
     2413EMIT_INSTR_PLUS_ICEBP vpmovzxbd, YMM1, FSxBX
     2414 %if TMPL_BITS == 64
     2415EMIT_INSTR_PLUS_ICEBP pmovzxbd,  XMM9, XMM8
     2416EMIT_INSTR_PLUS_ICEBP pmovzxbd,  XMM9, FSxBX
     2417EMIT_INSTR_PLUS_ICEBP vpmovzxbd, XMM9, XMM8
     2418EMIT_INSTR_PLUS_ICEBP vpmovzxbd, XMM9, FSxBX
     2419EMIT_INSTR_PLUS_ICEBP vpmovzxbd, YMM9, XMM8
     2420EMIT_INSTR_PLUS_ICEBP vpmovzxbd, YMM9, FSxBX
     2421 %endif
     2422
     2423;
     2424; [V]PMOVZXBQ
     2425;
     2426EMIT_INSTR_PLUS_ICEBP pmovzxbq,  XMM1, XMM2
     2427EMIT_INSTR_PLUS_ICEBP pmovzxbq,  XMM1, FSxBX
     2428EMIT_INSTR_PLUS_ICEBP vpmovzxbq, XMM1, XMM2
     2429EMIT_INSTR_PLUS_ICEBP vpmovzxbq, XMM1, FSxBX
     2430EMIT_INSTR_PLUS_ICEBP vpmovzxbq, YMM1, XMM2
     2431EMIT_INSTR_PLUS_ICEBP vpmovzxbq, YMM1, FSxBX
     2432 %if TMPL_BITS == 64
     2433EMIT_INSTR_PLUS_ICEBP pmovzxbq,  XMM9, XMM8
     2434EMIT_INSTR_PLUS_ICEBP pmovzxbq,  XMM9, FSxBX
     2435EMIT_INSTR_PLUS_ICEBP vpmovzxbq, XMM9, XMM8
     2436EMIT_INSTR_PLUS_ICEBP vpmovzxbq, XMM9, FSxBX
     2437EMIT_INSTR_PLUS_ICEBP vpmovzxbq, YMM9, XMM8
     2438EMIT_INSTR_PLUS_ICEBP vpmovzxbq, YMM9, FSxBX
     2439 %endif
     2440
     2441;
     2442; [V]PMOVZXWD
     2443;
     2444EMIT_INSTR_PLUS_ICEBP pmovzxwd,  XMM1, XMM2
     2445EMIT_INSTR_PLUS_ICEBP pmovzxwd,  XMM1, FSxBX
     2446EMIT_INSTR_PLUS_ICEBP vpmovzxwd, XMM1, XMM2
     2447EMIT_INSTR_PLUS_ICEBP vpmovzxwd, XMM1, FSxBX
     2448EMIT_INSTR_PLUS_ICEBP vpmovzxwd, YMM1, XMM2
     2449EMIT_INSTR_PLUS_ICEBP vpmovzxwd, YMM1, FSxBX
     2450 %if TMPL_BITS == 64
     2451EMIT_INSTR_PLUS_ICEBP pmovzxwd,  XMM9, XMM8
     2452EMIT_INSTR_PLUS_ICEBP pmovzxwd,  XMM9, FSxBX
     2453EMIT_INSTR_PLUS_ICEBP vpmovzxwd, XMM9, XMM8
     2454EMIT_INSTR_PLUS_ICEBP vpmovzxwd, XMM9, FSxBX
     2455EMIT_INSTR_PLUS_ICEBP vpmovzxwd, YMM9, XMM8
     2456EMIT_INSTR_PLUS_ICEBP vpmovzxwd, YMM9, FSxBX
     2457 %endif
     2458
     2459;
     2460; [V]PMOVZXWQ
     2461;
     2462EMIT_INSTR_PLUS_ICEBP pmovzxwq,  XMM1, XMM2
     2463EMIT_INSTR_PLUS_ICEBP pmovzxwq,  XMM1, FSxBX
     2464EMIT_INSTR_PLUS_ICEBP vpmovzxwq, XMM1, XMM2
     2465EMIT_INSTR_PLUS_ICEBP vpmovzxwq, XMM1, FSxBX
     2466EMIT_INSTR_PLUS_ICEBP vpmovzxwq, YMM1, XMM2
     2467EMIT_INSTR_PLUS_ICEBP vpmovzxwq, YMM1, FSxBX
     2468 %if TMPL_BITS == 64
     2469EMIT_INSTR_PLUS_ICEBP pmovzxwq,  XMM9, XMM8
     2470EMIT_INSTR_PLUS_ICEBP pmovzxwq,  XMM9, FSxBX
     2471EMIT_INSTR_PLUS_ICEBP vpmovzxwq, XMM9, XMM8
     2472EMIT_INSTR_PLUS_ICEBP vpmovzxwq, XMM9, FSxBX
     2473EMIT_INSTR_PLUS_ICEBP vpmovzxwq, YMM9, XMM8
     2474EMIT_INSTR_PLUS_ICEBP vpmovzxwq, YMM9, FSxBX
     2475 %endif
     2476
     2477;
     2478; [V]PMOVZXDQ
     2479;
     2480EMIT_INSTR_PLUS_ICEBP pmovzxdq,  XMM1, XMM2
     2481EMIT_INSTR_PLUS_ICEBP pmovzxdq,  XMM1, FSxBX
     2482EMIT_INSTR_PLUS_ICEBP vpmovzxdq, XMM1, XMM2
     2483EMIT_INSTR_PLUS_ICEBP vpmovzxdq, XMM1, FSxBX
     2484EMIT_INSTR_PLUS_ICEBP vpmovzxdq, YMM1, XMM2
     2485EMIT_INSTR_PLUS_ICEBP vpmovzxdq, YMM1, FSxBX
     2486 %if TMPL_BITS == 64
     2487EMIT_INSTR_PLUS_ICEBP pmovzxdq,  XMM9, XMM8
     2488EMIT_INSTR_PLUS_ICEBP pmovzxdq,  XMM9, FSxBX
     2489EMIT_INSTR_PLUS_ICEBP vpmovzxdq, XMM9, XMM8
     2490EMIT_INSTR_PLUS_ICEBP vpmovzxdq, XMM9, FSxBX
     2491EMIT_INSTR_PLUS_ICEBP vpmovzxdq, YMM9, XMM8
     2492EMIT_INSTR_PLUS_ICEBP vpmovzxdq, YMM9, FSxBX
     2493 %endif
     2494
     2495
    22792496%endif ; BS3_INSTANTIATING_CMN
    22802497
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3.c32

    r96111 r96116  
    87018701}
    87028702
     8703
     8704/*
     8705 * [V]PMOVSXBW / [V]PMOVSXBD / [V]PMOVSXBQ / [V]PMOVSXWD / [V]PMOVSXWQ / [V]PMOVSXDQ
     8706 */
     8707BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovsxbw_XMM1_XMM2_icebp);
     8708BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovsxbw_XMM1_FSxBX_icebp);
     8709extern FNBS3FAR             bs3CpuInstr3_pmovsxbw_XMM9_XMM8_icebp_c64;
     8710extern FNBS3FAR             bs3CpuInstr3_pmovsxbw_XMM9_FSxBX_icebp_c64;
     8711BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxbw_XMM1_XMM2_icebp);
     8712BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxbw_XMM1_FSxBX_icebp);
     8713extern FNBS3FAR             bs3CpuInstr3_vpmovsxbw_XMM9_XMM8_icebp_c64;
     8714extern FNBS3FAR             bs3CpuInstr3_vpmovsxbw_XMM9_FSxBX_icebp_c64;
     8715BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxbw_YMM1_XMM2_icebp);
     8716BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxbw_YMM1_FSxBX_icebp);
     8717extern FNBS3FAR             bs3CpuInstr3_vpmovsxbw_YMM9_XMM8_icebp_c64;
     8718extern FNBS3FAR             bs3CpuInstr3_vpmovsxbw_YMM9_FSxBX_icebp_c64;
     8719
     8720BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovsxbd_XMM1_XMM2_icebp);
     8721BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovsxbd_XMM1_FSxBX_icebp);
     8722extern FNBS3FAR             bs3CpuInstr3_pmovsxbd_XMM9_XMM8_icebp_c64;
     8723extern FNBS3FAR             bs3CpuInstr3_pmovsxbd_XMM9_FSxBX_icebp_c64;
     8724BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxbd_XMM1_XMM2_icebp);
     8725BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxbd_XMM1_FSxBX_icebp);
     8726extern FNBS3FAR             bs3CpuInstr3_vpmovsxbd_XMM9_XMM8_icebp_c64;
     8727extern FNBS3FAR             bs3CpuInstr3_vpmovsxbd_XMM9_FSxBX_icebp_c64;
     8728BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxbd_YMM1_XMM2_icebp);
     8729BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxbd_YMM1_FSxBX_icebp);
     8730extern FNBS3FAR             bs3CpuInstr3_vpmovsxbd_YMM9_XMM8_icebp_c64;
     8731extern FNBS3FAR             bs3CpuInstr3_vpmovsxbd_YMM9_FSxBX_icebp_c64;
     8732
     8733BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovsxbq_XMM1_XMM2_icebp);
     8734BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovsxbq_XMM1_FSxBX_icebp);
     8735extern FNBS3FAR             bs3CpuInstr3_pmovsxbq_XMM9_XMM8_icebp_c64;
     8736extern FNBS3FAR             bs3CpuInstr3_pmovsxbq_XMM9_FSxBX_icebp_c64;
     8737BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxbq_XMM1_XMM2_icebp);
     8738BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxbq_XMM1_FSxBX_icebp);
     8739extern FNBS3FAR             bs3CpuInstr3_vpmovsxbq_XMM9_XMM8_icebp_c64;
     8740extern FNBS3FAR             bs3CpuInstr3_vpmovsxbq_XMM9_FSxBX_icebp_c64;
     8741BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxbq_YMM1_XMM2_icebp);
     8742BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxbq_YMM1_FSxBX_icebp);
     8743extern FNBS3FAR             bs3CpuInstr3_vpmovsxbq_YMM9_XMM8_icebp_c64;
     8744extern FNBS3FAR             bs3CpuInstr3_vpmovsxbq_YMM9_FSxBX_icebp_c64;
     8745
     8746BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovsxwd_XMM1_XMM2_icebp);
     8747BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovsxwd_XMM1_FSxBX_icebp);
     8748extern FNBS3FAR             bs3CpuInstr3_pmovsxwd_XMM9_XMM8_icebp_c64;
     8749extern FNBS3FAR             bs3CpuInstr3_pmovsxwd_XMM9_FSxBX_icebp_c64;
     8750BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxwd_XMM1_XMM2_icebp);
     8751BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxwd_XMM1_FSxBX_icebp);
     8752extern FNBS3FAR             bs3CpuInstr3_vpmovsxwd_XMM9_XMM8_icebp_c64;
     8753extern FNBS3FAR             bs3CpuInstr3_vpmovsxwd_XMM9_FSxBX_icebp_c64;
     8754BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxwd_YMM1_XMM2_icebp);
     8755BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxwd_YMM1_FSxBX_icebp);
     8756extern FNBS3FAR             bs3CpuInstr3_vpmovsxwd_YMM9_XMM8_icebp_c64;
     8757extern FNBS3FAR             bs3CpuInstr3_vpmovsxwd_YMM9_FSxBX_icebp_c64;
     8758
     8759BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovsxwq_XMM1_XMM2_icebp);
     8760BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovsxwq_XMM1_FSxBX_icebp);
     8761extern FNBS3FAR             bs3CpuInstr3_pmovsxwq_XMM9_XMM8_icebp_c64;
     8762extern FNBS3FAR             bs3CpuInstr3_pmovsxwq_XMM9_FSxBX_icebp_c64;
     8763BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxwq_XMM1_XMM2_icebp);
     8764BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxwq_XMM1_FSxBX_icebp);
     8765extern FNBS3FAR             bs3CpuInstr3_vpmovsxwq_XMM9_XMM8_icebp_c64;
     8766extern FNBS3FAR             bs3CpuInstr3_vpmovsxwq_XMM9_FSxBX_icebp_c64;
     8767BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxwq_YMM1_XMM2_icebp);
     8768BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxwq_YMM1_FSxBX_icebp);
     8769extern FNBS3FAR             bs3CpuInstr3_vpmovsxwq_YMM9_XMM8_icebp_c64;
     8770extern FNBS3FAR             bs3CpuInstr3_vpmovsxwq_YMM9_FSxBX_icebp_c64;
     8771
     8772BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovsxdq_XMM1_XMM2_icebp);
     8773BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovsxdq_XMM1_FSxBX_icebp);
     8774extern FNBS3FAR             bs3CpuInstr3_pmovsxdq_XMM9_XMM8_icebp_c64;
     8775extern FNBS3FAR             bs3CpuInstr3_pmovsxdq_XMM9_FSxBX_icebp_c64;
     8776BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxdq_XMM1_XMM2_icebp);
     8777BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxdq_XMM1_FSxBX_icebp);
     8778extern FNBS3FAR             bs3CpuInstr3_vpmovsxdq_XMM9_XMM8_icebp_c64;
     8779extern FNBS3FAR             bs3CpuInstr3_vpmovsxdq_XMM9_FSxBX_icebp_c64;
     8780BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxdq_YMM1_XMM2_icebp);
     8781BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovsxdq_YMM1_FSxBX_icebp);
     8782extern FNBS3FAR             bs3CpuInstr3_vpmovsxdq_YMM9_XMM8_icebp_c64;
     8783extern FNBS3FAR             bs3CpuInstr3_vpmovsxdq_YMM9_FSxBX_icebp_c64;
     8784
     8785BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_pmovsxbw_pmovsxbd_pmovsxbq_pmovsxwd_pmovsxwq_pmovsxdq(uint8_t bMode)
     8786{
     8787    static BS3CPUINSTR3_TEST3_VALUES_T const s_aValuesBW[] =
     8788    {
     8789        {            RTUINT256_INIT_C(0, 0, 0, 0),
     8790            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     8791        {            RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff),
     8792            /* => */ RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff) },
     8793        {            RTUINT256_INIT_C(0x9999aaaabbbbcccc, 0xddddeeeeffff2121, 0x1111222233334444, 0x5555666677778888),
     8794            /* => */ RTUINT256_INIT_C(0x0011001100220022, 0x0033003300440044, 0x0055005500660066, 0x00770077ff88ff88) },
     8795        {            RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     8796            /* => */ RTUINT256_INIT_C(0xffb40021002fffa8, 0x0056004cff9bffa2, 0xff9c005cffe00073, 0xff930009ff96ffbb) },
     8797    };
     8798    static BS3CPUINSTR3_TEST3_VALUES_T const s_aValuesBD[] =
     8799    {
     8800        {            RTUINT256_INIT_C(0, 0, 0, 0),
     8801            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     8802        {            RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff),
     8803            /* => */ RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff) },
     8804        {            RTUINT256_INIT_C(0x9999aaaabbbbcccc, 0xddddeeeeffff2121, 0x1111222233334444, 0x5555666677778888),
     8805            /* => */ RTUINT256_INIT_C(0x0000005500000055, 0x0000006600000066, 0x0000007700000077, 0xffffff88ffffff88) },
     8806        {            RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     8807            /* => */ RTUINT256_INIT_C(0xffffff9c0000005c, 0xffffffe000000073, 0xffffff9300000009, 0xffffff96ffffffbb) },
     8808    };
     8809    static BS3CPUINSTR3_TEST3_VALUES_T const s_aValuesBQ[] =
     8810    {
     8811        {            RTUINT256_INIT_C(0, 0, 0, 0),
     8812            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     8813        {            RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff),
     8814            /* => */ RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff) },
     8815        {            RTUINT256_INIT_C(0x9999aaaabbbbcccc, 0xddddeeeeffff2121, 0x1111222233334444, 0x5555666677778888),
     8816            /* => */ RTUINT256_INIT_C(0x0000000000000077, 0x0000000000000077, 0xffffffffffffff88, 0xffffffffffffff88) },
     8817        {            RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     8818            /* => */ RTUINT256_INIT_C(0xffffffffffffff93, 0x0000000000000009, 0xffffffffffffff96, 0xffffffffffffffbb) },
     8819    };
     8820    static BS3CPUINSTR3_TEST3_VALUES_T const s_aValuesWD[] =
     8821    {
     8822        {            RTUINT256_INIT_C(0, 0, 0, 0),
     8823            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     8824        {            RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff),
     8825            /* => */ RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff) },
     8826        {            RTUINT256_INIT_C(0x9999aaaabbbbcccc, 0xddddeeeeffff2121, 0x1111222233334444, 0x5555666677778888),
     8827            /* => */ RTUINT256_INIT_C(0x0000111100002222, 0x0000333300004444, 0x0000555500006666, 0x00007777ffff8888) },
     8828        {            RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     8829            /* => */ RTUINT256_INIT_C(0xffffb42100002fa8, 0x0000564cffff9ba2, 0xffff9c5cffffe073, 0xffff9309ffff96bb) },
     8830    };
     8831    static BS3CPUINSTR3_TEST3_VALUES_T const s_aValuesWQ[] =
     8832    {
     8833        {            RTUINT256_INIT_C(0, 0, 0, 0),
     8834            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     8835        {            RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff),
     8836            /* => */ RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff) },
     8837        {            RTUINT256_INIT_C(0x9999aaaabbbbcccc, 0xddddeeeeffff2121, 0x1111222233334444, 0x5555666677778888),
     8838            /* => */ RTUINT256_INIT_C(0x0000000000005555, 0x0000000000006666, 0x0000000000007777, 0xffffffffffff8888) },
     8839        {            RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     8840            /* => */ RTUINT256_INIT_C(0xffffffffffff9c5c, 0xffffffffffffe073, 0xffffffffffff9309, 0xffffffffffff96bb) },
     8841    };
     8842    static BS3CPUINSTR3_TEST3_VALUES_T const s_aValuesDQ[] =
     8843    {
     8844        {            RTUINT256_INIT_C(0, 0, 0, 0),
     8845            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     8846        {            RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff),
     8847            /* => */ RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff) },
     8848        {            RTUINT256_INIT_C(0x9999aaaabbbbcccc, 0xddddeeeeffff2121, 0x1111222233334444, 0x5555666677778888),
     8849            /* => */ RTUINT256_INIT_C(0x0000000011112222, 0x0000000033334444, 0x0000000055556666, 0x0000000077778888) },
     8850        {            RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     8851            /* => */ RTUINT256_INIT_C(0xffffffffb4212fa8, 0x00000000564c9ba2, 0xffffffff9c5ce073, 0xffffffff930996bb) },
     8852    };
     8853
     8854    /** @todo Some variants produce different results wrt. to #DB vs #AC exceptions on real hardware (i7-6700K) and in a VM.
     8855     * The exception encountered on real hardware is put in the comment, the X86_XCPT_DB is when emulating the instruction using IEM.
     8856     * Needs investigation
     8857     */
     8858    static BS3CPUINSTR3_TEST3_T const s_aTests16[] =
     8859    {
     8860        {  bs3CpuInstr3_pmovsxbw_XMM1_XMM2_icebp_c16,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8861        {  bs3CpuInstr3_pmovsxbw_XMM1_FSxBX_icebp_c16,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8862        {  bs3CpuInstr3_vpmovsxbw_XMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8863        {  bs3CpuInstr3_vpmovsxbw_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8864        {  bs3CpuInstr3_vpmovsxbw_YMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8865        {  bs3CpuInstr3_vpmovsxbw_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8866
     8867        {  bs3CpuInstr3_pmovsxbd_XMM1_XMM2_icebp_c16,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8868        {  bs3CpuInstr3_pmovsxbd_XMM1_FSxBX_icebp_c16,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8869        {  bs3CpuInstr3_vpmovsxbd_XMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8870        {  bs3CpuInstr3_vpmovsxbd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8871        {  bs3CpuInstr3_vpmovsxbd_YMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8872        {  bs3CpuInstr3_vpmovsxbd_YMM1_FSxBX_icebp_c16, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8873
     8874        {  bs3CpuInstr3_pmovsxbq_XMM1_XMM2_icebp_c16,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8875        {  bs3CpuInstr3_pmovsxbq_XMM1_FSxBX_icebp_c16,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8876        {  bs3CpuInstr3_vpmovsxbq_XMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8877        {  bs3CpuInstr3_vpmovsxbq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8878        {  bs3CpuInstr3_vpmovsxbq_YMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8879        {  bs3CpuInstr3_vpmovsxbq_YMM1_FSxBX_icebp_c16, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8880
     8881        {  bs3CpuInstr3_pmovsxwd_XMM1_XMM2_icebp_c16,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8882        {  bs3CpuInstr3_pmovsxwd_XMM1_FSxBX_icebp_c16,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8883        {  bs3CpuInstr3_vpmovsxwd_XMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8884        {  bs3CpuInstr3_vpmovsxwd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8885        {  bs3CpuInstr3_vpmovsxwd_YMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8886        {  bs3CpuInstr3_vpmovsxwd_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8887
     8888        {  bs3CpuInstr3_pmovsxwq_XMM1_XMM2_icebp_c16,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     8889        {  bs3CpuInstr3_pmovsxwq_XMM1_FSxBX_icebp_c16,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     8890        {  bs3CpuInstr3_vpmovsxwq_XMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     8891        {  bs3CpuInstr3_vpmovsxwq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     8892        {  bs3CpuInstr3_vpmovsxwq_YMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     8893        {  bs3CpuInstr3_vpmovsxwq_YMM1_FSxBX_icebp_c16, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     8894
     8895        {  bs3CpuInstr3_pmovsxdq_XMM1_XMM2_icebp_c16,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     8896        {  bs3CpuInstr3_pmovsxdq_XMM1_FSxBX_icebp_c16,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     8897        {  bs3CpuInstr3_vpmovsxdq_XMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     8898        {  bs3CpuInstr3_vpmovsxdq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     8899        {  bs3CpuInstr3_vpmovsxdq_YMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     8900        {  bs3CpuInstr3_vpmovsxdq_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     8901    };
     8902    static BS3CPUINSTR3_TEST3_T const s_aTests32[] =
     8903    {
     8904        {  bs3CpuInstr3_pmovsxbw_XMM1_XMM2_icebp_c32,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8905        {  bs3CpuInstr3_pmovsxbw_XMM1_FSxBX_icebp_c32,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8906        {  bs3CpuInstr3_vpmovsxbw_XMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8907        {  bs3CpuInstr3_vpmovsxbw_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8908        {  bs3CpuInstr3_vpmovsxbw_YMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8909        {  bs3CpuInstr3_vpmovsxbw_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8910
     8911        {  bs3CpuInstr3_pmovsxbd_XMM1_XMM2_icebp_c32,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8912        {  bs3CpuInstr3_pmovsxbd_XMM1_FSxBX_icebp_c32,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8913        {  bs3CpuInstr3_vpmovsxbd_XMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8914        {  bs3CpuInstr3_vpmovsxbd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8915        {  bs3CpuInstr3_vpmovsxbd_YMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8916        {  bs3CpuInstr3_vpmovsxbd_YMM1_FSxBX_icebp_c32, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8917
     8918        {  bs3CpuInstr3_pmovsxbq_XMM1_XMM2_icebp_c32,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8919        {  bs3CpuInstr3_pmovsxbq_XMM1_FSxBX_icebp_c32,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8920        {  bs3CpuInstr3_vpmovsxbq_XMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8921        {  bs3CpuInstr3_vpmovsxbq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8922        {  bs3CpuInstr3_vpmovsxbq_YMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8923        {  bs3CpuInstr3_vpmovsxbq_YMM1_FSxBX_icebp_c32, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8924
     8925        {  bs3CpuInstr3_pmovsxwd_XMM1_XMM2_icebp_c32,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8926        {  bs3CpuInstr3_pmovsxwd_XMM1_FSxBX_icebp_c32,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8927        {  bs3CpuInstr3_vpmovsxwd_XMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8928        {  bs3CpuInstr3_vpmovsxwd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8929        {  bs3CpuInstr3_vpmovsxwd_YMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8930        {  bs3CpuInstr3_vpmovsxwd_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8931
     8932        {  bs3CpuInstr3_pmovsxwq_XMM1_XMM2_icebp_c32,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     8933        {  bs3CpuInstr3_pmovsxwq_XMM1_FSxBX_icebp_c32,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     8934        {  bs3CpuInstr3_vpmovsxwq_XMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     8935        {  bs3CpuInstr3_vpmovsxwq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     8936        {  bs3CpuInstr3_vpmovsxwq_YMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     8937        {  bs3CpuInstr3_vpmovsxwq_YMM1_FSxBX_icebp_c32, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     8938
     8939        {  bs3CpuInstr3_pmovsxdq_XMM1_XMM2_icebp_c32,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     8940        {  bs3CpuInstr3_pmovsxdq_XMM1_FSxBX_icebp_c32,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     8941        {  bs3CpuInstr3_vpmovsxdq_XMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     8942        {  bs3CpuInstr3_vpmovsxdq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     8943        {  bs3CpuInstr3_vpmovsxdq_YMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     8944        {  bs3CpuInstr3_vpmovsxdq_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     8945    };
     8946    static BS3CPUINSTR3_TEST3_T const s_aTests64[] =
     8947    {
     8948        {  bs3CpuInstr3_pmovsxbw_XMM1_XMM2_icebp_c64,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8949        {  bs3CpuInstr3_pmovsxbw_XMM1_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8950        {  bs3CpuInstr3_pmovsxbw_XMM9_XMM8_icebp_c64,   255,         RM_REG, T_SSE4_1,    9,   8, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8951        {  bs3CpuInstr3_pmovsxbw_XMM9_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    9, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8952        {  bs3CpuInstr3_vpmovsxbw_XMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8953        {  bs3CpuInstr3_vpmovsxbw_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8954        {  bs3CpuInstr3_vpmovsxbw_XMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_128,   9,   8, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8955        {  bs3CpuInstr3_vpmovsxbw_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   9, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8956        {  bs3CpuInstr3_vpmovsxbw_YMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8957        {  bs3CpuInstr3_vpmovsxbw_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8958        {  bs3CpuInstr3_vpmovsxbw_YMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_256,   9,   8, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8959        {  bs3CpuInstr3_vpmovsxbw_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,   9, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     8960
     8961        {  bs3CpuInstr3_pmovsxbd_XMM1_XMM2_icebp_c64,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8962        {  bs3CpuInstr3_pmovsxbd_XMM1_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8963        {  bs3CpuInstr3_pmovsxbd_XMM9_XMM8_icebp_c64,   255,         RM_REG, T_SSE4_1,    9,   8, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8964        {  bs3CpuInstr3_pmovsxbd_XMM9_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    9, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8965        {  bs3CpuInstr3_vpmovsxbd_XMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8966        {  bs3CpuInstr3_vpmovsxbd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8967        {  bs3CpuInstr3_vpmovsxbd_XMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_128,   9,   8, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8968        {  bs3CpuInstr3_vpmovsxbd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   9, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8969        {  bs3CpuInstr3_vpmovsxbd_YMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8970        {  bs3CpuInstr3_vpmovsxbd_YMM1_FSxBX_icebp_c64, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8971        {  bs3CpuInstr3_vpmovsxbd_YMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_256,   9,   8, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8972        {  bs3CpuInstr3_vpmovsxbd_YMM9_FSxBX_icebp_c64, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   9, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     8973
     8974        {  bs3CpuInstr3_pmovsxbq_XMM1_XMM2_icebp_c64,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8975        {  bs3CpuInstr3_pmovsxbq_XMM1_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8976        {  bs3CpuInstr3_pmovsxbq_XMM9_XMM8_icebp_c64,   255,         RM_REG, T_SSE4_1,    9,   8, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8977        {  bs3CpuInstr3_pmovsxbq_XMM9_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    9, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8978        {  bs3CpuInstr3_vpmovsxbq_XMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8979        {  bs3CpuInstr3_vpmovsxbq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8980        {  bs3CpuInstr3_vpmovsxbq_XMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_128,   9,   8, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8981        {  bs3CpuInstr3_vpmovsxbq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   9, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8982        {  bs3CpuInstr3_vpmovsxbq_YMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8983        {  bs3CpuInstr3_vpmovsxbq_YMM1_FSxBX_icebp_c64, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8984        {  bs3CpuInstr3_vpmovsxbq_YMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_256,   9,   8, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8985        {  bs3CpuInstr3_vpmovsxbq_YMM9_FSxBX_icebp_c64, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   9, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     8986
     8987        {  bs3CpuInstr3_pmovsxwd_XMM1_XMM2_icebp_c64,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8988        {  bs3CpuInstr3_pmovsxwd_XMM1_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8989        {  bs3CpuInstr3_pmovsxwd_XMM9_XMM8_icebp_c64,   255,         RM_REG, T_SSE4_1,    9,   8, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8990        {  bs3CpuInstr3_pmovsxwd_XMM9_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    9, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8991        {  bs3CpuInstr3_vpmovsxwd_XMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8992        {  bs3CpuInstr3_vpmovsxwd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8993        {  bs3CpuInstr3_vpmovsxwd_XMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_128,   9,   8, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8994        {  bs3CpuInstr3_vpmovsxwd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   9, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8995        {  bs3CpuInstr3_vpmovsxwd_YMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8996        {  bs3CpuInstr3_vpmovsxwd_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8997        {  bs3CpuInstr3_vpmovsxwd_YMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_256,   9,   8, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8998        {  bs3CpuInstr3_vpmovsxwd_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,   9, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     8999
     9000        {  bs3CpuInstr3_pmovsxwq_XMM1_XMM2_icebp_c64,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9001        {  bs3CpuInstr3_pmovsxwq_XMM1_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9002        {  bs3CpuInstr3_pmovsxwq_XMM9_XMM8_icebp_c64,   255,         RM_REG, T_SSE4_1,    9,   8, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9003        {  bs3CpuInstr3_pmovsxwq_XMM9_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    9, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9004        {  bs3CpuInstr3_vpmovsxwq_XMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9005        {  bs3CpuInstr3_vpmovsxwq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9006        {  bs3CpuInstr3_vpmovsxwq_XMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_128,   9,   8, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9007        {  bs3CpuInstr3_vpmovsxwq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   9, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9008        {  bs3CpuInstr3_vpmovsxwq_YMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9009        {  bs3CpuInstr3_vpmovsxwq_YMM1_FSxBX_icebp_c64, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9010        {  bs3CpuInstr3_vpmovsxwq_YMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_256,   9,   8, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9011        {  bs3CpuInstr3_vpmovsxwq_YMM9_FSxBX_icebp_c64, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   9, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9012
     9013        {  bs3CpuInstr3_pmovsxdq_XMM1_XMM2_icebp_c64,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9014        {  bs3CpuInstr3_pmovsxdq_XMM1_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9015        {  bs3CpuInstr3_pmovsxdq_XMM9_XMM8_icebp_c64,   255,         RM_REG, T_SSE4_1,    9,   8, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9016        {  bs3CpuInstr3_pmovsxdq_XMM9_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    9, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9017        {  bs3CpuInstr3_vpmovsxdq_XMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9018        {  bs3CpuInstr3_vpmovsxdq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9019        {  bs3CpuInstr3_vpmovsxdq_XMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_128,   9,   8, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9020        {  bs3CpuInstr3_vpmovsxdq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   9, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9021        {  bs3CpuInstr3_vpmovsxdq_YMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9022        {  bs3CpuInstr3_vpmovsxdq_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9023        {  bs3CpuInstr3_vpmovsxdq_YMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_256,   9,   8, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9024        {  bs3CpuInstr3_vpmovsxdq_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,   9, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9025    };
     9026    static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     9027    unsigned const                         iTest       = BS3CPUINSTR3_TEST_MODES_INDEX(bMode);
     9028    return bs3CpuInstr3_WorkerTestType3(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
     9029                                        g_aXcptConfig5, RT_ELEMENTS(g_aXcptConfig5), X86_EFL_STATUS_BITS);
     9030}
     9031
     9032
     9033/*
     9034 * [V]PMOVZXBW / [V]PMOVZXBD / [V]PMOVZXBQ / [V]PMOVZXWD / [V]PMOVZXWQ / [V]PMOVZXDQ
     9035 */
     9036BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovzxbw_XMM1_XMM2_icebp);
     9037BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovzxbw_XMM1_FSxBX_icebp);
     9038extern FNBS3FAR             bs3CpuInstr3_pmovzxbw_XMM9_XMM8_icebp_c64;
     9039extern FNBS3FAR             bs3CpuInstr3_pmovzxbw_XMM9_FSxBX_icebp_c64;
     9040BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxbw_XMM1_XMM2_icebp);
     9041BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxbw_XMM1_FSxBX_icebp);
     9042extern FNBS3FAR             bs3CpuInstr3_vpmovzxbw_XMM9_XMM8_icebp_c64;
     9043extern FNBS3FAR             bs3CpuInstr3_vpmovzxbw_XMM9_FSxBX_icebp_c64;
     9044BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxbw_YMM1_XMM2_icebp);
     9045BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxbw_YMM1_FSxBX_icebp);
     9046extern FNBS3FAR             bs3CpuInstr3_vpmovzxbw_YMM9_XMM8_icebp_c64;
     9047extern FNBS3FAR             bs3CpuInstr3_vpmovzxbw_YMM9_FSxBX_icebp_c64;
     9048
     9049BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovzxbd_XMM1_XMM2_icebp);
     9050BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovzxbd_XMM1_FSxBX_icebp);
     9051extern FNBS3FAR             bs3CpuInstr3_pmovzxbd_XMM9_XMM8_icebp_c64;
     9052extern FNBS3FAR             bs3CpuInstr3_pmovzxbd_XMM9_FSxBX_icebp_c64;
     9053BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxbd_XMM1_XMM2_icebp);
     9054BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxbd_XMM1_FSxBX_icebp);
     9055extern FNBS3FAR             bs3CpuInstr3_vpmovzxbd_XMM9_XMM8_icebp_c64;
     9056extern FNBS3FAR             bs3CpuInstr3_vpmovzxbd_XMM9_FSxBX_icebp_c64;
     9057BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxbd_YMM1_XMM2_icebp);
     9058BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxbd_YMM1_FSxBX_icebp);
     9059extern FNBS3FAR             bs3CpuInstr3_vpmovzxbd_YMM9_XMM8_icebp_c64;
     9060extern FNBS3FAR             bs3CpuInstr3_vpmovzxbd_YMM9_FSxBX_icebp_c64;
     9061
     9062BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovzxbq_XMM1_XMM2_icebp);
     9063BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovzxbq_XMM1_FSxBX_icebp);
     9064extern FNBS3FAR             bs3CpuInstr3_pmovzxbq_XMM9_XMM8_icebp_c64;
     9065extern FNBS3FAR             bs3CpuInstr3_pmovzxbq_XMM9_FSxBX_icebp_c64;
     9066BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxbq_XMM1_XMM2_icebp);
     9067BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxbq_XMM1_FSxBX_icebp);
     9068extern FNBS3FAR             bs3CpuInstr3_vpmovzxbq_XMM9_XMM8_icebp_c64;
     9069extern FNBS3FAR             bs3CpuInstr3_vpmovzxbq_XMM9_FSxBX_icebp_c64;
     9070BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxbq_YMM1_XMM2_icebp);
     9071BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxbq_YMM1_FSxBX_icebp);
     9072extern FNBS3FAR             bs3CpuInstr3_vpmovzxbq_YMM9_XMM8_icebp_c64;
     9073extern FNBS3FAR             bs3CpuInstr3_vpmovzxbq_YMM9_FSxBX_icebp_c64;
     9074
     9075BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovzxwd_XMM1_XMM2_icebp);
     9076BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovzxwd_XMM1_FSxBX_icebp);
     9077extern FNBS3FAR             bs3CpuInstr3_pmovzxwd_XMM9_XMM8_icebp_c64;
     9078extern FNBS3FAR             bs3CpuInstr3_pmovzxwd_XMM9_FSxBX_icebp_c64;
     9079BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxwd_XMM1_XMM2_icebp);
     9080BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxwd_XMM1_FSxBX_icebp);
     9081extern FNBS3FAR             bs3CpuInstr3_vpmovzxwd_XMM9_XMM8_icebp_c64;
     9082extern FNBS3FAR             bs3CpuInstr3_vpmovzxwd_XMM9_FSxBX_icebp_c64;
     9083BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxwd_YMM1_XMM2_icebp);
     9084BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxwd_YMM1_FSxBX_icebp);
     9085extern FNBS3FAR             bs3CpuInstr3_vpmovzxwd_YMM9_XMM8_icebp_c64;
     9086extern FNBS3FAR             bs3CpuInstr3_vpmovzxwd_YMM9_FSxBX_icebp_c64;
     9087
     9088BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovzxwq_XMM1_XMM2_icebp);
     9089BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovzxwq_XMM1_FSxBX_icebp);
     9090extern FNBS3FAR             bs3CpuInstr3_pmovzxwq_XMM9_XMM8_icebp_c64;
     9091extern FNBS3FAR             bs3CpuInstr3_pmovzxwq_XMM9_FSxBX_icebp_c64;
     9092BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxwq_XMM1_XMM2_icebp);
     9093BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxwq_XMM1_FSxBX_icebp);
     9094extern FNBS3FAR             bs3CpuInstr3_vpmovzxwq_XMM9_XMM8_icebp_c64;
     9095extern FNBS3FAR             bs3CpuInstr3_vpmovzxwq_XMM9_FSxBX_icebp_c64;
     9096BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxwq_YMM1_XMM2_icebp);
     9097BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxwq_YMM1_FSxBX_icebp);
     9098extern FNBS3FAR             bs3CpuInstr3_vpmovzxwq_YMM9_XMM8_icebp_c64;
     9099extern FNBS3FAR             bs3CpuInstr3_vpmovzxwq_YMM9_FSxBX_icebp_c64;
     9100
     9101BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovzxdq_XMM1_XMM2_icebp);
     9102BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_pmovzxdq_XMM1_FSxBX_icebp);
     9103extern FNBS3FAR             bs3CpuInstr3_pmovzxdq_XMM9_XMM8_icebp_c64;
     9104extern FNBS3FAR             bs3CpuInstr3_pmovzxdq_XMM9_FSxBX_icebp_c64;
     9105BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxdq_XMM1_XMM2_icebp);
     9106BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxdq_XMM1_FSxBX_icebp);
     9107extern FNBS3FAR             bs3CpuInstr3_vpmovzxdq_XMM9_XMM8_icebp_c64;
     9108extern FNBS3FAR             bs3CpuInstr3_vpmovzxdq_XMM9_FSxBX_icebp_c64;
     9109BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxdq_YMM1_XMM2_icebp);
     9110BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpmovzxdq_YMM1_FSxBX_icebp);
     9111extern FNBS3FAR             bs3CpuInstr3_vpmovzxdq_YMM9_XMM8_icebp_c64;
     9112extern FNBS3FAR             bs3CpuInstr3_vpmovzxdq_YMM9_FSxBX_icebp_c64;
     9113
     9114BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_pmovzxbw_pmovzxbd_pmovzxbq_pmovzxwd_pmovzxwq_pmovzxdq(uint8_t bMode)
     9115{
     9116    static BS3CPUINSTR3_TEST3_VALUES_T const s_aValuesBW[] =
     9117    {
     9118        {            RTUINT256_INIT_C(0, 0, 0, 0),
     9119            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     9120        {            RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff),
     9121            /* => */ RTUINT256_INIT_C(0x00ff00ff00ff00ff, 0x00ff00ff00ff00ff, 0x00ff00ff00ff00ff, 0x00ff00ff00ff00ff) },
     9122        {            RTUINT256_INIT_C(0x9999aaaabbbbcccc, 0xddddeeeeffff2121, 0x1111222233334444, 0x5555666677778888),
     9123            /* => */ RTUINT256_INIT_C(0x0011001100220022, 0x0033003300440044, 0x0055005500660066, 0x0077007700880088) },
     9124        {            RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     9125            /* => */ RTUINT256_INIT_C(0x00b40021002f00a8, 0x0056004c009b00a2, 0x009c005c00e00073, 0x00930009009600bb) },
     9126    };
     9127    static BS3CPUINSTR3_TEST3_VALUES_T const s_aValuesBD[] =
     9128    {
     9129        {            RTUINT256_INIT_C(0, 0, 0, 0),
     9130            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     9131        {            RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff),
     9132            /* => */ RTUINT256_INIT_C(0x000000ff000000ff, 0x000000ff000000ff, 0x000000ff000000ff, 0x000000ff000000ff) },
     9133        {            RTUINT256_INIT_C(0x9999aaaabbbbcccc, 0xddddeeeeffff2121, 0x1111222233334444, 0x5555666677778888),
     9134            /* => */ RTUINT256_INIT_C(0x0000005500000055, 0x0000006600000066, 0x0000007700000077, 0x0000008800000088) },
     9135        {            RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     9136            /* => */ RTUINT256_INIT_C(0x0000009c0000005c, 0x000000e000000073, 0x0000009300000009, 0x00000096000000bb) },
     9137    };
     9138    static BS3CPUINSTR3_TEST3_VALUES_T const s_aValuesBQ[] =
     9139    {
     9140        {            RTUINT256_INIT_C(0, 0, 0, 0),
     9141            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     9142        {            RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff),
     9143            /* => */ RTUINT256_INIT_C(0x00000000000000ff, 0x00000000000000ff, 0x00000000000000ff, 0x00000000000000ff) },
     9144        {            RTUINT256_INIT_C(0x9999aaaabbbbcccc, 0xddddeeeeffff2121, 0x1111222233334444, 0x5555666677778888),
     9145            /* => */ RTUINT256_INIT_C(0x0000000000000077, 0x0000000000000077, 0x0000000000000088, 0x0000000000000088) },
     9146        {            RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     9147            /* => */ RTUINT256_INIT_C(0x0000000000000093, 0x0000000000000009, 0x0000000000000096, 0x00000000000000bb) },
     9148    };
     9149    static BS3CPUINSTR3_TEST3_VALUES_T const s_aValuesWD[] =
     9150    {
     9151        {            RTUINT256_INIT_C(0, 0, 0, 0),
     9152            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     9153        {            RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff),
     9154            /* => */ RTUINT256_INIT_C(0x0000ffff0000ffff, 0x0000ffff0000ffff, 0x0000ffff0000ffff, 0x0000ffff0000ffff) },
     9155        {            RTUINT256_INIT_C(0x9999aaaabbbbcccc, 0xddddeeeeffff2121, 0x1111222233334444, 0x5555666677778888),
     9156            /* => */ RTUINT256_INIT_C(0x0000111100002222, 0x0000333300004444, 0x0000555500006666, 0x0000777700008888) },
     9157        {            RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     9158            /* => */ RTUINT256_INIT_C(0x0000b42100002fa8, 0x0000564c00009ba2, 0x00009c5c0000e073, 0x00009309000096bb) },
     9159    };
     9160    static BS3CPUINSTR3_TEST3_VALUES_T const s_aValuesWQ[] =
     9161    {
     9162        {            RTUINT256_INIT_C(0, 0, 0, 0),
     9163            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     9164        {            RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff),
     9165            /* => */ RTUINT256_INIT_C(0x000000000000ffff, 0x000000000000ffff, 0x000000000000ffff, 0x000000000000ffff) },
     9166        {            RTUINT256_INIT_C(0x9999aaaabbbbcccc, 0xddddeeeeffff2121, 0x1111222233334444, 0x5555666677778888),
     9167            /* => */ RTUINT256_INIT_C(0x0000000000005555, 0x0000000000006666, 0x0000000000007777, 0x0000000000008888) },
     9168        {            RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     9169            /* => */ RTUINT256_INIT_C(0x0000000000009c5c, 0x000000000000e073, 0x0000000000009309, 0x00000000000096bb) },
     9170    };
     9171    static BS3CPUINSTR3_TEST3_VALUES_T const s_aValuesDQ[] =
     9172    {
     9173        {            RTUINT256_INIT_C(0, 0, 0, 0),
     9174            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     9175        {            RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff),
     9176            /* => */ RTUINT256_INIT_C(0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff) },
     9177        {            RTUINT256_INIT_C(0x9999aaaabbbbcccc, 0xddddeeeeffff2121, 0x1111222233334444, 0x5555666677778888),
     9178            /* => */ RTUINT256_INIT_C(0x0000000011112222, 0x0000000033334444, 0x0000000055556666, 0x0000000077778888) },
     9179        {            RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     9180            /* => */ RTUINT256_INIT_C(0x00000000b4212fa8, 0x00000000564c9ba2, 0x000000009c5ce073, 0x00000000930996bb) },
     9181    };
     9182
     9183    /** @todo Some variants produce different results wrt. to #DB vs #AC exceptions on real hardware (i7-6700K) and in a VM.
     9184     * The exception encountered on real hardware is put in the comment, the X86_XCPT_DB is when emulating the instruction using IEM.
     9185     * Needs investigation
     9186     */
     9187    static BS3CPUINSTR3_TEST3_T const s_aTests16[] =
     9188    {
     9189        {  bs3CpuInstr3_pmovzxbw_XMM1_XMM2_icebp_c16,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9190        {  bs3CpuInstr3_pmovzxbw_XMM1_FSxBX_icebp_c16,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9191        {  bs3CpuInstr3_vpmovzxbw_XMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9192        {  bs3CpuInstr3_vpmovzxbw_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9193        {  bs3CpuInstr3_vpmovzxbw_YMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9194        {  bs3CpuInstr3_vpmovzxbw_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9195
     9196        {  bs3CpuInstr3_pmovzxbd_XMM1_XMM2_icebp_c16,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9197        {  bs3CpuInstr3_pmovzxbd_XMM1_FSxBX_icebp_c16,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9198        {  bs3CpuInstr3_vpmovzxbd_XMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9199        {  bs3CpuInstr3_vpmovzxbd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9200        {  bs3CpuInstr3_vpmovzxbd_YMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9201        {  bs3CpuInstr3_vpmovzxbd_YMM1_FSxBX_icebp_c16, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9202
     9203        {  bs3CpuInstr3_pmovzxbq_XMM1_XMM2_icebp_c16,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9204        {  bs3CpuInstr3_pmovzxbq_XMM1_FSxBX_icebp_c16,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9205        {  bs3CpuInstr3_vpmovzxbq_XMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9206        {  bs3CpuInstr3_vpmovzxbq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9207        {  bs3CpuInstr3_vpmovzxbq_YMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9208        {  bs3CpuInstr3_vpmovzxbq_YMM1_FSxBX_icebp_c16, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9209
     9210        {  bs3CpuInstr3_pmovzxwd_XMM1_XMM2_icebp_c16,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9211        {  bs3CpuInstr3_pmovzxwd_XMM1_FSxBX_icebp_c16,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9212        {  bs3CpuInstr3_vpmovzxwd_XMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9213        {  bs3CpuInstr3_vpmovzxwd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9214        {  bs3CpuInstr3_vpmovzxwd_YMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9215        {  bs3CpuInstr3_vpmovzxwd_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9216
     9217        {  bs3CpuInstr3_pmovzxwq_XMM1_XMM2_icebp_c16,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9218        {  bs3CpuInstr3_pmovzxwq_XMM1_FSxBX_icebp_c16,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9219        {  bs3CpuInstr3_vpmovzxwq_XMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9220        {  bs3CpuInstr3_vpmovzxwq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9221        {  bs3CpuInstr3_vpmovzxwq_YMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9222        {  bs3CpuInstr3_vpmovzxwq_YMM1_FSxBX_icebp_c16, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9223
     9224        {  bs3CpuInstr3_pmovzxdq_XMM1_XMM2_icebp_c16,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9225        {  bs3CpuInstr3_pmovzxdq_XMM1_FSxBX_icebp_c16,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9226        {  bs3CpuInstr3_vpmovzxdq_XMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9227        {  bs3CpuInstr3_vpmovzxdq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9228        {  bs3CpuInstr3_vpmovzxdq_YMM1_XMM2_icebp_c16,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9229        {  bs3CpuInstr3_vpmovzxdq_YMM1_FSxBX_icebp_c16, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9230    };
     9231    static BS3CPUINSTR3_TEST3_T const s_aTests32[] =
     9232    {
     9233        {  bs3CpuInstr3_pmovzxbw_XMM1_XMM2_icebp_c32,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9234        {  bs3CpuInstr3_pmovzxbw_XMM1_FSxBX_icebp_c32,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9235        {  bs3CpuInstr3_vpmovzxbw_XMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9236        {  bs3CpuInstr3_vpmovzxbw_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9237        {  bs3CpuInstr3_vpmovzxbw_YMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9238        {  bs3CpuInstr3_vpmovzxbw_YMM1_FSxBX_icebp_c32, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9239
     9240        {  bs3CpuInstr3_pmovzxbd_XMM1_XMM2_icebp_c32,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9241        {  bs3CpuInstr3_pmovzxbd_XMM1_FSxBX_icebp_c32,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9242        {  bs3CpuInstr3_vpmovzxbd_XMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9243        {  bs3CpuInstr3_vpmovzxbd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9244        {  bs3CpuInstr3_vpmovzxbd_YMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9245        {  bs3CpuInstr3_vpmovzxbd_YMM1_FSxBX_icebp_c32, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9246
     9247        {  bs3CpuInstr3_pmovzxbq_XMM1_XMM2_icebp_c32,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9248        {  bs3CpuInstr3_pmovzxbq_XMM1_FSxBX_icebp_c32,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9249        {  bs3CpuInstr3_vpmovzxbq_XMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9250        {  bs3CpuInstr3_vpmovzxbq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9251        {  bs3CpuInstr3_vpmovzxbq_YMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9252        {  bs3CpuInstr3_vpmovzxbq_YMM1_FSxBX_icebp_c32, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9253
     9254        {  bs3CpuInstr3_pmovzxwd_XMM1_XMM2_icebp_c32,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9255        {  bs3CpuInstr3_pmovzxwd_XMM1_FSxBX_icebp_c32,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9256        {  bs3CpuInstr3_vpmovzxwd_XMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9257        {  bs3CpuInstr3_vpmovzxwd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9258        {  bs3CpuInstr3_vpmovzxwd_YMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9259        {  bs3CpuInstr3_vpmovzxwd_YMM1_FSxBX_icebp_c32, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9260
     9261        {  bs3CpuInstr3_pmovzxwq_XMM1_XMM2_icebp_c32,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9262        {  bs3CpuInstr3_pmovzxwq_XMM1_FSxBX_icebp_c32,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9263        {  bs3CpuInstr3_vpmovzxwq_XMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9264        {  bs3CpuInstr3_vpmovzxwq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9265        {  bs3CpuInstr3_vpmovzxwq_YMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9266        {  bs3CpuInstr3_vpmovzxwq_YMM1_FSxBX_icebp_c32, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9267
     9268        {  bs3CpuInstr3_pmovzxdq_XMM1_XMM2_icebp_c32,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9269        {  bs3CpuInstr3_pmovzxdq_XMM1_FSxBX_icebp_c32,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9270        {  bs3CpuInstr3_vpmovzxdq_XMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9271        {  bs3CpuInstr3_vpmovzxdq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9272        {  bs3CpuInstr3_vpmovzxdq_YMM1_XMM2_icebp_c32,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9273        {  bs3CpuInstr3_vpmovzxdq_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9274    };
     9275    static BS3CPUINSTR3_TEST3_T const s_aTests64[] =
     9276    {
     9277        {  bs3CpuInstr3_pmovzxbw_XMM1_XMM2_icebp_c64,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9278        {  bs3CpuInstr3_pmovzxbw_XMM1_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9279        {  bs3CpuInstr3_pmovzxbw_XMM9_XMM8_icebp_c64,   255,         RM_REG, T_SSE4_1,    9,   8, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9280        {  bs3CpuInstr3_pmovzxbw_XMM9_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    9, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9281        {  bs3CpuInstr3_vpmovzxbw_XMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9282        {  bs3CpuInstr3_vpmovzxbw_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9283        {  bs3CpuInstr3_vpmovzxbw_XMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_128,   9,   8, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9284        {  bs3CpuInstr3_vpmovzxbw_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   9, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9285        {  bs3CpuInstr3_vpmovzxbw_YMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9286        {  bs3CpuInstr3_vpmovzxbw_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9287        {  bs3CpuInstr3_vpmovzxbw_YMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_256,   9,   8, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9288        {  bs3CpuInstr3_vpmovzxbw_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,   9, 255, RT_ELEMENTS(s_aValuesBW), s_aValuesBW },
     9289
     9290        {  bs3CpuInstr3_pmovzxbd_XMM1_XMM2_icebp_c64,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9291        {  bs3CpuInstr3_pmovzxbd_XMM1_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9292        {  bs3CpuInstr3_pmovzxbd_XMM9_XMM8_icebp_c64,   255,         RM_REG, T_SSE4_1,    9,   8, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9293        {  bs3CpuInstr3_pmovzxbd_XMM9_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    9, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9294        {  bs3CpuInstr3_vpmovzxbd_XMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9295        {  bs3CpuInstr3_vpmovzxbd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9296        {  bs3CpuInstr3_vpmovzxbd_XMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_128,   9,   8, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9297        {  bs3CpuInstr3_vpmovzxbd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   9, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9298        {  bs3CpuInstr3_vpmovzxbd_YMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9299        {  bs3CpuInstr3_vpmovzxbd_YMM1_FSxBX_icebp_c64, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9300        {  bs3CpuInstr3_vpmovzxbd_YMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_256,   9,   8, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9301        {  bs3CpuInstr3_vpmovzxbd_YMM9_FSxBX_icebp_c64, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   9, 255, RT_ELEMENTS(s_aValuesBD), s_aValuesBD },
     9302
     9303        {  bs3CpuInstr3_pmovzxbq_XMM1_XMM2_icebp_c64,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9304        {  bs3CpuInstr3_pmovzxbq_XMM1_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9305        {  bs3CpuInstr3_pmovzxbq_XMM9_XMM8_icebp_c64,   255,         RM_REG, T_SSE4_1,    9,   8, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9306        {  bs3CpuInstr3_pmovzxbq_XMM9_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    9, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9307        {  bs3CpuInstr3_vpmovzxbq_XMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9308        {  bs3CpuInstr3_vpmovzxbq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9309        {  bs3CpuInstr3_vpmovzxbq_XMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_128,   9,   8, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9310        {  bs3CpuInstr3_vpmovzxbq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   9, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9311        {  bs3CpuInstr3_vpmovzxbq_YMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9312        {  bs3CpuInstr3_vpmovzxbq_YMM1_FSxBX_icebp_c64, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9313        {  bs3CpuInstr3_vpmovzxbq_YMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_256,   9,   8, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9314        {  bs3CpuInstr3_vpmovzxbq_YMM9_FSxBX_icebp_c64, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   9, 255, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ },
     9315
     9316        {  bs3CpuInstr3_pmovzxwd_XMM1_XMM2_icebp_c64,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9317        {  bs3CpuInstr3_pmovzxwd_XMM1_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9318        {  bs3CpuInstr3_pmovzxwd_XMM9_XMM8_icebp_c64,   255,         RM_REG, T_SSE4_1,    9,   8, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9319        {  bs3CpuInstr3_pmovzxwd_XMM9_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    9, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9320        {  bs3CpuInstr3_vpmovzxwd_XMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9321        {  bs3CpuInstr3_vpmovzxwd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9322        {  bs3CpuInstr3_vpmovzxwd_XMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_128,   9,   8, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9323        {  bs3CpuInstr3_vpmovzxwd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   9, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9324        {  bs3CpuInstr3_vpmovzxwd_YMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9325        {  bs3CpuInstr3_vpmovzxwd_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9326        {  bs3CpuInstr3_vpmovzxwd_YMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_256,   9,   8, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9327        {  bs3CpuInstr3_vpmovzxwd_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,   9, 255, RT_ELEMENTS(s_aValuesWD), s_aValuesWD },
     9328
     9329        {  bs3CpuInstr3_pmovzxwq_XMM1_XMM2_icebp_c64,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9330        {  bs3CpuInstr3_pmovzxwq_XMM1_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9331        {  bs3CpuInstr3_pmovzxwq_XMM9_XMM8_icebp_c64,   255,         RM_REG, T_SSE4_1,    9,   8, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9332        {  bs3CpuInstr3_pmovzxwq_XMM9_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    9, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9333        {  bs3CpuInstr3_vpmovzxwq_XMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9334        {  bs3CpuInstr3_vpmovzxwq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9335        {  bs3CpuInstr3_vpmovzxwq_XMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_128,   9,   8, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9336        {  bs3CpuInstr3_vpmovzxwq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   9, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9337        {  bs3CpuInstr3_vpmovzxwq_YMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9338        {  bs3CpuInstr3_vpmovzxwq_YMM1_FSxBX_icebp_c64, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9339        {  bs3CpuInstr3_vpmovzxwq_YMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_256,   9,   8, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9340        {  bs3CpuInstr3_vpmovzxwq_YMM9_FSxBX_icebp_c64, X86_XCPT_DB /*AC*/, RM_MEM, T_AVX_256,   9, 255, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ },
     9341
     9342        {  bs3CpuInstr3_pmovzxdq_XMM1_XMM2_icebp_c64,   255,         RM_REG, T_SSE4_1,    1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9343        {  bs3CpuInstr3_pmovzxdq_XMM1_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9344        {  bs3CpuInstr3_pmovzxdq_XMM9_XMM8_icebp_c64,   255,         RM_REG, T_SSE4_1,    9,   8, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9345        {  bs3CpuInstr3_pmovzxdq_XMM9_FSxBX_icebp_c64,  255,         RM_MEM, T_SSE4_1,    9, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9346        {  bs3CpuInstr3_vpmovzxdq_XMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_128,   1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9347        {  bs3CpuInstr3_vpmovzxdq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9348        {  bs3CpuInstr3_vpmovzxdq_XMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_128,   9,   8, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9349        {  bs3CpuInstr3_vpmovzxdq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128,   9, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9350        {  bs3CpuInstr3_vpmovzxdq_YMM1_XMM2_icebp_c64,  255,         RM_REG, T_AVX_256,   1,   2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9351        {  bs3CpuInstr3_vpmovzxdq_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,   1, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9352        {  bs3CpuInstr3_vpmovzxdq_YMM9_XMM8_icebp_c64,  255,         RM_REG, T_AVX_256,   9,   8, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9353        {  bs3CpuInstr3_vpmovzxdq_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,   9, 255, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ },
     9354    };
     9355    static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     9356    unsigned const                         iTest       = BS3CPUINSTR3_TEST_MODES_INDEX(bMode);
     9357    return bs3CpuInstr3_WorkerTestType3(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
     9358                                        g_aXcptConfig5, RT_ELEMENTS(g_aXcptConfig5), X86_EFL_STATUS_BITS);
     9359}
    87039360
    87049361
     
    91539810        { "[v]punpckhps/[v]punpckhpd",                      bs3CpuInstr3_v_punpckhps_punpckhpd, 0 },
    91549811#endif
     9812#if defined(ALL_TESTS)
     9813        { "[v]pmovsxbw/[v]pmovsxbd/[v]pmovsxbq/[v]pmovsxwd/[v]pmovsxwq/[v]pmovsxdq",
     9814                                                            bs3CpuInstr3_v_pmovsxbw_pmovsxbd_pmovsxbq_pmovsxwd_pmovsxwq_pmovsxdq, 0 },
     9815        { "[v]pmovzxbw/[v]pmovzxbd/[v]pmovzxbq/[v]pmovzxwd/[v]pmovzxwq/[v]pmovzxdq",
     9816                                                            bs3CpuInstr3_v_pmovzxbw_pmovzxbd_pmovzxbq_pmovzxwd_pmovzxwq_pmovzxdq, 0 },
     9817#endif
    91559818    };
    91569819    Bs3TestInit("bs3-cpu-instr-3");
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette