| //===-- X86InstrInfo.td - Main X86 Instruction Properties --*- tablegen -*-===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file describes the X86 properties of the instructions which are needed |
| // for code generation, machine code emission, and analysis. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| //===----------------------------------------------------------------------===// |
| // X86 Pattern fragments. |
| // |
| include "X86InstrFragments.td" |
| include "X86InstrFragmentsSIMD.td" |
| |
| //===----------------------------------------------------------------------===// |
| // X86 Operand Definitions. |
| // |
| include "X86InstrOperands.td" |
| |
| //===----------------------------------------------------------------------===// |
| // X86 Predicate Definitions. |
| // |
| include "X86InstrPredicates.td" |
| |
| //===----------------------------------------------------------------------===// |
| // X86 Instruction Format Definitions. |
| // |
| include "X86InstrFormats.td" |
| |
| //===----------------------------------------------------------------------===// |
| // X86 Instruction utilities. |
| // |
| include "X86InstrUtils.td" |
| |
| //===----------------------------------------------------------------------===// |
| // Subsystems. |
| //===----------------------------------------------------------------------===// |
| |
| include "X86InstrMisc.td" |
| include "X86InstrTBM.td" |
| include "X86InstrArithmetic.td" |
| include "X86InstrCMovSetCC.td" |
| include "X86InstrExtension.td" |
| include "X86InstrControl.td" |
| include "X86InstrShiftRotate.td" |
| |
| // X87 Floating Point Stack. |
| include "X86InstrFPStack.td" |
| |
| |
| // FMA - Fused Multiply-Add support (requires FMA) |
| include "X86InstrFMA.td" |
| |
| // XOP |
| include "X86InstrXOP.td" |
| |
| // SSE, MMX and 3DNow! vector support. |
| include "X86InstrSSE.td" |
| include "X86InstrAVX512.td" |
| include "X86InstrMMX.td" |
| include "X86Instr3DNow.td" |
| |
| include "X86InstrVMX.td" |
| include "X86InstrSVM.td" |
| include "X86InstrSNP.td" |
| include "X86InstrTSX.td" |
| include "X86InstrSGX.td" |
| include "X86InstrTDX.td" |
| |
| // Key Locker instructions |
| include "X86InstrKL.td" |
| |
| // AMX instructions |
| include "X86InstrAMX.td" |
| |
| // RAO-INT instructions |
| include "X86InstrRAOINT.td" |
| |
| // System instructions. |
| include "X86InstrSystem.td" |
| |
| // Compiler Pseudo Instructions and Pat Patterns |
| include "X86InstrCompiler.td" |
| include "X86InstrVecCompiler.td" |
| |
| // Assembler mnemonic/instruction aliases |
| include "X86InstrAsmAlias.td" |