Operand.xcc
Benoit Dupont de Dinechin (Benoit.Dupont-de-Dinechin@st.com).
Copyright 2002 - 2007 STMicroelectronics. Copyright 1995 - 1998 Commissariat a l'Energie Atomique.
This program is free software; you can redistribute it and/or modify it under the terms of either (at your option): the GNU General Public License (GPL) version 2; the GNU Lesser General Public License (LGPL) version 2.1; any later version of these licences as published by the Free Software Foundation.
Operand_name_— Names for the Operand enumeration.
extern const char * Operand_name_(Operand this);
Operand_type— The OperandType of this Operand.
OperandType Operand_type(Operand this);
Operand_enum— The RegClass or Immediate or Modifier or Regmask of this Operand.
int Operand_enum(Operand this);
Operand_modifier— The Modifier of this Operand.
Modifier Operand_modifier(Operand this);
Operand_immediate— The Immediate of this Operand.
Immediate Operand_immediate(Operand this);
Operand_regClass— The RegClass of this Operand.
RegClass Operand_regClass(Operand this);
Operand_regMask— The RegMask of this Operand.
RegMask Operand_regMask(Operand this);
Operand_encode— This Operand encode function.
typedef void (*OperandEncode)(OperandDecoded decoded, void *restrict opcodes); OperandEncode Operand_encode(Operand this);
Operand_encodeImmediateValue— Encode a ImmediateValue.
static inline void Operand_encodeImmediateValue(Operand this, ImmediateValue value, void *opcodes) { (*Operand_encode(this))((OperandDecoded)(&value), opcodes); }
Operand_decode— This Operand decode function.
typedef void (*OperandDecode)(const void *restrict opcodes, void *restrict result); OperandDecode Operand_decode(Operand this);
Operand_decodeImmediateValue— Macro to decode an ImmediateConstant.
#define Operand_decodeImmediateValue(operand, opcodes, value_ptr) \ (*Operand_decode(operand))(opcodes, (void *restrict)(value_ptr))
OperandList— Sequence of Operand(s).
struct OperandList_ { uint8_t COUNT; Operand ITEMS[Operands_COUNT_MAX]; };
OperandList_count— Count the Operand(s) in this OperandList.
static inline int OperandList_count(const_OperandList this) { return OperandList_COUNT(this); }
OperandList_access— Access the Operand at the given index.
static inline Operand OperandList_access(const_OperandList this, int index) { Except_REQUIRE(index >= 0 && index < OperandList_COUNT(this)); return (Operand)OperandList_ITEMS(this)[index]; }
OperandList_items— For use by OperandList_FOREACH_Operand.
static inline const Operand * OperandList_items(const_OperandList this) { return OperandList_ITEMS(this); }
OperandList_FOREACH_Operand— Iterate over this OperandList Operand(s).
#define OperandList_FOREACH_Operand(this, operand) { \ const Operand *OperandList_ITEMS = OperandList_items(this); \ int OperandList_COUNT = OperandList_count(this), OperandList_INDEX = 0; \ for (; OperandList_INDEX < OperandList_COUNT; OperandList_INDEX++) { \ int operand = OperandList_ITEMS[OperandList_INDEX]; #define OperandList_ENDEACH_Operand \ } \ }
Operands_name_— Names for the Operands enumeration.
extern const char * Operands_name_(Operands this);
Operands_operandList— This Operands OperandList.
const_OperandList Operands_operandList(Operands this);
Operands_FOREACH_Operand— Iterate over this Operands Operand(s).
#define Operands_FOREACH_Operand(this, operand) \ OperandList_FOREACH_Operand(Operands_operandList(this), operand) { \ int Operands_INDEX = OperandList_INDEX; #define Operands_ENDEACH_Operand \ } OperandList_ENDEACH_Operand;
Operands_count— This Operands count of Operand(s).
int Operands_count(Operands this);
Operands_access— Access the Operand at the given index.
Operand Operands_access(Operands this, int index);
OperandsBuffer— Buffer used to encode or decode Operands.
struct OperandsBuffer_ { //@args OperandDecoded DECODED[Operands_COUNT_MAX]; #if (Operands_IMMEDIATE_COUNT_MAX > 0) ImmediateConstant_ CONSTANTS[Operands_IMMEDIATE_COUNT_MAX]; #endif//Operands_IMMEDIATE_COUNT_MAX #if (Operands_REGMASK_COUNT_MAX > 0) RegisterSet_ REGISTERSETS[Operands_REGMASK_COUNT_MAX]; #endif//Operands_REGMASK_COUNT_MAX };
Operands_encode— This Operands encode function.
typedef void (*OperandsEncode)(const_OperandsBuffer buffer, void *restrict opcodes); OperandsEncode Operands_encode(Operands this);
Operands_relocatableRank— Rank of relocatable Immediate in this Operands.
int Operands_relocatableRank(Operands this);
Operands_relocatableOperand— Relocatable Operand in this Operands.
Operand Operands_relocatableOperand(Operands this);
Operands_relocatableImmediate— Relocatable Immediate in this Operands.
Immediate Operands_relocatableImmediate(Operands this);
Operands_decode -- This Operands decode function.
typedef void (*OperandsDecode)(const void *opcodes, OperandsBuffer buffer); OperandsDecode Operands_decode(Operands this);