]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/lib/Target/ARC/MCTargetDesc/ARCInfo.h
Merge clang 7.0.1 and several follow-up changes
[FreeBSD/FreeBSD.git] / contrib / llvm / lib / Target / ARC / MCTargetDesc / ARCInfo.h
1 //===- ARCInfo.h - Additional ARC Info --------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file contains small standalone helper functions and enum definitions for
11 // the ARC target useful for the compiler back-end and the MC libraries.
12 // As such, it deliberately does not include references to LLVM core
13 // code gen types, passes, etc..
14 //
15 //===----------------------------------------------------------------------===//
16
17 #ifndef LLVM_LIB_TARGET_ARC_MCTARGETDESC_ARCINFO_H
18 #define LLVM_LIB_TARGET_ARC_MCTARGETDESC_ARCINFO_H
19
20 namespace llvm {
21
22 // Enums corresponding to ARC condition codes
23 namespace ARCCC {
24
25 enum CondCode {
26   AL = 0x0,
27   EQ = 0x1,
28   NE = 0x2,
29   P = 0x3,
30   N = 0x4,
31   LO = 0x5,
32   HS = 0x6,
33   VS = 0x7,
34   VC = 0x8,
35   GT = 0x9,
36   GE = 0xa,
37   LT = 0xb,
38   LE = 0xc,
39   HI = 0xd,
40   LS = 0xe,
41   PNZ = 0xf,
42   Z = 0x11, // Low 4-bits = EQ
43   NZ = 0x12 // Low 4-bits = NE
44 };
45
46 enum BRCondCode {
47   BREQ = 0x0,
48   BRNE = 0x1,
49   BRLT = 0x2,
50   BRGE = 0x3,
51   BRLO = 0x4,
52   BRHS = 0x5
53 };
54
55 } // end namespace ARCCC
56
57 } // end namespace llvm
58
59 #endif