1*0b57cec5SDimitry Andric //===- ARCInfo.h - Additional ARC Info --------------------------*- C++ -*-===// 2*0b57cec5SDimitry Andric // 3*0b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*0b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*0b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*0b57cec5SDimitry Andric // 7*0b57cec5SDimitry Andric //===----------------------------------------------------------------------===// 8*0b57cec5SDimitry Andric // 9*0b57cec5SDimitry Andric // This file contains small standalone helper functions and enum definitions for 10*0b57cec5SDimitry Andric // the ARC target useful for the compiler back-end and the MC libraries. 11*0b57cec5SDimitry Andric // As such, it deliberately does not include references to LLVM core 12*0b57cec5SDimitry Andric // code gen types, passes, etc.. 13*0b57cec5SDimitry Andric // 14*0b57cec5SDimitry Andric //===----------------------------------------------------------------------===// 15*0b57cec5SDimitry Andric 16*0b57cec5SDimitry Andric #ifndef LLVM_LIB_TARGET_ARC_MCTARGETDESC_ARCINFO_H 17*0b57cec5SDimitry Andric #define LLVM_LIB_TARGET_ARC_MCTARGETDESC_ARCINFO_H 18*0b57cec5SDimitry Andric 19*0b57cec5SDimitry Andric namespace llvm { 20*0b57cec5SDimitry Andric 21*0b57cec5SDimitry Andric // Enums corresponding to ARC condition codes 22*0b57cec5SDimitry Andric namespace ARCCC { 23*0b57cec5SDimitry Andric 24*0b57cec5SDimitry Andric enum CondCode { 25*0b57cec5SDimitry Andric AL = 0x0, 26*0b57cec5SDimitry Andric EQ = 0x1, 27*0b57cec5SDimitry Andric NE = 0x2, 28*0b57cec5SDimitry Andric P = 0x3, 29*0b57cec5SDimitry Andric N = 0x4, 30*0b57cec5SDimitry Andric LO = 0x5, 31*0b57cec5SDimitry Andric HS = 0x6, 32*0b57cec5SDimitry Andric VS = 0x7, 33*0b57cec5SDimitry Andric VC = 0x8, 34*0b57cec5SDimitry Andric GT = 0x9, 35*0b57cec5SDimitry Andric GE = 0xa, 36*0b57cec5SDimitry Andric LT = 0xb, 37*0b57cec5SDimitry Andric LE = 0xc, 38*0b57cec5SDimitry Andric HI = 0xd, 39*0b57cec5SDimitry Andric LS = 0xe, 40*0b57cec5SDimitry Andric PNZ = 0xf, 41*0b57cec5SDimitry Andric Z = 0x11, // Low 4-bits = EQ 42*0b57cec5SDimitry Andric NZ = 0x12 // Low 4-bits = NE 43*0b57cec5SDimitry Andric }; 44*0b57cec5SDimitry Andric 45*0b57cec5SDimitry Andric enum BRCondCode { 46*0b57cec5SDimitry Andric BREQ = 0x0, 47*0b57cec5SDimitry Andric BRNE = 0x1, 48*0b57cec5SDimitry Andric BRLT = 0x2, 49*0b57cec5SDimitry Andric BRGE = 0x3, 50*0b57cec5SDimitry Andric BRLO = 0x4, 51*0b57cec5SDimitry Andric BRHS = 0x5 52*0b57cec5SDimitry Andric }; 53*0b57cec5SDimitry Andric 54*0b57cec5SDimitry Andric } // end namespace ARCCC 55*0b57cec5SDimitry Andric 56*0b57cec5SDimitry Andric } // end namespace llvm 57*0b57cec5SDimitry Andric 58*0b57cec5SDimitry Andric #endif 59