[llvm-shlib] Fix the version naming style of libLLVM for Windows (#85710)
[llvm-project.git] / llvm / lib / Target / X86 / X86InstrInfo.td
blobee54796323b82cb5205aa80846af8349d3a3f22c
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.
12 //===----------------------------------------------------------------------===//
14 //===----------------------------------------------------------------------===//
15 // X86 Pattern fragments.
17 include "X86InstrFragments.td"
18 include "X86InstrFragmentsSIMD.td"
20 //===----------------------------------------------------------------------===//
21 // X86 Operand Definitions.
23 include "X86InstrOperands.td"
25 //===----------------------------------------------------------------------===//
26 // X86 Predicate Definitions.
28 include "X86InstrPredicates.td"
30 //===----------------------------------------------------------------------===//
31 // X86 Instruction Format Definitions.
33 include "X86InstrFormats.td"
35 //===----------------------------------------------------------------------===//
36 // X86 Instruction utilities.
38 include "X86InstrUtils.td"
40 //===----------------------------------------------------------------------===//
41 // Subsystems.
42 //===----------------------------------------------------------------------===//
44 include "X86InstrMisc.td"
45 include "X86InstrTBM.td"
46 include "X86InstrArithmetic.td"
47 include "X86InstrCMovSetCC.td"
48 include "X86InstrExtension.td"
49 include "X86InstrControl.td"
50 include "X86InstrShiftRotate.td"
52 // X87 Floating Point Stack.
53 include "X86InstrFPStack.td"
56 // FMA - Fused Multiply-Add support (requires FMA)
57 include "X86InstrFMA.td"
59 // XOP
60 include "X86InstrXOP.td"
62 // SSE, MMX and 3DNow! vector support.
63 include "X86InstrSSE.td"
64 include "X86InstrAVX512.td"
65 include "X86InstrMMX.td"
66 include "X86Instr3DNow.td"
68 include "X86InstrVMX.td"
69 include "X86InstrSVM.td"
70 include "X86InstrSNP.td"
71 include "X86InstrTSX.td"
72 include "X86InstrSGX.td"
73 include "X86InstrTDX.td"
75 // Key Locker instructions
76 include "X86InstrKL.td"
78 // AMX instructions
79 include "X86InstrAMX.td"
81 // RAO-INT instructions
82 include "X86InstrRAOINT.td"
84 // System instructions.
85 include "X86InstrSystem.td"
87 // Compiler Pseudo Instructions and Pat Patterns
88 include "X86InstrCompiler.td"
89 include "X86InstrVecCompiler.td"
91 // Assembler mnemonic/instruction aliases
92 include "X86InstrAsmAlias.td"