two_byte_opcodes.isa (6561:3f716cda05c9) two_byte_opcodes.isa (6563:2c5b80c75da7)
1// Copyright (c) 2008 The Regents of The University of Michigan
2// All rights reserved.
3//
4// Redistribution and use in source and binary forms, with or without
5// modification, are permitted provided that the following conditions are
6// met: redistributions of source code must retain the above copyright
7// notice, this list of conditions and the following disclaimer;
8// redistributions in binary form must reproduce the above copyright

--- 359 unchanged lines hidden (view full) ---

368 }
369 0x05: decode LEGACY_DECODEVAL {
370 // no prefix
371 0x0: decode OPCODE_OP_BOTTOM3 {
372 //These moves should really use size o (octword), but
373 //because they are split in two, they use q (quadword).
374 0x0: Inst::MOVAPS(Vq,Wq);
375 0x1: Inst::MOVAPS(Wq,Vq);
1// Copyright (c) 2008 The Regents of The University of Michigan
2// All rights reserved.
3//
4// Redistribution and use in source and binary forms, with or without
5// modification, are permitted provided that the following conditions are
6// met: redistributions of source code must retain the above copyright
7// notice, this list of conditions and the following disclaimer;
8// redistributions in binary form must reproduce the above copyright

--- 359 unchanged lines hidden (view full) ---

368 }
369 0x05: decode LEGACY_DECODEVAL {
370 // no prefix
371 0x0: decode OPCODE_OP_BOTTOM3 {
372 //These moves should really use size o (octword), but
373 //because they are split in two, they use q (quadword).
374 0x0: Inst::MOVAPS(Vq,Wq);
375 0x1: Inst::MOVAPS(Wq,Vq);
376 0x2: decode MODRM_MOD {
377 0x3: cvtpi2pS_Vq_Pq();
378 default: cvtpi2ps_Vq_Mq();
379 }
376 0x2: Inst::CVTPI2PS(Vq,Qq);
380 0x3: movntps_Mo_Vo();
381 0x4: cvttps2pi_Pq_Wq();
382 0x5: cvtpS2pi_Pq_Wq();
383 0x6: ucomiss_Vd_Wd();
384 0x7: comiss_Vd_Wd();
385 }
386 // repe (0xF3)
387 0x4: decode OPCODE_OP_BOTTOM3 {
377 0x3: movntps_Mo_Vo();
378 0x4: cvttps2pi_Pq_Wq();
379 0x5: cvtpS2pi_Pq_Wq();
380 0x6: ucomiss_Vd_Wd();
381 0x7: comiss_Vd_Wd();
382 }
383 // repe (0xF3)
384 0x4: decode OPCODE_OP_BOTTOM3 {
388 0x2: cvtsi2ss_Vd_Ed();
385 0x2: Inst::CVTSI2SS(Vd,Ed);
389 0x4: cvttss2si_Gd_Wd();
390 0x5: cvtss2si_Gd_Wd();
391 default: Inst::UD2();
392 }
393 // operand size (0x66)
394 0x1: decode OPCODE_OP_BOTTOM3 {
395 0x0: movapd_Vo_Wo();
396 0x1: movapd_Wo_Vo();
386 0x4: cvttss2si_Gd_Wd();
387 0x5: cvtss2si_Gd_Wd();
388 default: Inst::UD2();
389 }
390 // operand size (0x66)
391 0x1: decode OPCODE_OP_BOTTOM3 {
392 0x0: movapd_Vo_Wo();
393 0x1: movapd_Wo_Vo();
397 0x2: decode MODRM_MOD {
398 0x3: cvtpi2pd_Vo_Pq();
399 default: cvtpi2pd_Vo_Mq();
400 }
394 0x2: Inst::CVTPI2PD(Vo,Qq);
401 0x3: movntpd_Mo_Vo();
402 0x4: cvttpd2pi_Pq_Wo();
403 0x5: cvtpd2pi_Pq_Wo();
404 0x6: Inst::UCOMISD(Vq,Wq);
405 0x7: comisd_Vq_Wq();
406 }
407 // repne (0xF2)
408 0x8: decode OPCODE_OP_BOTTOM3 {

--- 93 unchanged lines hidden (view full) ---

502 }
503 }
504 0x0B: decode LEGACY_DECODEVAL {
505 // no prefix
506 0x0: decode OPCODE_OP_BOTTOM3 {
507 0x0: Inst::ADDPS(Vo,Wo);
508 0x1: Inst::MULPS(Vo,Wo);
509 0x2: cvtps2pd_Vo_Wq();
395 0x3: movntpd_Mo_Vo();
396 0x4: cvttpd2pi_Pq_Wo();
397 0x5: cvtpd2pi_Pq_Wo();
398 0x6: Inst::UCOMISD(Vq,Wq);
399 0x7: comisd_Vq_Wq();
400 }
401 // repne (0xF2)
402 0x8: decode OPCODE_OP_BOTTOM3 {

--- 93 unchanged lines hidden (view full) ---

496 }
497 }
498 0x0B: decode LEGACY_DECODEVAL {
499 // no prefix
500 0x0: decode OPCODE_OP_BOTTOM3 {
501 0x0: Inst::ADDPS(Vo,Wo);
502 0x1: Inst::MULPS(Vo,Wo);
503 0x2: cvtps2pd_Vo_Wq();
510 0x3: cvtdq2ps_Vo_Wo();
504 0x3: Inst::CVTDQ2PS(Vo,Wo);
511 0x4: Inst::SUBPS(Vo,Wo);
512 0x5: Inst::MINPS(Vo,Wo);
513 0x6: Inst::DIVPS(Vo,Wo);
514 0x7: Inst::MAXPS(Vo,Wo);
515 }
516 // repe (0xF3)
517 0x4: decode OPCODE_OP_BOTTOM3 {
518 0x0: Inst::ADDSS(Vd,Wd);

--- 390 unchanged lines hidden (view full) ---

909 }
910 0x7: vmptrst_Mq();
911 default: Inst::UD2();
912 }
913 default: decode LEGACY_DECODEVAL {
914 // no prefix
915 0x0: decode OPCODE_OP_BOTTOM3 {
916 0x2: cmpccps_Vo_Wo_Ib();
505 0x4: Inst::SUBPS(Vo,Wo);
506 0x5: Inst::MINPS(Vo,Wo);
507 0x6: Inst::DIVPS(Vo,Wo);
508 0x7: Inst::MAXPS(Vo,Wo);
509 }
510 // repe (0xF3)
511 0x4: decode OPCODE_OP_BOTTOM3 {
512 0x0: Inst::ADDSS(Vd,Wd);

--- 390 unchanged lines hidden (view full) ---

903 }
904 0x7: vmptrst_Mq();
905 default: Inst::UD2();
906 }
907 default: decode LEGACY_DECODEVAL {
908 // no prefix
909 0x0: decode OPCODE_OP_BOTTOM3 {
910 0x2: cmpccps_Vo_Wo_Ib();
917 0x3: cvtdq2ps_Vo_Wo();
911 0x3: Inst::CVTDQ2PS(Vo,Wo);
918 0x4: Inst::SUBPS(Vo,Wo);
919 0x5: Inst::MINPS(Vo,Wo);
920 0x6: Inst::DIVPS(Vo,Wo);
921 }
922 // repe (0xF3)
923 0x4: decode OPCODE_OP_BOTTOM3 {
924 0x2: cmpccss_Vd_Wd_Ib();
925 default: Inst::UD2();

--- 88 unchanged lines hidden (view full) ---

1014 0x3: pavgw_Pq_Qq();
1015 0x4: pmulhuw_Pq_Qq();
1016 0x5: pmulhw_Pq_Qq();
1017 0x7: movntq_Mq_Pq();
1018 default: Inst::UD2();
1019 }
1020 // repe (0xF3)
1021 0x4: decode OPCODE_OP_BOTTOM3 {
912 0x4: Inst::SUBPS(Vo,Wo);
913 0x5: Inst::MINPS(Vo,Wo);
914 0x6: Inst::DIVPS(Vo,Wo);
915 }
916 // repe (0xF3)
917 0x4: decode OPCODE_OP_BOTTOM3 {
918 0x2: cmpccss_Vd_Wd_Ib();
919 default: Inst::UD2();

--- 88 unchanged lines hidden (view full) ---

1008 0x3: pavgw_Pq_Qq();
1009 0x4: pmulhuw_Pq_Qq();
1010 0x5: pmulhw_Pq_Qq();
1011 0x7: movntq_Mq_Pq();
1012 default: Inst::UD2();
1013 }
1014 // repe (0xF3)
1015 0x4: decode OPCODE_OP_BOTTOM3 {
1022 0x6: cvtdq2pd_Vo_Wq();
1016 0x6: Inst::CVTDQ2PD(Vo,Wq);
1023 default: Inst::UD2();
1024 }
1025 // operand size (0x66)
1026 0x1: decode OPCODE_OP_BOTTOM3 {
1027 0x0: pavgb_Vo_Wo();
1028 0x1: psraw_Vo_Wo();
1029 0x2: psrad_Vo_Wo();
1030 0x3: pavgw_Vo_Wo();

--- 98 unchanged lines hidden ---
1017 default: Inst::UD2();
1018 }
1019 // operand size (0x66)
1020 0x1: decode OPCODE_OP_BOTTOM3 {
1021 0x0: pavgb_Vo_Wo();
1022 0x1: psraw_Vo_Wo();
1023 0x2: psrad_Vo_Wo();
1024 0x3: pavgw_Vo_Wo();

--- 98 unchanged lines hidden ---