blob: a531d39ac1c9b4cea714b0d4b2348a509d78b4ff [file] [log] [blame]
/* 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] & ~