100 lines · plain
1//===-- X86InstrInfo.td - Main X86 Instruction Properties --*- tablegen -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8//9// This file describes the X86 properties of the instructions which are needed10// for code generation, machine code emission, and analysis.11//12//===----------------------------------------------------------------------===//13 14//===----------------------------------------------------------------------===//15// X86 Pattern fragments.16//17include "X86InstrFragments.td"18include "X86InstrFragmentsSIMD.td"19 20//===----------------------------------------------------------------------===//21// X86 Predicate Definitions.22//23include "X86InstrPredicates.td"24 25//===----------------------------------------------------------------------===//26// X86 Operand Definitions.27//28include "X86InstrOperands.td"29 30//===----------------------------------------------------------------------===//31// X86 Instruction Format Definitions.32//33include "X86InstrFormats.td"34 35//===----------------------------------------------------------------------===//36// X86 Instruction utilities.37//38include "X86InstrUtils.td"39 40//===----------------------------------------------------------------------===//41// Global ISel42//43include "X86InstrGISel.td"44 45//===----------------------------------------------------------------------===//46// Subsystems.47//===----------------------------------------------------------------------===//48 49include "X86InstrMisc.td"50include "X86InstrTBM.td"51include "X86InstrArithmetic.td"52include "X86InstrCMovSetCC.td"53include "X86InstrConditionalCompare.td"54include "X86InstrExtension.td"55include "X86InstrControl.td"56include "X86InstrShiftRotate.td"57 58// X87 Floating Point Stack.59include "X86InstrFPStack.td"60 61 62// FMA - Fused Multiply-Add support (requires FMA)63include "X86InstrFMA.td"64 65// XOP66include "X86InstrXOP.td"67 68// SSE, MMX and 3DNow! vector support.69include "X86InstrSSE.td"70include "X86InstrAVX512.td"71include "X86InstrAVX10.td"72include "X86InstrMMX.td"73include "X86Instr3DNow.td"74 75include "X86InstrVMX.td"76include "X86InstrSVM.td"77include "X86InstrSNP.td"78include "X86InstrTSX.td"79include "X86InstrSGX.td"80include "X86InstrTDX.td"81 82// Key Locker instructions83include "X86InstrKL.td"84 85// AMX instructions86include "X86InstrAMX.td"87 88// RAO-INT instructions89include "X86InstrRAOINT.td"90 91// System instructions.92include "X86InstrSystem.td"93 94// Compiler Pseudo Instructions and Pat Patterns95include "X86InstrCompiler.td"96include "X86InstrVecCompiler.td"97 98// Assembler mnemonic/instruction aliases99include "X86InstrAsmAlias.td"100