1*9a0e4156SSadaf Ebrahimi //===-- Sparc.h - Top-level interface for Sparc representation --*- C++ -*-===// 2*9a0e4156SSadaf Ebrahimi // 3*9a0e4156SSadaf Ebrahimi // The LLVM Compiler Infrastructure 4*9a0e4156SSadaf Ebrahimi // 5*9a0e4156SSadaf Ebrahimi // This file is distributed under the University of Illinois Open Source 6*9a0e4156SSadaf Ebrahimi // License. See LICENSE.TXT for details. 7*9a0e4156SSadaf Ebrahimi // 8*9a0e4156SSadaf Ebrahimi //===----------------------------------------------------------------------===// 9*9a0e4156SSadaf Ebrahimi // 10*9a0e4156SSadaf Ebrahimi // This file contains the entry points for global functions defined in the LLVM 11*9a0e4156SSadaf Ebrahimi // Sparc back-end. 12*9a0e4156SSadaf Ebrahimi // 13*9a0e4156SSadaf Ebrahimi //===----------------------------------------------------------------------===// 14*9a0e4156SSadaf Ebrahimi 15*9a0e4156SSadaf Ebrahimi /* Capstone Disassembly Engine */ 16*9a0e4156SSadaf Ebrahimi /* By Nguyen Anh Quynh <[email protected]>, 2013-2015 */ 17*9a0e4156SSadaf Ebrahimi 18*9a0e4156SSadaf Ebrahimi #ifndef CS_SPARC_TARGET_SPARC_H 19*9a0e4156SSadaf Ebrahimi #define CS_SPARC_TARGET_SPARC_H 20*9a0e4156SSadaf Ebrahimi 21*9a0e4156SSadaf Ebrahimi #include "capstone/sparc.h" 22*9a0e4156SSadaf Ebrahimi SPARCCondCodeToString(sparc_cc CC)23*9a0e4156SSadaf Ebrahimiinline static const char *SPARCCondCodeToString(sparc_cc CC) 24*9a0e4156SSadaf Ebrahimi { 25*9a0e4156SSadaf Ebrahimi switch (CC) { 26*9a0e4156SSadaf Ebrahimi default: return NULL; // unreachable 27*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_A: return "a"; 28*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_N: return "n"; 29*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_NE: return "ne"; 30*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_E: return "e"; 31*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_G: return "g"; 32*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_LE: return "le"; 33*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_GE: return "ge"; 34*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_L: return "l"; 35*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_GU: return "gu"; 36*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_LEU: return "leu"; 37*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_CC: return "cc"; 38*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_CS: return "cs"; 39*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_POS: return "pos"; 40*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_NEG: return "neg"; 41*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_VC: return "vc"; 42*9a0e4156SSadaf Ebrahimi case SPARC_CC_ICC_VS: return "vs"; 43*9a0e4156SSadaf Ebrahimi 44*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_A: return "a"; 45*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_N: return "n"; 46*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_U: return "u"; 47*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_G: return "g"; 48*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_UG: return "ug"; 49*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_L: return "l"; 50*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_UL: return "ul"; 51*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_LG: return "lg"; 52*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_NE: return "ne"; 53*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_E: return "e"; 54*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_UE: return "ue"; 55*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_GE: return "ge"; 56*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_UGE: return "uge"; 57*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_LE: return "le"; 58*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_ULE: return "ule"; 59*9a0e4156SSadaf Ebrahimi case SPARC_CC_FCC_O: return "o"; 60*9a0e4156SSadaf Ebrahimi } 61*9a0e4156SSadaf Ebrahimi } 62*9a0e4156SSadaf Ebrahimi 63*9a0e4156SSadaf Ebrahimi #endif 64