qemu/target/hexagon/imported/encode.def
Taylor Simpson 7cf9345c95 Hexagon (target/hexagon/imported) arch import
Imported from the Hexagon architecture library
    imported/macros.def
        The macro definitions specify instruction attributes that are applied
        to each instruction that references the macro. The generator will
        recursively apply attributes to each instruction that used the macro.
    imported/allidefs.def
        Top level instruction definition file
    imported/*.idef
        Instruction definition files
        These files are input to the first phase of the generator
        (gen_semantics.c) to create a python include file with the
        instruction semantics and attributes.  The python include
        file is fed to the second phase to generate various header files.
    imported/encode*.def
        Instruction encoding bit patterns for every instruction

Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <1612763186-18161-19-git-send-email-tsimpson@quicinc.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2021-02-18 07:48:22 -08:00

125 lines
2.7 KiB
Modula-2

/*
* Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
/*
* This just includes all encoding files
*/
#ifndef DEF_FIELD32
#define __SELF_DEF_FIELD32
#define DEF_FIELD32(...) /* nothing */
#endif
#ifndef DEF_CLASS32
#define __SELF_DEF_CLASS32
#define DEF_CLASS32(...) /* nothing */
#endif
#ifndef DEF_ANTICLASS32
#define __SELF_DEF_ANTICLASS32
#define DEF_ANTICLASS32(...) /* nothing */
#endif
#ifndef LEGACY_DEF_ENC32
#define __SELF_DEF_LEGACY_DEF_ENC32
#define LEGACY_DEF_ENC32(...) /* nothing */
#endif
#ifndef DEF_FIELDROW_DESC32
#define __SELF_DEF_FIELDROW_DESC32
#define DEF_FIELDROW_DESC32(...) /* nothing */
#endif
#ifndef DEF_ENC32
#define __SELF_DEF_ENC32
#define DEF_ENC32(...) /* nothing */
#endif
#ifndef DEF_PACKED32
#define __SELF_DEF_PACKED32
#define DEF_PACKED32(...) /* nothing */
#endif
#ifndef DEF_ENC_SUBINSN
#define __SELF_DEF_ENC_SUBINSN
#define DEF_ENC_SUBINSN(...) /* nothing */
#endif
#ifndef DEF_EXT_ENC
#define __SELF_DEF_EXT_ENC
#define DEF_EXT_ENC(...) /* nothing */
#endif
#ifndef DEF_EXT_SPACE
#define __SELF_DEF_EXT_SPACE
#define DEF_EXT_SPACE(...) /* nothing */
#endif
#include "encode_pp.def"
#include "encode_subinsn.def"
#ifdef __SELF_DEF_FIELD32
#undef __SELF_DEF_FIELD32
#undef DEF_FIELD32
#endif
#ifdef __SELF_DEF_CLASS32
#undef __SELF_DEF_CLASS32
#undef DEF_CLASS32
#endif
#ifdef __SELF_DEF_ANTICLASS32
#undef __SELF_DEF_ANTICLASS32
#undef DEF_ANTICLASS32
#endif
#ifdef __SELF_DEF_LEGACY_DEF_ENC32
#undef __SELF_DEF_LEGACY_DEF_ENC32
#undef LEGACY_DEF_ENC32
#endif
#ifdef __SELF_DEF_FIELDROW_DESC32
#undef __SELF_DEF_FIELDROW_DESC32
#undef DEF_FIELDROW_DESC32
#endif
#ifdef __SELF_DEF_ENC32
#undef __SELF_DEF_ENC32
#undef DEF_ENC32
#endif
#ifdef __SELF_DEF_EXT_SPACE
#undef __SELF_DEF_EXT_SPACE
#undef DEF_EXT_SPACE
#endif
#ifdef __SELF_DEF_PACKED32
#undef __SELF_DEF_PACKED32
#undef DEF_PACKED32
#endif
#ifdef __SELF_DEF_ENC_SUBINSN
#undef __SELF_DEF_ENC_SUBINSN
#undef DEF_ENC_SUBINSN
#endif
#ifdef __SELF_DEF_EXT_ENC
#undef __SELF_DEF_EXT_ENC
#undef DEF_EXT_ENC
#endif