LLVM API Documentation

AArch64MachineCombinerPattern.h
Go to the documentation of this file.
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