xref: /freebsd/contrib/llvm-project/llvm/lib/Target/X86/X86InstrInfo.td (revision a90b9d0159070121c221b966469c3e36d912bf82)
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