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-exception 6// 7//===----------------------------------------------------------------------===// 8// 9// This file describes the X86 properties of the instructions which are needed 10// 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 Operand Definitions. 22// 23include "X86InstrOperands.td" 24 25//===----------------------------------------------------------------------===// 26// X86 Predicate Definitions. 27// 28include "X86InstrPredicates.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// Subsystems. 42//===----------------------------------------------------------------------===// 43 44include "X86InstrMisc.td" 45include "X86InstrTBM.td" 46include "X86InstrArithmetic.td" 47include "X86InstrCMovSetCC.td" 48include "X86InstrExtension.td" 49include "X86InstrControl.td" 50include "X86InstrShiftRotate.td" 51 52// X87 Floating Point Stack. 53include "X86InstrFPStack.td" 54 55 56// FMA - Fused Multiply-Add support (requires FMA) 57include "X86InstrFMA.td" 58 59// XOP 60include "X86InstrXOP.td" 61 62// SSE, MMX and 3DNow! vector support. 63include "X86InstrSSE.td" 64include "X86InstrAVX512.td" 65include "X86InstrMMX.td" 66include "X86Instr3DNow.td" 67 68include "X86InstrVMX.td" 69include "X86InstrSVM.td" 70include "X86InstrSNP.td" 71include "X86InstrTSX.td" 72include "X86InstrSGX.td" 73include "X86InstrTDX.td" 74 75// Key Locker instructions 76include "X86InstrKL.td" 77 78// AMX instructions 79include "X86InstrAMX.td" 80 81// RAO-INT instructions 82include "X86InstrRAOINT.td" 83 84// System instructions. 85include "X86InstrSystem.td" 86 87// Compiler Pseudo Instructions and Pat Patterns 88include "X86InstrCompiler.td" 89include "X86InstrVecCompiler.td" 90 91// Assembler mnemonic/instruction aliases 92include "X86InstrAsmAlias.td" 93