| /* Xtensa configuration-specific ISA information. |
| Copyright (C) 2003-2024 Free Software Foundation, Inc. |
| |
| This file is part of BFD, the Binary File Descriptor library. |
| |
| 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, write to the Free Software |
| Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA |
| 02110-1301, USA. */ |
| |
| #include "ansidecl.h" |
| #include <xtensa-isa.h> |
| #include "xtensa-isa-internal.h" |
| |
| |
| /* Sysregs. */ |
| |
| static xtensa_sysreg_internal sysregs[] = { |
| { "LBEG", 0, 0 }, |
| { "LEND", 1, 0 }, |
| { "LCOUNT", 2, 0 }, |
| { "BR", 4, 0 }, |
| { "ACCLO", 16, 0 }, |
| { "ACCHI", 17, 0 }, |
| { "M0", 32, 0 }, |
| { "M1", 33, 0 }, |
| { "M2", 34, 0 }, |
| { "M3", 35, 0 }, |
| { "PTEVADDR", 83, 0 }, |
| { "MMID", 89, 0 }, |
| { "DDR", 104, 0 }, |
| { "176", 176, 0 }, |
| { "208", 208, 0 }, |
| { "INTERRUPT", 226, 0 }, |
| { "INTCLEAR", 227, 0 }, |
| { "CCOUNT", 234, 0 }, |
| { "PRID", 235, 0 }, |
| { "ICOUNT", 236, 0 }, |
| { "CCOMPARE0", 240, 0 }, |
| { "CCOMPARE1", 241, 0 }, |
| { "CCOMPARE2", 242, 0 }, |
| { "VECBASE", 231, 0 }, |
| { "EPC1", 177, 0 }, |
| { "EPC2", 178, 0 }, |
| { "EPC3", 179, 0 }, |
| { "EPC4", 180, 0 }, |
| { "EPC5", 181, 0 }, |
| { "EPC6", 182, 0 }, |
| { "EPC7", 183, 0 }, |
| { "EXCSAVE1", 209, 0 }, |
| { "EXCSAVE2", 210, 0 }, |
| { "EXCSAVE3", 211, 0 }, |
| { "EXCSAVE4", 212, 0 }, |
| { "EXCSAVE5", 213, 0 }, |
| { "EXCSAVE6", 214, 0 }, |
| { "EXCSAVE7", 215, 0 }, |
| { "EPS2", 194, 0 }, |
| { "EPS3", 195, 0 }, |
| { "EPS4", 196, 0 }, |
| { "EPS5", 197, 0 }, |
| { "EPS6", 198, 0 }, |
| { "EPS7", 199, 0 }, |
| { "EXCCAUSE", 232, 0 }, |
| { "DEPC", 192, 0 }, |
| { "EXCVADDR", 238, 0 }, |
| { "WINDOWBASE", 72, 0 }, |
| { "WINDOWSTART", 73, 0 }, |
| { "SAR", 3, 0 }, |
| { "LITBASE", 5, 0 }, |
| { "PS", 230, 0 }, |
| { "MISC0", 244, 0 }, |
| { "MISC1", 245, 0 }, |
| { "MISC2", 246, 0 }, |
| { "MISC3", 247, 0 }, |
| { "INTENABLE", 228, 0 }, |
| { "DBREAKA0", 144, 0 }, |
| { "DBREAKC0", 160, 0 }, |
| { "DBREAKA1", 145, 0 }, |
| { "DBREAKC1", 161, 0 }, |
| { "IBREAKA0", 128, 0 }, |
| { "IBREAKA1", 129, 0 }, |
| { "IBREAKENABLE", 96, 0 }, |
| { "ICOUNTLEVEL", 237, 0 }, |
| { "DEBUGCAUSE", 233, 0 }, |
| { "RASID", 90, 0 }, |
| { "ITLBCFG", 91, 0 }, |
| { "DTLBCFG", 92, 0 }, |
| { "CPENABLE", 224, 0 }, |
| { "SCOMPARE1", 12, 0 }, |
| { "THREADPTR", 231, 1 }, |
| { "FCR", 232, 1 }, |
| { "FSR", 233, 1 } |
| }; |
| |
| #define NUM_SYSREGS 74 |
| #define MAX_SPECIAL_REG 247 |
| #define MAX_USER_REG 233 |
| |
| |
| /* Processor states. */ |
| |
| static xtensa_state_internal states[] = { |
| { "LCOUNT", 32, 0 }, |
| { "PC", 32, 0 }, |
| { "ICOUNT", 32, 0 }, |
| { "DDR", 32, 0 }, |
| { "INTERRUPT", 32, 0 }, |
| { "CCOUNT", 32, 0 }, |
| { "XTSYNC", 1, 0 }, |
| { "VECBASE", 22, 0 }, |
| { "EPC1", 32, 0 }, |
| { "EPC2", 32, 0 }, |
| { "EPC3", 32, 0 }, |
| { "EPC4", 32, 0 }, |
| { "EPC5", 32, 0 }, |
| { "EPC6", 32, 0 }, |
| { "EPC7", 32, 0 }, |
| { "EXCSAVE1", 32, 0 }, |
| { "EXCSAVE2", 32, 0 }, |
| { "EXCSAVE3", 32, 0 }, |
| { "EXCSAVE4", 32, 0 }, |
| { "EXCSAVE5", 32, 0 }, |
| { "EXCSAVE6", 32, 0 }, |
| { "EXCSAVE7", 32, 0 }, |
| { "EPS2", 15, 0 }, |
| { "EPS3", 15, 0 }, |
| { "EPS4", 15, 0 }, |
| { "EPS5", 15, 0 }, |
| { "EPS6", 15, 0 }, |
| { "EPS7", 15, 0 }, |
| { "EXCCAUSE", 6, 0 }, |
| { "PSINTLEVEL", 4, 0 }, |
| { "PSUM", 1, 0 }, |
| { "PSWOE", 1, 0 }, |
| { "PSRING", 2, 0 }, |
| { "PSEXCM", 1, 0 }, |
| { "DEPC", 32, 0 }, |
| { "EXCVADDR", 32, 0 }, |
| { "WindowBase", 4, 0 }, |
| { "WindowStart", 16, 0 }, |
| { "PSCALLINC", 2, 0 }, |
| { "PSOWB", 4, 0 }, |
| { "LBEG", 32, 0 }, |
| { "LEND", 32, 0 }, |
| { "SAR", 6, 0 }, |
| { "THREADPTR", 32, 0 }, |
| { "LITBADDR", 20, 0 }, |
| { "LITBEN", 1, 0 }, |
| { "MISC0", 32, 0 }, |
| { "MISC1", 32, 0 }, |
| { "MISC2", 32, 0 }, |
| { "MISC3", 32, 0 }, |
| { "ACC", 40, 0 }, |
| { "InOCDMode", 1, 0 }, |
| { "INTENABLE", 32, 0 }, |
| { "DBREAKA0", 32, 0 }, |
| { "DBREAKC0", 8, 0 }, |
| { "DBREAKA1", 32, 0 }, |
| { "DBREAKC1", 8, 0 }, |
| { "IBREAKA0", 32, 0 }, |
| { "IBREAKA1", 32, 0 }, |
| { "IBREAKENABLE", 2, 0 }, |
| { "ICOUNTLEVEL", 4, 0 }, |
| { "DEBUGCAUSE", 6, 0 }, |
| { "DBNUM", 4, 0 }, |
| { "CCOMPARE0", 32, 0 }, |
| { "CCOMPARE1", 32, 0 }, |
| { "CCOMPARE2", 32, 0 }, |
| { "ASID3", 8, 0 }, |
| { "ASID2", 8, 0 }, |
| { "ASID1", 8, 0 }, |
| { "INSTPGSZID4", 2, 0 }, |
| { "DATAPGSZID4", 2, 0 }, |
| { "PTBASE", 10, 0 }, |
| { "CPENABLE", 1, 0 }, |
| { "SCOMPARE1", 32, 0 }, |
| { "RoundMode", 2, 0 }, |
| { "InvalidEnable", 1, 0 }, |
| { "DivZeroEnable", 1, 0 }, |
| { "OverflowEnable", 1, 0 }, |
| { "UnderflowEnable", 1, 0 }, |
| { "InexactEnable", 1, 0 }, |
| { "InvalidFlag", 1, 0 }, |
| { "DivZeroFlag", 1, 0 }, |
| { "OverflowFlag", 1, 0 }, |
| { "UnderflowFlag", 1, 0 }, |
| { "InexactFlag", 1, 0 }, |
| { "FPreserved20", 20, 0 }, |
| { "FPreserved20a", 20, 0 }, |
| { "FPreserved5", 5, 0 }, |
| { "FPreserved7", 7, 0 } |
| }; |
| |
| #define NUM_STATES 89 |
| |
| /* Macros for xtensa_state numbers (for use in iclasses because the |
| state numbers are not available when the iclass table is generated). */ |
| |
| #define STATE_LCOUNT 0 |
| #define STATE_PC 1 |
| #define STATE_ICOUNT 2 |
| #define STATE_DDR 3 |
| #define STATE_INTERRUPT 4 |
| #define STATE_CCOUNT 5 |
| #define STATE_XTSYNC 6 |
| #define STATE_VECBASE 7 |
| #define STATE_EPC1 8 |
| #define STATE_EPC2 9 |
| #define STATE_EPC3 10 |
| #define STATE_EPC4 11 |
| #define STATE_EPC5 12 |
| #define STATE_EPC6 13 |
| #define STATE_EPC7 14 |
| #define STATE_EXCSAVE1 15 |
| #define STATE_EXCSAVE2 16 |
| #define STATE_EXCSAVE3 17 |
| #define STATE_EXCSAVE4 18 |
| #define STATE_EXCSAVE5 19 |
| #define STATE_EXCSAVE6 20 |
| #define STATE_EXCSAVE7 21 |
| #define STATE_EPS2 22 |
| #define STATE_EPS3 23 |
| #define STATE_EPS4 24 |
| #define STATE_EPS5 25 |
| #define STATE_EPS6 26 |
| #define STATE_EPS7 27 |
| #define STATE_EXCCAUSE 28 |
| #define STATE_PSINTLEVEL 29 |
| #define STATE_PSUM 30 |
| #define STATE_PSWOE 31 |
| #define STATE_PSRING 32 |
| #define STATE_PSEXCM 33 |
| #define STATE_DEPC 34 |
| #define STATE_EXCVADDR 35 |
| #define STATE_WindowBase 36 |
| #define STATE_WindowStart 37 |
| #define STATE_PSCALLINC 38 |
| #define STATE_PSOWB 39 |
| #define STATE_LBEG 40 |
| #define STATE_LEND 41 |
| #define STATE_SAR 42 |
| #define STATE_THREADPTR 43 |
| #define STATE_LITBADDR 44 |
| #define STATE_LITBEN 45 |
| #define STATE_MISC0 46 |
| #define STATE_MISC1 47 |
| #define STATE_MISC2 48 |
| #define STATE_MISC3 49 |
| #define STATE_ACC 50 |
| #define STATE_InOCDMode 51 |
| #define STATE_INTENABLE 52 |
| #define STATE_DBREAKA0 53 |
| #define STATE_DBREAKC0 54 |
| #define STATE_DBREAKA1 55 |
| #define STATE_DBREAKC1 56 |
| #define STATE_IBREAKA0 57 |
| #define STATE_IBREAKA1 58 |
| #define STATE_IBREAKENABLE 59 |
| #define STATE_ICOUNTLEVEL 60 |
| #define STATE_DEBUGCAUSE 61 |
| #define STATE_DBNUM 62 |
| #define STATE_CCOMPARE0 63 |
| #define STATE_CCOMPARE1 64 |
| #define STATE_CCOMPARE2 65 |
| #define STATE_ASID3 66 |
| #define STATE_ASID2 67 |
| #define STATE_ASID1 68 |
| #define STATE_INSTPGSZID4 69 |
| #define STATE_DATAPGSZID4 70 |
| #define STATE_PTBASE 71 |
| #define STATE_CPENABLE 72 |
| #define STATE_SCOMPARE1 73 |
| #define STATE_RoundMode 74 |
| #define STATE_InvalidEnable 75 |
| #define STATE_DivZeroEnable 76 |
| #define STATE_OverflowEnable 77 |
| #define STATE_UnderflowEnable 78 |
| #define STATE_InexactEnable 79 |
| #define STATE_InvalidFlag 80 |
| #define STATE_DivZeroFlag 81 |
| #define STATE_OverflowFlag 82 |
| #define STATE_UnderflowFlag 83 |
| #define STATE_InexactFlag 84 |
| #define STATE_FPreserved20 85 |
| #define STATE_FPreserved20a 86 |
| #define STATE_FPreserved5 87 |
| #define STATE_FPreserved7 88 |
| |
| |
| /* Field definitions. */ |
| |
| static unsigned |
| Field_t_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_t_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_t_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = ((insn[0] >> 4) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_t_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_t_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_t_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_t_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = insn[0] & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_t_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf) | (tie_t << 0); |
| } |
| |
| static unsigned |
| Field_t_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = insn[0] & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_t_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf) | (tie_t << 0); |
| } |
| |
| static unsigned |
| Field_t_Slot_xt_flix64_slot2_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = insn[0] & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_t_Slot_xt_flix64_slot2_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf) | (tie_t << 0); |
| } |
| |
| static unsigned |
| Field_t_Slot_xt_flix64_slot3_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = insn[0] & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_t_Slot_xt_flix64_slot3_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf) | (tie_t << 0); |
| } |
| |
| static unsigned |
| Field_bbi4_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_bbi4_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x1000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_bbi_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 1; |
| tie_t = (tie_t << 4) | ((insn[0] >> 4) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_bbi_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| tie_t = (val >> 4) & 1; |
| insn[0] = (insn[0] & ~0x1000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_bbi_Slot_xt_flix64_slot3_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 26) & 1; |
| tie_t = (tie_t << 4) | (insn[0] & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_bbi_Slot_xt_flix64_slot3_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf) | (tie_t << 0); |
| tie_t = (val >> 4) & 1; |
| insn[0] = (insn[0] & ~0x4000000) | (tie_t << 26); |
| } |
| |
| static unsigned |
| Field_imm12_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xfff; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm12_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xfff; |
| insn[0] = (insn[0] & ~0xfff000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_imm8_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 16) & 0xff; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm8_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xff; |
| insn[0] = (insn[0] & ~0xff0000) | (tie_t << 16); |
| } |
| |
| static unsigned |
| Field_imm8_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xff; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm8_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xff; |
| insn[0] = (insn[0] & ~0xff000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_imm8_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| tie_t = (tie_t << 4) | ((insn[0] >> 4) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_imm8_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| tie_t = (val >> 4) & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_s_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 8) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_s_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| } |
| |
| static unsigned |
| Field_s_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 8) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_s_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| } |
| |
| static unsigned |
| Field_s_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 8) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_s_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| } |
| |
| static unsigned |
| Field_s_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_s_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_s_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 8) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_s_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| } |
| |
| static unsigned |
| Field_s_Slot_xt_flix64_slot2_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 8) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_s_Slot_xt_flix64_slot2_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| } |
| |
| static unsigned |
| Field_s_Slot_xt_flix64_slot3_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_s_Slot_xt_flix64_slot3_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_imm12b_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 8) & 0xf; |
| tie_t = (tie_t << 8) | ((insn[0] >> 16) & 0xff); |
| return tie_t; |
| } |
| |
| static void |
| Field_imm12b_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xff; |
| insn[0] = (insn[0] & ~0xff0000) | (tie_t << 16); |
| tie_t = (val >> 8) & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| } |
| |
| static unsigned |
| Field_imm12b_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 0xf; |
| tie_t = (tie_t << 8) | ((insn[0] >> 12) & 0xff); |
| return tie_t; |
| } |
| |
| static void |
| Field_imm12b_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xff; |
| insn[0] = (insn[0] & ~0xff000) | (tie_t << 12); |
| tie_t = (val >> 8) & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_imm12b_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 0xfff; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm12b_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xfff; |
| insn[0] = (insn[0] & ~0xfff0) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_imm16_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 8) & 0xffff; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm16_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xffff; |
| insn[0] = (insn[0] & ~0xffff00) | (tie_t << 8); |
| } |
| |
| static unsigned |
| Field_imm16_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 0xffff; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm16_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xffff; |
| insn[0] = (insn[0] & ~0xffff0) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_m_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 6) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_m_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0xc0) | (tie_t << 6); |
| } |
| |
| static unsigned |
| Field_m_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 2) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_m_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0xc) | (tie_t << 2); |
| } |
| |
| static unsigned |
| Field_n_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_n_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0x30) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_n_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = insn[0] & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_n_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0x3) | (tie_t << 0); |
| } |
| |
| static unsigned |
| Field_offset_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 6) & 0x3ffff; |
| return tie_t; |
| } |
| |
| static void |
| Field_offset_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0x3ffff; |
| insn[0] = (insn[0] & ~0xffffc0) | (tie_t << 6); |
| } |
| |
| static unsigned |
| Field_offset_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = insn[0] & 0x3ffff; |
| return tie_t; |
| } |
| |
| static void |
| Field_offset_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0x3ffff; |
| insn[0] = (insn[0] & ~0x3ffff) | (tie_t << 0); |
| } |
| |
| static unsigned |
| Field_op0_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = insn[0] & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_op0_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf) | (tie_t << 0); |
| } |
| |
| static unsigned |
| Field_op0_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = insn[0] & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_op0_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf) | (tie_t << 0); |
| } |
| |
| static unsigned |
| Field_op0_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = insn[0] & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_op0_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf) | (tie_t << 0); |
| } |
| |
| static unsigned |
| Field_op1_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 16) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_op1_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0000) | (tie_t << 16); |
| } |
| |
| static unsigned |
| Field_op1_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_op1_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_op2_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 20) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_op2_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00000) | (tie_t << 20); |
| } |
| |
| static unsigned |
| Field_op2_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 16) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_op2_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0000) | (tie_t << 16); |
| } |
| |
| static unsigned |
| Field_op2_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 8) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_op2_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| } |
| |
| static unsigned |
| Field_r_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_r_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_r_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_r_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_r_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_r_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_r_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 8) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_r_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| } |
| |
| static unsigned |
| Field_r_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_r_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_r_Slot_xt_flix64_slot2_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_r_Slot_xt_flix64_slot2_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_r_Slot_xt_flix64_slot3_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = insn[0] & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_r_Slot_xt_flix64_slot3_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf) | (tie_t << 0); |
| } |
| |
| static unsigned |
| Field_sa4_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 20) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_sa4_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x100000) | (tie_t << 20); |
| } |
| |
| static unsigned |
| Field_sae4_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 16) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_sae4_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x10000) | (tie_t << 16); |
| } |
| |
| static unsigned |
| Field_sae4_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] << 12) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_sae4_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x1000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_sae_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 16) & 1; |
| tie_t = (tie_t << 4) | ((insn[0] >> 8) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_sae_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| tie_t = (val >> 4) & 1; |
| insn[0] = (insn[0] & ~0x10000) | (tie_t << 16); |
| } |
| |
| static unsigned |
| Field_sae_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 1; |
| tie_t = (tie_t << 4) | ((insn[0] >> 4) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_sae_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| tie_t = (val >> 4) & 1; |
| insn[0] = (insn[0] & ~0x1000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_sae_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0x1f; |
| return tie_t; |
| } |
| |
| static void |
| Field_sae_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0x1f; |
| insn[0] = (insn[0] & ~0x1f000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_sal_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 20) & 1; |
| tie_t = (tie_t << 4) | ((insn[0] >> 4) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_sal_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| tie_t = (val >> 4) & 1; |
| insn[0] = (insn[0] & ~0x100000) | (tie_t << 20); |
| } |
| |
| static unsigned |
| Field_sal_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 16) & 1; |
| tie_t = (tie_t << 4) | (insn[0] & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_sal_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf) | (tie_t << 0); |
| tie_t = (val >> 4) & 1; |
| insn[0] = (insn[0] & ~0x10000) | (tie_t << 16); |
| } |
| |
| static unsigned |
| Field_sal_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 1; |
| tie_t = (tie_t << 4) | (insn[0] & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_sal_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf) | (tie_t << 0); |
| tie_t = (val >> 4) & 1; |
| insn[0] = (insn[0] & ~0x1000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_sargt_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 20) & 1; |
| tie_t = (tie_t << 4) | ((insn[0] >> 8) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_sargt_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| tie_t = (val >> 4) & 1; |
| insn[0] = (insn[0] & ~0x100000) | (tie_t << 20); |
| } |
| |
| static unsigned |
| Field_sargt_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 16) & 1; |
| tie_t = (tie_t << 4) | ((insn[0] >> 4) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_sargt_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| tie_t = (val >> 4) & 1; |
| insn[0] = (insn[0] & ~0x10000) | (tie_t << 16); |
| } |
| |
| static unsigned |
| Field_sargt_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 8) & 0x1f; |
| return tie_t; |
| } |
| |
| static void |
| Field_sargt_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0x1f; |
| insn[0] = (insn[0] & ~0x1f00) | (tie_t << 8); |
| } |
| |
| static unsigned |
| Field_sargt_Slot_xt_flix64_slot2_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 8) & 0x1f; |
| return tie_t; |
| } |
| |
| static void |
| Field_sargt_Slot_xt_flix64_slot2_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0x1f; |
| insn[0] = (insn[0] & ~0x1f00) | (tie_t << 8); |
| } |
| |
| static unsigned |
| Field_sas4_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_sas4_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x10) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_sas_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 1; |
| tie_t = (tie_t << 4) | ((insn[0] >> 8) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_sas_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| tie_t = (val >> 4) & 1; |
| insn[0] = (insn[0] & ~0x10) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_sas_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = insn[0] & 1; |
| tie_t = (tie_t << 4) | ((insn[0] >> 4) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_sas_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| tie_t = (val >> 4) & 1; |
| insn[0] = (insn[0] & ~0x1) | (tie_t << 0); |
| } |
| |
| static unsigned |
| Field_sr_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| tie_t = (tie_t << 4) | ((insn[0] >> 8) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_sr_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| tie_t = (val >> 4) & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_sr_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| tie_t = (tie_t << 4) | ((insn[0] >> 8) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_sr_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| tie_t = (val >> 4) & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_sr_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| tie_t = (tie_t << 4) | ((insn[0] >> 8) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_sr_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| tie_t = (val >> 4) & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_st_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 8) & 0xf; |
| tie_t = (tie_t << 4) | ((insn[0] >> 4) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_st_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| tie_t = (val >> 4) & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| } |
| |
| static unsigned |
| Field_st_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 8) & 0xf; |
| tie_t = (tie_t << 4) | ((insn[0] >> 4) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_st_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| tie_t = (val >> 4) & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| } |
| |
| static unsigned |
| Field_st_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 8) & 0xf; |
| tie_t = (tie_t << 4) | ((insn[0] >> 4) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_st_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf0) | (tie_t << 4); |
| tie_t = (val >> 4) & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| } |
| |
| static unsigned |
| Field_thi3_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 5) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_thi3_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0xe0) | (tie_t << 5); |
| } |
| |
| static unsigned |
| Field_thi3_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 1) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_thi3_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0xe) | (tie_t << 1); |
| } |
| |
| static unsigned |
| Field_imm4_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm4_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_imm4_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm4_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_imm4_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm4_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_mn_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 6) & 3; |
| tie_t = (tie_t << 2) | ((insn[0] >> 4) & 3); |
| return tie_t; |
| } |
| |
| static void |
| Field_mn_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0x30) | (tie_t << 4); |
| tie_t = (val >> 2) & 3; |
| insn[0] = (insn[0] & ~0xc0) | (tie_t << 6); |
| } |
| |
| static unsigned |
| Field_i_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 7) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_i_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x80) | (tie_t << 7); |
| } |
| |
| static unsigned |
| Field_i_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 7) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_i_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x80) | (tie_t << 7); |
| } |
| |
| static unsigned |
| Field_imm6lo_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm6lo_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_imm6lo_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm6lo_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_imm6hi_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm6hi_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0x30) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_imm6hi_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm6hi_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0x30) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_imm7lo_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm7lo_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_imm7lo_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm7lo_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_imm7hi_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm7hi_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0x70) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_imm7hi_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm7hi_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0x70) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_z_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 6) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_z_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x40) | (tie_t << 6); |
| } |
| |
| static unsigned |
| Field_z_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 6) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_z_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x40) | (tie_t << 6); |
| } |
| |
| static unsigned |
| Field_imm6_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 3; |
| tie_t = (tie_t << 4) | ((insn[0] >> 12) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_imm6_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| tie_t = (val >> 4) & 3; |
| insn[0] = (insn[0] & ~0x30) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_imm6_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 3; |
| tie_t = (tie_t << 4) | ((insn[0] >> 12) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_imm6_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| tie_t = (val >> 4) & 3; |
| insn[0] = (insn[0] & ~0x30) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_imm7_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 7; |
| tie_t = (tie_t << 4) | ((insn[0] >> 12) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_imm7_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| tie_t = (val >> 4) & 7; |
| insn[0] = (insn[0] & ~0x70) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_imm7_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 7; |
| tie_t = (tie_t << 4) | ((insn[0] >> 12) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_imm7_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| tie_t = (val >> 4) & 7; |
| insn[0] = (insn[0] & ~0x70) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_imm7_Slot_xt_flix64_slot2_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = insn[0] & 0x7f; |
| return tie_t; |
| } |
| |
| static void |
| Field_imm7_Slot_xt_flix64_slot2_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t; |
| tie_t = val & 0x7f; |
| insn[0] = (insn[0] & ~0x7f) | (tie_t << 0); |
| } |
| |
| static unsigned |
| Field_r3_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 15) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_r3_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x8000) | (tie_t << 15); |
| } |
| |
| static unsigned |
| Field_rbit2_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 14) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_rbit2_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x4000) | (tie_t << 14); |
| } |
| |
| static unsigned |
| Field_rhi_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 14) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_rhi_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0xc000) | (tie_t << 14); |
| } |
| |
| static unsigned |
| Field_t3_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 7) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_t3_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x80) | (tie_t << 7); |
| } |
| |
| static unsigned |
| Field_tbit2_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 6) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_tbit2_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x40) | (tie_t << 6); |
| } |
| |
| static unsigned |
| Field_tlo_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 4) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_tlo_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0x30) | (tie_t << 4); |
| } |
| |
| static unsigned |
| Field_w_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_w_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0x3000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_y_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 6) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_y_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x40) | (tie_t << 6); |
| } |
| |
| static unsigned |
| Field_x_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 14) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_x_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x4000) | (tie_t << 14); |
| } |
| |
| static unsigned |
| Field_t2_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 5) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_t2_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0xe0) | (tie_t << 5); |
| } |
| |
| static unsigned |
| Field_t2_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 5) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_t2_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0xe0) | (tie_t << 5); |
| } |
| |
| static unsigned |
| Field_t2_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 5) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_t2_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0xe0) | (tie_t << 5); |
| } |
| |
| static unsigned |
| Field_s2_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 9) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_s2_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0xe00) | (tie_t << 9); |
| } |
| |
| static unsigned |
| Field_s2_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 9) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_s2_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0xe00) | (tie_t << 9); |
| } |
| |
| static unsigned |
| Field_s2_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 9) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_s2_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0xe00) | (tie_t << 9); |
| } |
| |
| static unsigned |
| Field_r2_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 13) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_r2_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0xe000) | (tie_t << 13); |
| } |
| |
| static unsigned |
| Field_r2_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 13) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_r2_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0xe000) | (tie_t << 13); |
| } |
| |
| static unsigned |
| Field_r2_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 13) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_r2_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0xe000) | (tie_t << 13); |
| } |
| |
| static unsigned |
| Field_t4_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 6) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_t4_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0xc0) | (tie_t << 6); |
| } |
| |
| static unsigned |
| Field_t4_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 6) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_t4_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0xc0) | (tie_t << 6); |
| } |
| |
| static unsigned |
| Field_t4_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 6) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_t4_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0xc0) | (tie_t << 6); |
| } |
| |
| static unsigned |
| Field_s4_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 10) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_s4_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0xc00) | (tie_t << 10); |
| } |
| |
| static unsigned |
| Field_s4_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 10) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_s4_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0xc00) | (tie_t << 10); |
| } |
| |
| static unsigned |
| Field_s4_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 10) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_s4_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0xc00) | (tie_t << 10); |
| } |
| |
| static unsigned |
| Field_r4_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 14) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_r4_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0xc000) | (tie_t << 14); |
| } |
| |
| static unsigned |
| Field_r4_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 14) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_r4_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0xc000) | (tie_t << 14); |
| } |
| |
| static unsigned |
| Field_r4_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 14) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_r4_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0xc000) | (tie_t << 14); |
| } |
| |
| static unsigned |
| Field_t8_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 7) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_t8_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x80) | (tie_t << 7); |
| } |
| |
| static unsigned |
| Field_t8_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 7) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_t8_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x80) | (tie_t << 7); |
| } |
| |
| static unsigned |
| Field_t8_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 7) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_t8_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x80) | (tie_t << 7); |
| } |
| |
| static unsigned |
| Field_s8_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 11) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_s8_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x800) | (tie_t << 11); |
| } |
| |
| static unsigned |
| Field_s8_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 11) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_s8_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x800) | (tie_t << 11); |
| } |
| |
| static unsigned |
| Field_s8_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 11) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_s8_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x800) | (tie_t << 11); |
| } |
| |
| static unsigned |
| Field_r8_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 15) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_r8_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x8000) | (tie_t << 15); |
| } |
| |
| static unsigned |
| Field_r8_Slot_inst16a_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 15) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_r8_Slot_inst16a_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x8000) | (tie_t << 15); |
| } |
| |
| static unsigned |
| Field_r8_Slot_inst16b_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 15) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_r8_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x8000) | (tie_t << 15); |
| } |
| |
| static unsigned |
| Field_xt_wbr15_imm_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 9) & 0x7fff; |
| return tie_t; |
| } |
| |
| static void |
| Field_xt_wbr15_imm_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0x7fff; |
| insn[0] = (insn[0] & ~0xfffe00) | (tie_t << 9); |
| } |
| |
| static unsigned |
| Field_xt_wbr18_imm_Slot_inst_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 6) & 0x3ffff; |
| return tie_t; |
| } |
| |
| static void |
| Field_xt_wbr18_imm_Slot_inst_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0x3ffff; |
| insn[0] = (insn[0] & ~0xffffc0) | (tie_t << 6); |
| } |
| |
| static unsigned |
| Field_xt_wbr18_imm_Slot_xt_flix64_slot3_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 8) & 0x3ffff; |
| return tie_t; |
| } |
| |
| static void |
| Field_xt_wbr18_imm_Slot_xt_flix64_slot3_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0x3ffff; |
| insn[0] = (insn[0] & ~0x3ffff00) | (tie_t << 8); |
| } |
| |
| static unsigned |
| Field_op0_xt_flix64_slot0_s3_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 20) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_op0_xt_flix64_slot0_s3_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00000) | (tie_t << 20); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld7_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 13) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld7_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0xe000) | (tie_t << 13); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld8_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 13) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld8_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0xe000) | (tie_t << 13); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld9_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 17) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld9_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0xe0000) | (tie_t << 17); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld11_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 17) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld11_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0xe0000) | (tie_t << 17); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld49xt_flix64_slot0_Slot_xt_flix64_slot0_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 16) & 0xf; |
| tie_t = (tie_t << 4) | ((insn[0] >> 8) & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld49xt_flix64_slot0_Slot_xt_flix64_slot0_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf00) | (tie_t << 8); |
| tie_t = (val >> 4) & 0xf; |
| insn[0] = (insn[0] & ~0xf0000) | (tie_t << 16); |
| } |
| |
| static unsigned |
| Field_op0_s4_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 18) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_op0_s4_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0xc0000) | (tie_t << 18); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld16_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0xf; |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld16_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld19xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 17) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld19xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x20000) | (tie_t << 17); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld20xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 16) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld20xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0x30000) | (tie_t << 16); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld21xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 13) & 0x1f; |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld21xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0x1f; |
| insn[0] = (insn[0] & ~0x3e000) | (tie_t << 13); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld22xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0x3f; |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld22xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0x3f; |
| insn[0] = (insn[0] & ~0x3f000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld23xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0x3f; |
| tie_t = (tie_t << 3) | ((insn[0] >> 4) & 7); |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld23xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0x70) | (tie_t << 4); |
| tie_t = (val >> 3) & 0x3f; |
| insn[0] = (insn[0] & ~0x3f000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld25xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0x3f; |
| tie_t = (tie_t << 3) | ((insn[0] >> 4) & 7); |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld25xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0x70) | (tie_t << 4); |
| tie_t = (val >> 3) & 0x3f; |
| insn[0] = (insn[0] & ~0x3f000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld26xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0x3f; |
| tie_t = (tie_t << 2) | ((insn[0] >> 5) & 3); |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld26xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0x60) | (tie_t << 5); |
| tie_t = (val >> 2) & 0x3f; |
| insn[0] = (insn[0] & ~0x3f000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld28xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0x3f; |
| tie_t = (tie_t << 1) | ((insn[0] >> 6) & 1); |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld28xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x40) | (tie_t << 6); |
| tie_t = (val >> 1) & 0x3f; |
| insn[0] = (insn[0] & ~0x3f000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld30xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0x3f; |
| tie_t = (tie_t << 2) | ((insn[0] >> 8) & 3); |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld30xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0x300) | (tie_t << 8); |
| tie_t = (val >> 2) & 0x3f; |
| insn[0] = (insn[0] & ~0x3f000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld32xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0x3f; |
| tie_t = (tie_t << 2) | ((insn[0] >> 8) & 3); |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld32xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0x300) | (tie_t << 8); |
| tie_t = (val >> 2) & 0x3f; |
| insn[0] = (insn[0] & ~0x3f000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld33xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 0x3f; |
| tie_t = (tie_t << 1) | ((insn[0] >> 9) & 1); |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld33xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x200) | (tie_t << 9); |
| tie_t = (val >> 1) & 0x3f; |
| insn[0] = (insn[0] & ~0x3f000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld35xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 15) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld35xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~0x38000) | (tie_t << 15); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld51xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 7) & 1; |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld51xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x80) | (tie_t << 7); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld52xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 7) & 1; |
| tie_t = (tie_t << 4) | (insn[0] & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld52xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf) | (tie_t << 0); |
| tie_t = (val >> 4) & 1; |
| insn[0] = (insn[0] & ~0x80) | (tie_t << 7); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld53xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 10) & 3; |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld53xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 3; |
| insn[0] = (insn[0] & ~0xc00) | (tie_t << 10); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld54xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 7) & 0x1f; |
| tie_t = (tie_t << 6) | (insn[0] & 0x3f); |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld54xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0x3f; |
| insn[0] = (insn[0] & ~0x3f) | (tie_t << 0); |
| tie_t = (val >> 6) & 0x1f; |
| insn[0] = (insn[0] & ~0xf80) | (tie_t << 7); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld57xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 1; |
| tie_t = (tie_t << 4) | (insn[0] & 0xf); |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld57xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0xf; |
| insn[0] = (insn[0] & ~0xf) | (tie_t << 0); |
| tie_t = (val >> 4) & 1; |
| insn[0] = (insn[0] & ~0x1000) | (tie_t << 12); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld58xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 10) & 3; |
| tie_t = (tie_t << 1) | ((insn[0] >> 8) & 1); |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld58xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 1; |
| insn[0] = (insn[0] & ~0x100) | (tie_t << 8); |
| tie_t = (val >> 1) & 3; |
| insn[0] = (insn[0] & ~0xc00) | (tie_t << 10); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld60xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 7) & 1; |
| tie_t = (tie_t << 5) | (insn[0] & 0x1f); |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld60xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 0x1f; |
| insn[0] = (insn[0] & ~0x1f) | (tie_t << 0); |
| tie_t = (val >> 5) & 1; |
| insn[0] = (insn[0] & ~0x80) | (tie_t << 7); |
| } |
| |
| static unsigned |
| Field_combined3e2c5767_fld62xt_flix64_slot1_Slot_xt_flix64_slot1_get (const xtensa_insnbuf insn) |
| { |
| unsigned tie_t = (insn[0] >> 12) & 7; |
| return tie_t; |
| } |
| |
| static void |
| Field_combined3e2c5767_fld62xt_flix64_slot1_Slot_xt_flix64_slot1_set (xtensa_insnbuf insn, uint32 val) |
| { |
| uint32 tie_t = val & 7; |
| insn[0] = (insn[0] & ~
|