|  | //===- 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 |