Add gfx950 mfma instructions to ROCDL dialect (#123361)
[llvm-project.git] / llvm / lib / Target / X86 / X86InstrInfo.td
blobe75d6743f9273f8d3400055d7eadeecf93557ec9
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 "X86InstrConditionalCompare.td"
49 include "X86InstrExtension.td"
50 include "X86InstrControl.td"
51 include "X86InstrShiftRotate.td"
53 // X87 Floating Point Stack.
54 include "X86InstrFPStack.td"
57 // FMA - Fused Multiply-Add support (requires FMA)
58 include "X86InstrFMA.td"
60 // XOP
61 include "X86InstrXOP.td"
63 // SSE, MMX and 3DNow! vector support.
64 include "X86InstrSSE.td"
65 include "X86InstrAVX512.td"
66 include "X86InstrAVX10.td"
67 include "X86InstrMMX.td"
68 include "X86Instr3DNow.td"
70 include "X86InstrVMX.td"
71 include "X86InstrSVM.td"
72 include "X86InstrSNP.td"
73 include "X86InstrTSX.td"
74 include "X86InstrSGX.td"
75 include "X86InstrTDX.td"
77 // Key Locker instructions
78 include "X86InstrKL.td"
80 // AMX instructions
81 include "X86InstrAMX.td"
83 // RAO-INT instructions
84 include "X86InstrRAOINT.td"
86 // System instructions.
87 include "X86InstrSystem.td"
89 // Compiler Pseudo Instructions and Pat Patterns
90 include "X86InstrCompiler.td"
91 include "X86InstrVecCompiler.td"
93 // Assembler mnemonic/instruction aliases
94 include "X86InstrAsmAlias.td"