• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
60