forked from OSchip/llvm-project
43 lines
1.2 KiB
C++
43 lines
1.2 KiB
C++
//===- AArch64MachineCombinerPattern.h -===//
|
|
//===- AArch64 instruction pattern supported by combiner -===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file defines instruction pattern supported by combiner
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_LIB_TARGET_AARCH64_AARCH64MACHINECOMBINERPATTERN_H
|
|
#define LLVM_LIB_TARGET_AARCH64_AARCH64MACHINECOMBINERPATTERN_H
|
|
|
|
namespace llvm {
|
|
|
|
/// Enumeration of instruction pattern supported by machine combiner
|
|
///
|
|
///
|
|
namespace MachineCombinerPattern {
|
|
enum MC_PATTERN : int {
|
|
MC_NONE = 0,
|
|
MC_MULADDW_OP1 = 1,
|
|
MC_MULADDW_OP2 = 2,
|
|
MC_MULSUBW_OP1 = 3,
|
|
MC_MULSUBW_OP2 = 4,
|
|
MC_MULADDWI_OP1 = 5,
|
|
MC_MULSUBWI_OP1 = 6,
|
|
MC_MULADDX_OP1 = 7,
|
|
MC_MULADDX_OP2 = 8,
|
|
MC_MULSUBX_OP1 = 9,
|
|
MC_MULSUBX_OP2 = 10,
|
|
MC_MULADDXI_OP1 = 11,
|
|
MC_MULSUBXI_OP1 = 12
|
|
};
|
|
} // end namespace MachineCombinerPattern
|
|
} // end namespace llvm
|
|
|
|
#endif
|