blob: 4164b33645595f2a533f448763920fb02050ceed [file] [log] [blame]
Gerolf Hoflehner97c383b2014-08-07 21:40:58 +00001//===- AArch64MachineCombinerPattern.h -===//
2//===- AArch64 instruction pattern supported by combiner -===//
3//
4// The LLVM Compiler Infrastructure
5//
6// This file is distributed under the University of Illinois Open Source
7// License. See LICENSE.TXT for details.
8//
9//===----------------------------------------------------------------------===//
10//
11// This file defines instruction pattern supported by combiner
12//
13//===----------------------------------------------------------------------===//
14
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000015#ifndef LLVM_LIB_TARGET_AARCH64_AARCH64MACHINECOMBINERPATTERN_H
16#define LLVM_LIB_TARGET_AARCH64_AARCH64MACHINECOMBINERPATTERN_H
Gerolf Hoflehner97c383b2014-08-07 21:40:58 +000017
18namespace llvm {
19
20/// Enumeration of instruction pattern supported by machine combiner
21///
22///
23namespace MachineCombinerPattern {
24enum MC_PATTERN : int {
25 MC_NONE = 0,
26 MC_MULADDW_OP1 = 1,
27 MC_MULADDW_OP2 = 2,
28 MC_MULSUBW_OP1 = 3,
29 MC_MULSUBW_OP2 = 4,
30 MC_MULADDWI_OP1 = 5,
31 MC_MULSUBWI_OP1 = 6,
32 MC_MULADDX_OP1 = 7,
33 MC_MULADDX_OP2 = 8,
34 MC_MULSUBX_OP1 = 9,
35 MC_MULSUBX_OP2 = 10,
36 MC_MULADDXI_OP1 = 11,
37 MC_MULSUBXI_OP1 = 12
38};
39} // end namespace MachineCombinerPattern
40} // end namespace llvm
41
42#endif