basic-modes.h revision 1.7
1/* Basic CGEN modes. 2 Copyright (C) 2005-2020 Free Software Foundation, Inc. 3 Contributed by Red Hat. 4 5 This file is part of the GNU opcodes library. 6 7 This library is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 3, or (at your option) 10 any later version. 11 12 It is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this library; see the file COPYING3. If not, write to the 19 Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 20 02110-1301, USA. */ 21 22#ifndef CGEN_BASIC_MODES_H 23#define CGEN_BASIC_MODES_H 24 25/* This file doesn't contain all modes, 26 just the basic/portable ones. 27 It also provides access to stdint.h (*1) so the includer doesn't have 28 to deal with the portability issues. 29 (*1): To the extent that bfd_stdint.h does for now. */ 30 31/* IWBN to avoid unnecessary dependencies on bfd-anything. */ 32#include "bfd_stdint.h" 33 34typedef int8_t QI; 35typedef uint8_t UQI; 36 37typedef int16_t HI; 38typedef uint16_t UHI; 39 40typedef int32_t SI; 41typedef uint32_t USI; 42 43typedef int64_t DI; 44typedef uint64_t UDI; 45 46typedef int INT; 47typedef unsigned int UINT; 48 49/* Cover macro to create a 64-bit integer. */ 50#define MAKEDI(hi, lo) ((((DI) (SI) (hi)) << 32) | ((UDI) (USI) (lo))) 51 52#endif /* CGEN_BASIC_MODES_H */ 53