OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [opcodes/] [i386-opc.h] - Diff between revs 18 and 148

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 18 Rev 148
Line 90... Line 90...
  CpuSSE4_1,
  CpuSSE4_1,
  /* SSE4.2 support required */
  /* SSE4.2 support required */
  CpuSSE4_2,
  CpuSSE4_2,
  /* AVX support required */
  /* AVX support required */
  CpuAVX,
  CpuAVX,
 
  /* AVX2 support required */
 
  CpuAVX2,
  /* Intel L1OM support required */
  /* Intel L1OM support required */
  CpuL1OM,
  CpuL1OM,
  /* Xsave/xrstor New Instructions support required */
  /* Xsave/xrstor New Instructions support required */
  CpuXsave,
  CpuXsave,
  /* Xsaveopt New Instructions support required */
  /* Xsaveopt New Instructions support required */
Line 124... Line 126...
  CpuFSGSBase,
  CpuFSGSBase,
  /* RDRND Instructions required */
  /* RDRND Instructions required */
  CpuRdRnd,
  CpuRdRnd,
  /* F16C Instructions required */
  /* F16C Instructions required */
  CpuF16C,
  CpuF16C,
 
  /* Intel BMI2 support required */
 
  CpuBMI2,
 
  /* LZCNT support required */
 
  CpuLZCNT,
 
  /* INVPCID Instructions required */
 
  CpuINVPCID,
  /* 64bit support available, used by -march= in assembler.  */
  /* 64bit support available, used by -march= in assembler.  */
  CpuLM,
  CpuLM,
  /* 64bit support required  */
  /* 64bit support required  */
  Cpu64,
  Cpu64,
  /* Not supported in the 64bit mode  */
  /* Not supported in the 64bit mode  */
Line 179... Line 187...
      unsigned int cpusse4a:1;
      unsigned int cpusse4a:1;
      unsigned int cpuabm:1;
      unsigned int cpuabm:1;
      unsigned int cpusse4_1:1;
      unsigned int cpusse4_1:1;
      unsigned int cpusse4_2:1;
      unsigned int cpusse4_2:1;
      unsigned int cpuavx:1;
      unsigned int cpuavx:1;
 
      unsigned int cpuavx2:1;
      unsigned int cpul1om:1;
      unsigned int cpul1om:1;
      unsigned int cpuxsave:1;
      unsigned int cpuxsave:1;
      unsigned int cpuxsaveopt:1;
      unsigned int cpuxsaveopt:1;
      unsigned int cpuaes:1;
      unsigned int cpuaes:1;
      unsigned int cpupclmul:1;
      unsigned int cpupclmul:1;
Line 196... Line 205...
      unsigned int cpuept:1;
      unsigned int cpuept:1;
      unsigned int cpurdtscp:1;
      unsigned int cpurdtscp:1;
      unsigned int cpufsgsbase:1;
      unsigned int cpufsgsbase:1;
      unsigned int cpurdrnd:1;
      unsigned int cpurdrnd:1;
      unsigned int cpuf16c:1;
      unsigned int cpuf16c:1;
 
      unsigned int cpubmi2:1;
 
      unsigned int cpulzcnt:1;
 
      unsigned int cpuinvpcid:1;
      unsigned int cpulm:1;
      unsigned int cpulm:1;
      unsigned int cpu64:1;
      unsigned int cpu64:1;
      unsigned int cpuno64:1;
      unsigned int cpuno64:1;
#ifdef CpuUnused
#ifdef CpuUnused
      unsigned int unused:(CpuNumOfBits - CpuUnused);
      unsigned int unused:(CpuNumOfBits - CpuUnused);
Line 305... Line 317...
     1: VEX.NDS.  Register-only source is encoded in VEX.vvvv where
     1: VEX.NDS.  Register-only source is encoded in VEX.vvvv where
        the content of source registers will be preserved.
        the content of source registers will be preserved.
        VEX.DDS.  The second register operand is encoded in VEX.vvvv
        VEX.DDS.  The second register operand is encoded in VEX.vvvv
        where the content of first source register will be overwritten
        where the content of first source register will be overwritten
        by the result.
        by the result.
        For assembler, there are no difference between VEX.NDS and
        VEX.NDD2.  The second destination register operand is encoded in
        VEX.DDS.
        VEX.vvvv for instructions with 2 destination register operands.
     2. VEX.NDD.  Register destination is encoded in VEX.vvvv.
        For assembler, there are no difference between VEX.NDS, VEX.DDS
 
        and VEX.NDD2.
 
     2. VEX.NDD.  Register destination is encoded in VEX.vvvv for
 
     instructions with 1 destination register operand.
     3. VEX.LWP.  Register destination is encoded in VEX.vvvv and one
     3. VEX.LWP.  Register destination is encoded in VEX.vvvv and one
        of the operands can access a memory location.
        of the operands can access a memory location.
   */
   */
#define VEXXDS  1
#define VEXXDS  1
#define VEXNDD  2
#define VEXNDD  2
Line 348... Line 363...
#define XOP2SOURCES     1
#define XOP2SOURCES     1
#define VEX3SOURCES     2
#define VEX3SOURCES     2
  VexSources,
  VexSources,
  /* instruction has VEX 8 bit imm */
  /* instruction has VEX 8 bit imm */
  VexImmExt,
  VexImmExt,
 
  /* Instruction with vector SIB byte:
 
        1: 128bit vector register.
 
        2: 256bit vector register.
 
   */
 
#define VecSIB128       1
 
#define VecSIB256       2
 
  VecSIB,
  /* SSE to AVX support required */
  /* SSE to AVX support required */
  SSE2AVX,
  SSE2AVX,
  /* No AVX equivalent */
  /* No AVX equivalent */
  NoAVX,
  NoAVX,
  /* Compatible with old (<= 2.8.1) versions of gcc  */
  /* Compatible with old (<= 2.8.1) versions of gcc  */
Line 410... Line 432...
  unsigned int vexvvvv:2;
  unsigned int vexvvvv:2;
  unsigned int vexw:2;
  unsigned int vexw:2;
  unsigned int vexopcode:3;
  unsigned int vexopcode:3;
  unsigned int vexsources:2;
  unsigned int vexsources:2;
  unsigned int veximmext:1;
  unsigned int veximmext:1;
 
  unsigned int vecsib:2;
  unsigned int sse2avx:1;
  unsigned int sse2avx:1;
  unsigned int noavx:1;
  unsigned int noavx:1;
  unsigned int oldgcc:1;
  unsigned int oldgcc:1;
  unsigned int attmnemonic:1;
  unsigned int attmnemonic:1;
  unsigned int attsyntax:1;
  unsigned int attsyntax:1;

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.