aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/ARC/MCTargetDesc/ARCInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/ARC/MCTargetDesc/ARCInfo.h')
-rw-r--r--lib/Target/ARC/MCTargetDesc/ARCInfo.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/lib/Target/ARC/MCTargetDesc/ARCInfo.h b/lib/Target/ARC/MCTargetDesc/ARCInfo.h
new file mode 100644
index 0000000000000..b9ed998857028
--- /dev/null
+++ b/lib/Target/ARC/MCTargetDesc/ARCInfo.h
@@ -0,0 +1,57 @@
+//===- ARCInfo.h - Additional ARC Info --------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains small standalone helper functions and enum definitions for
+// the ARC target useful for the compiler back-end and the MC libraries.
+// As such, it deliberately does not include references to LLVM core
+// code gen types, passes, etc..
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIB_TARGET_ARC_MCTARGETDESC_ARCINFO_H
+#define LLVM_LIB_TARGET_ARC_MCTARGETDESC_ARCINFO_H
+
+namespace llvm {
+
+// Enums corresponding to ARC condition codes
+namespace ARCCC {
+
+enum CondCode {
+ AL = 0x0,
+ EQ = 0x1,
+ NE = 0x2,
+ P = 0x3,
+ N = 0x4,
+ LO = 0x5,
+ HS = 0x6,
+ GT = 0x9,
+ GE = 0xa,
+ LT = 0xb,
+ LE = 0xc,
+ HI = 0xd,
+ LS = 0xe,
+ PNZ = 0xf,
+ Z = 0x11, // Low 4-bits = EQ
+ NZ = 0x12 // Low 4-bits = NE
+};
+
+enum BRCondCode {
+ BREQ = 0x0,
+ BRNE = 0x1,
+ BRLT = 0x2,
+ BRGE = 0x3,
+ BRLO = 0x4,
+ BRHS = 0x5
+};
+
+} // end namespace ARCCC
+
+} // end namespace llvm
+
+#endif