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 --- |