1f08c3bdfSopenharmony_ci/* 2f08c3bdfSopenharmony_ci * Copyright (C) 2017 Luc Van Oostenryck 3f08c3bdfSopenharmony_ci * 4f08c3bdfSopenharmony_ci * Permission is hereby granted, free of charge, to any person obtaining a copy 5f08c3bdfSopenharmony_ci * of this software and associated documentation files (the "Software"), to deal 6f08c3bdfSopenharmony_ci * in the Software without restriction, including without limitation the rights 7f08c3bdfSopenharmony_ci * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8f08c3bdfSopenharmony_ci * copies of the Software, and to permit persons to whom the Software is 9f08c3bdfSopenharmony_ci * furnished to do so, subject to the following conditions: 10f08c3bdfSopenharmony_ci * 11f08c3bdfSopenharmony_ci * The above copyright notice and this permission notice shall be included in 12f08c3bdfSopenharmony_ci * all copies or substantial portions of the Software. 13f08c3bdfSopenharmony_ci * 14f08c3bdfSopenharmony_ci * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15f08c3bdfSopenharmony_ci * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16f08c3bdfSopenharmony_ci * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17f08c3bdfSopenharmony_ci * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18f08c3bdfSopenharmony_ci * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19f08c3bdfSopenharmony_ci * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20f08c3bdfSopenharmony_ci * THE SOFTWARE. 21f08c3bdfSopenharmony_ci */ 22f08c3bdfSopenharmony_ci 23f08c3bdfSopenharmony_ci#include "opcode.h" 24f08c3bdfSopenharmony_ci 25f08c3bdfSopenharmony_ciconst struct opcode_table opcode_table[OP_LAST] = { 26f08c3bdfSopenharmony_ci#define OPCODE(OP,NG,SW,SG,TF,N,FL) \ 27f08c3bdfSopenharmony_ci [OP_##OP] = { \ 28f08c3bdfSopenharmony_ci .negate = OP_##NG, \ 29f08c3bdfSopenharmony_ci .swap = OP_##SW, \ 30f08c3bdfSopenharmony_ci .sign = OP_##SG, \ 31f08c3bdfSopenharmony_ci .to_float = OP_##TF, \ 32f08c3bdfSopenharmony_ci .arity = N, \ 33f08c3bdfSopenharmony_ci .flags = FL, \ 34f08c3bdfSopenharmony_ci }, 35f08c3bdfSopenharmony_ci#define OPCODE_RANGE(OP,S,E) 36f08c3bdfSopenharmony_ci#include "opcode.def" 37f08c3bdfSopenharmony_ci#undef OPCODE 38f08c3bdfSopenharmony_ci#undef OPCODE_RANGE 39f08c3bdfSopenharmony_ci}; 40