LLVM API Documentation
00001 //===- AArch64MachineCombinerPattern.h -===// 00002 //===- AArch64 instruction pattern supported by combiner -===// 00003 // 00004 // The LLVM Compiler Infrastructure 00005 // 00006 // This file is distributed under the University of Illinois Open Source 00007 // License. See LICENSE.TXT for details. 00008 // 00009 //===----------------------------------------------------------------------===// 00010 // 00011 // This file defines instruction pattern supported by combiner 00012 // 00013 //===----------------------------------------------------------------------===// 00014 00015 #ifndef LLVM_LIB_TARGET_AARCH64_AARCH64MACHINECOMBINERPATTERN_H 00016 #define LLVM_LIB_TARGET_AARCH64_AARCH64MACHINECOMBINERPATTERN_H 00017 00018 namespace llvm { 00019 00020 /// Enumeration of instruction pattern supported by machine combiner 00021 /// 00022 /// 00023 namespace MachineCombinerPattern { 00024 enum MC_PATTERN : int { 00025 MC_NONE = 0, 00026 MC_MULADDW_OP1 = 1, 00027 MC_MULADDW_OP2 = 2, 00028 MC_MULSUBW_OP1 = 3, 00029 MC_MULSUBW_OP2 = 4, 00030 MC_MULADDWI_OP1 = 5, 00031 MC_MULSUBWI_OP1 = 6, 00032 MC_MULADDX_OP1 = 7, 00033 MC_MULADDX_OP2 = 8, 00034 MC_MULSUBX_OP1 = 9, 00035 MC_MULSUBX_OP2 = 10, 00036 MC_MULADDXI_OP1 = 11, 00037 MC_MULSUBXI_OP1 = 12 00038 }; 00039 } // end namespace MachineCombinerPattern 00040 } // end namespace llvm 00041 00042 #endif