2017-08-24 23:40:33 +08:00
|
|
|
//===- 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,
|
2018-01-18 01:58:28 +08:00
|
|
|
VS = 0x7,
|
|
|
|
VC = 0x8,
|
2017-08-24 23:40:33 +08:00
|
|
|
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
|