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 "X86InstrConditionalCompare.td" 49include "X86InstrExtension.td" 50include "X86InstrControl.td" 51include "X86InstrShiftRotate.td" 52 53// X87 Floating Point Stack. 54include "X86InstrFPStack.td" 55 56 57// FMA - Fused Multiply-Add support (requires FMA) 58include "X86InstrFMA.td" 59 60// XOP 61include "X86InstrXOP.td" 62 63// SSE, MMX and 3DNow! vector support. 64include "X86InstrSSE.td" 65include "X86InstrAVX512.td" 66include "X86InstrMMX.td" 67include "X86Instr3DNow.td" 68 69include "X86InstrVMX.td" 70include "X86InstrSVM.td" 71include "X86InstrSNP.td" 72include "X86InstrTSX.td" 73include "X86InstrSGX.td" 74include "X86InstrTDX.td" 75 76// Key Locker instructions 77include "X86InstrKL.td" 78 79// AMX instructions 80include "X86InstrAMX.td" 81 82// RAO-INT instructions 83include "X86InstrRAOINT.td" 84 85// System instructions. 86include "X86InstrSystem.td" 87 88// Compiler Pseudo Instructions and Pat Patterns 89include "X86InstrCompiler.td" 90include "X86InstrVecCompiler.td" 91 92// Assembler mnemonic/instruction aliases 93include "X86InstrAsmAlias.td" 94