insx86e2.h

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 168 行 · 第 1/2 页

H
168
字号
/****************************************************************************
*
*                            Open Watcom Project
*
*    Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
*
*  ========================================================================
*
*    This file contains Original Code and/or Modifications of Original
*    Code as defined in and that are subject to the Sybase Open Watcom
*    Public License version 1.0 (the 'License'). You may not use this file
*    except in compliance with the License. BY USING THIS FILE YOU AGREE TO
*    ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is
*    provided with the Original Code and Modifications, and is also
*    available at www.sybase.com/developer/opensource.
*
*    The Original Code and all software distributed under the License are
*    distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
*    EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM
*    ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
*    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR
*    NON-INFRINGEMENT. Please see the License for the specific language
*    governing rights and limitations under the License.
*
*  ========================================================================
*
* Description:  Table of x86 opcodes and corresponding decode routines.
*          only for extension SSE, SSE2 and SSE3 with OPND_SIZE prefix (0x66)
*
****************************************************************************/

/*
   All these instructions required only mandatory prefix 0x66


      Idx,              Name,           Opcode,         Mask,           Handler
*/

inspick( addpd,         "addpd",        0x0000580f,     0x0000ffff,     X86XMMRegModRM )          // sse2 
inspick( addsubpd,      "addsubpd",     0x0000d00f,     0x0000ffff,     X86XMMRegModRM )          // sse3 
inspick( andnpd,        "andnpd",       0x0000550f,     0x0000ffff,     X86XMMRegModRM )          // sse2 
inspick( andpd,         "andpd",        0x0000540f,     0x0000ffff,     X86XMMRegModRM )          // sse2 
inspick( cmppd,         "cmppd",        0x0000c20f,     0x0000ffff,     X86XMMRegModRMImm )       // sse2 
inspick( comisd,        "comisd",       0x00002f0f,     0x0000ffff,     X86XMMRegModRM64 )        // sse2 
inspick( cvtpd2pi,      "cvtpd2pi",     0x00002d0f,     0x0000ffff,     X86MMRegModRMMixed )      // sse2 
inspick( cvtpd2ps,      "cvtpd2ps",     0x00005a0f,     0x0000ffff,     X86XMMRegModRM )          // sse2 
inspick( cvtpi2pd,      "cvtpi2pd",     0x00002a0f,     0x0000ffff,     X86XMMRegModRMMixed )     // sse2 
inspick( cvtps2dq,      "cvtps2dq",     0x00005b0f,     0x0000ffff,     X86XMMRegModRM )          // sse2 
inspick( cvttpd2dq,     "cvttpd2dq",    0x0000e60f,     0x0000ffff,     X86XMMRegModRM )          // sse2 
inspick( cvttpd2pi,     "cvttpd2pi",    0x00002c0f,     0x0000ffff,     X86MMRegModRMMixed )      // sse2 
inspick( divpd,         "divpd",        0x00005e0f,     0x0000ffff,     X86XMMRegModRM )          // sse2 
inspick( haddpd,        "haddpd",       0x00007c0f,     0x0000ffff,     X86XMMRegModRM )          // sse3 
inspick( hsubpd,        "hsubpd",       0x00007d0f,     0x0000ffff,     X86XMMRegModRM )          // sse3 
inspick( maskmovdqu,    "maskmovdqu",   0x00c0f70f,     0x00c0ffff,     X86XMMRegModRM )          // sse2 
inspick( maxpd,         "maxpd",        0x00005f0f,     0x0000ffff,     X86XMMRegModRM )          // sse2 
inspick( minpd,         "minpd",        0x00005d0f,     0x0000ffff,     X86XMMRegModRM )          // sse2 
inspick( movapd_1,      "movapd",       0x0000280f,     0x0000ffff,     X86XMMRegModRM )          // sse2 
inspick( movapd_2,      "movapd",       0x0000290f,     0x0000ffff,     X86XMMRegModRM_Rev )      // sse2 
inspick( movd_2,        "movd",         0x00006e0f,     0x0000ffff,     X86XMMRegModRMMixed )     // sse2 
inspick( movd_4,        "movd",         0x00007e0f,     0x0000ffff,     X86XMMRegModRMMixed_Rev ) // sse2 
inspick( movdqa_1,      "movdqa",       0x00006f0f,     0x0000ffff,     X86XMMRegModRM )          // sse2 
inspick( movdqa_2,      "movdqa",       0x00007f0f,     0x0000ffff,     X86XMMRegModRM_Rev )      // sse2 
inspick( movhpd00_1,    "movhpd",       0x0000160f,     0x00c0ffff,     X86XMMRegModRM64 )        // sse2 
inspick( movhpd01_1,    "movhpd",       0x0040160f,     0x00c0ffff,     X86XMMRegModRM64 )        // sse2 
inspick( movhpd10_1,    "movhpd",       0x0080160f,     0x00c0ffff,     X86XMMRegModRM64 )        // sse2 
inspick( movhpd00_2,    "movhpd",       0x0000170f,     0x00c0ffff,     X86XMMRegModRM64_Rev )    // sse2 
inspick( movhpd01_2,    "movhpd",       0x0040170f,     0x00c0ffff,     X86XMMRegModRM64_Rev )    // sse2 
inspick( movhpd10_2,    "movhpd",       0x0080170f,     0x00c0ffff,     X86XMMRegModRM64_Rev )    // sse2 
inspick( movlpd00_1,    "movlpd",       0x0000120f,     0x00c0ffff,     X86XMMRegModRM64 )        // sse2 
inspick( movlpd01_1,    "movlpd",       0x0040120f,     0x00c0ffff,     X86XMMRegModRM64 )        // sse2 
inspick( movlpd10_1,    "movlpd",       0x0080120f,     0x00c0ffff,     X86XMMRegModRM64 )        // sse2 
inspick( movlpd00_2,    "movlpd",       0x0000130f,     0x00c0ffff,     X86XMMRegModRM64_Rev )    // sse2 
inspick( movlpd01_2,    "movlpd",       0x0040130f,     0x00c0ffff,     X86XMMRegModRM64_Rev )    // sse2 
inspick( movlpd10_2,    "movlpd",       0x0080130f,     0x00c0ffff,     X86XMMRegModRM64_Rev )    // sse2 
inspick( movmskpd,      "movmskpd",     0x00c0500f,     0x00c0ffff,     X86RegModRMMixed )        // sse2 
inspick( movntdq00,     "movntdq",      0x0000e70f,     0x00c0ffff,     X86XMMRegModRM_Rev )      // sse2 
inspick( movntdq01,     "movntdq",      0x0040e70f,     0x00c0ffff,     X86XMMRegModRM_Rev )      // sse2 
inspick( movntdq10,     "movntdq",      0x0080e70f,     0x00c0ffff,     X86XMMRegModRM_Rev )      // sse2 
inspick( movntpd00,     "movntpd",      0x00002b0f,     0x00c0ffff,     X86XMMRegModRM_Rev )      // sse2 
inspick( movntpd01,     "movntpd",      0x00402b0f,     0x00c0ffff,     X86XMMRegModRM_Rev )      // sse2 
inspick( movntpd10,     "movntpd",      0x00802b0f,     0x00c0ffff,     X86XMMRegModRM_Rev )      // sse2 
inspick( movq_4,        "movq",         0x0000d60f,     0x0000ffff,     X86XMMRegModRM64_Rev )    // sse2 
inspick( movupd_1,      "movupd",       0x0000100f,     0x0000ffff,     X86XMMRegModRM )          // sse2 
inspick( movupd_2,      "movupd",       0x0000110f,     0x0000ffff,     X86XMMRegModRM_Rev )      // sse2 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?