#include "sysconfig.h"
#include "sysdeps.h"
#include "config.h"
#include "options.h"
#include "machdep/m68k.h"
#include "memory.h"
#include "custom.h"
#include "readcpu.h"
#include "newcpu.h"
#include "compiler.h"
#include "cputbl.h"
void REGPARAM2 CPU_OP_NAME(_e7e8)(uae_u32 opcode) /* ROLW */
{
	uae_u32 srcreg = (opcode & 7);
{{	uaecptr dataa = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2);
{	uae_s16 data = get_word(dataa);
{	uae_u16 val = data;
	uae_u32 cmask = 0x8000;
	uae_u32 carry = val&cmask;
	val <<= 1;
	if(carry)  val |= 1;
{	uae_u32 scratch;
	x86_flag_testw ((uae_s16)(val));
CFLG = carry!=0;
	put_word(dataa,val);
}}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel1: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e7f0)(uae_u32 opcode) /* ROLW */
{
	uae_u32 srcreg = (opcode & 7);
{{m68k_incpc(2);
fill_prefetch_2();
{	uaecptr dataa = get_disp_ea(m68k_areg(regs, srcreg), nextiword());
{	uae_s16 data = get_word(dataa);
{	uae_u16 val = data;
	uae_u32 cmask = 0x8000;
	uae_u32 carry = val&cmask;
	val <<= 1;
	if(carry)  val |= 1;
{	uae_u32 scratch;
	x86_flag_testw ((uae_s16)(val));
CFLG = carry!=0;
	put_word(dataa,val);
}}}}}}endlabel2: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e7f8)(uae_u32 opcode) /* ROLW */
{
{{	uaecptr dataa = (uae_s32)(uae_s16)get_iword(2);
{	uae_s16 data = get_word(dataa);
{	uae_u16 val = data;
	uae_u32 cmask = 0x8000;
	uae_u32 carry = val&cmask;
	val <<= 1;
	if(carry)  val |= 1;
{	uae_u32 scratch;
	x86_flag_testw ((uae_s16)(val));
CFLG = carry!=0;
	put_word(dataa,val);
}}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel3: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e7f9)(uae_u32 opcode) /* ROLW */
{
{{	uaecptr dataa = get_ilong(2);
{	uae_s16 data = get_word(dataa);
{	uae_u16 val = data;
	uae_u32 cmask = 0x8000;
	uae_u32 carry = val&cmask;
	val <<= 1;
	if(carry)  val |= 1;
{	uae_u32 scratch;
	x86_flag_testw ((uae_s16)(val));
CFLG = carry!=0;
	put_word(dataa,val);
}}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel4: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e8c0)(uae_u32 opcode) /* BFTST */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f);
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel5: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e8d0)(uae_u32 opcode) /* BFTST */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel6: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e8e8)(uae_u32 opcode) /* BFTST */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel7: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e8f0)(uae_u32 opcode) /* BFTST */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{m68k_incpc(4);
fill_prefetch_0();
{	uaecptr dsta = get_disp_ea(m68k_areg(regs, dstreg), nextiword());
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
}}}}}endlabel8: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e8f8)(uae_u32 opcode) /* BFTST */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel9: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e8f9)(uae_u32 opcode) /* BFTST */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = get_ilong(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
}}}}m68k_incpc(8);
fill_prefetch_0();
endlabel10: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e8fa)(uae_u32 opcode) /* BFTST */
{
	uae_u32 dstreg = 2;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_getpc() + 4;
	dsta += (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel11: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e8fb)(uae_u32 opcode) /* BFTST */
{
	uae_u32 dstreg = 3;
{{	uae_s16 extra = get_iword(2);
{m68k_incpc(4);
fill_prefetch_0();
{	uaecptr tmppc = m68k_getpc();
	uaecptr dsta = get_disp_ea(tmppc, nextiword());
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
}}}}}endlabel12: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e9c0)(uae_u32 opcode) /* BFEXTU */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f);
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel13: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e9d0)(uae_u32 opcode) /* BFEXTU */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel14: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e9e8)(uae_u32 opcode) /* BFEXTU */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel15: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e9f0)(uae_u32 opcode) /* BFEXTU */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{m68k_incpc(4);
fill_prefetch_0();
{	uaecptr dsta = get_disp_ea(m68k_areg(regs, dstreg), nextiword());
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}}endlabel16: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e9f8)(uae_u32 opcode) /* BFEXTU */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel17: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e9f9)(uae_u32 opcode) /* BFEXTU */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = get_ilong(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}m68k_incpc(8);
fill_prefetch_0();
endlabel18: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e9fa)(uae_u32 opcode) /* BFEXTU */
{
	uae_u32 dstreg = 2;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_getpc() + 4;
	dsta += (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel19: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_e9fb)(uae_u32 opcode) /* BFEXTU */
{
	uae_u32 dstreg = 3;
{{	uae_s16 extra = get_iword(2);
{m68k_incpc(4);
fill_prefetch_0();
{	uaecptr tmppc = m68k_getpc();
	uaecptr dsta = get_disp_ea(tmppc, nextiword());
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}}endlabel20: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_eac0)(uae_u32 opcode) /* BFCHG */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f);
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = ~tmp;
	tmp <<= (32 - width);
	m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ((offset & 0x1f) == 0 ? 0 :
		(0xffffffff << (32 - (offset & 0x1f))))) |
		(tmp >> (offset & 0x1f)) |
		(((offset & 0x1f) + width) >= 32 ? 0 :
 (m68k_dreg(regs, dstreg) & ((uae_u32)0xffffffff >> ((offset & 0x1f) + width))));
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel21: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ead0)(uae_u32 opcode) /* BFCHG */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = ~tmp;
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel22: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_eae8)(uae_u32 opcode) /* BFCHG */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = ~tmp;
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel23: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_eaf0)(uae_u32 opcode) /* BFCHG */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{m68k_incpc(4);
fill_prefetch_0();
{	uaecptr dsta = get_disp_ea(m68k_areg(regs, dstreg), nextiword());
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = ~tmp;
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}}endlabel24: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_eaf8)(uae_u32 opcode) /* BFCHG */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = ~tmp;
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel25: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_eaf9)(uae_u32 opcode) /* BFCHG */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = get_ilong(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = ~tmp;
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(8);
fill_prefetch_0();
endlabel26: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ebc0)(uae_u32 opcode) /* BFEXTS */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f);
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	if (NFLG) tmp |= width == 32 ? 0 : (-1 << width);
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel27: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ebd0)(uae_u32 opcode) /* BFEXTS */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	if (NFLG) tmp |= width == 32 ? 0 : (-1 << width);
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel28: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ebe8)(uae_u32 opcode) /* BFEXTS */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	if (NFLG) tmp |= width == 32 ? 0 : (-1 << width);
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel29: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ebf0)(uae_u32 opcode) /* BFEXTS */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{m68k_incpc(4);
fill_prefetch_0();
{	uaecptr dsta = get_disp_ea(m68k_areg(regs, dstreg), nextiword());
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	if (NFLG) tmp |= width == 32 ? 0 : (-1 << width);
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}}endlabel30: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ebf8)(uae_u32 opcode) /* BFEXTS */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	if (NFLG) tmp |= width == 32 ? 0 : (-1 << width);
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel31: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ebf9)(uae_u32 opcode) /* BFEXTS */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = get_ilong(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	if (NFLG) tmp |= width == 32 ? 0 : (-1 << width);
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}m68k_incpc(8);
fill_prefetch_0();
endlabel32: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ebfa)(uae_u32 opcode) /* BFEXTS */
{
	uae_u32 dstreg = 2;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_getpc() + 4;
	dsta += (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	if (NFLG) tmp |= width == 32 ? 0 : (-1 << width);
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel33: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ebfb)(uae_u32 opcode) /* BFEXTS */
{
	uae_u32 dstreg = 3;
{{	uae_s16 extra = get_iword(2);
{m68k_incpc(4);
fill_prefetch_0();
{	uaecptr tmppc = m68k_getpc();
	uaecptr dsta = get_disp_ea(tmppc, nextiword());
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	if (NFLG) tmp |= width == 32 ? 0 : (-1 << width);
	m68k_dreg(regs, (extra >> 12) & 7) = tmp;
}}}}}endlabel34: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ecc0)(uae_u32 opcode) /* BFCLR */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f);
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = 0;
	tmp <<= (32 - width);
	m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ((offset & 0x1f) == 0 ? 0 :
		(0xffffffff << (32 - (offset & 0x1f))))) |
		(tmp >> (offset & 0x1f)) |
		(((offset & 0x1f) + width) >= 32 ? 0 :
 (m68k_dreg(regs, dstreg) & ((uae_u32)0xffffffff >> ((offset & 0x1f) + width))));
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel35: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ecd0)(uae_u32 opcode) /* BFCLR */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = 0;
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel36: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ece8)(uae_u32 opcode) /* BFCLR */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = 0;
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel37: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ecf0)(uae_u32 opcode) /* BFCLR */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{m68k_incpc(4);
fill_prefetch_0();
{	uaecptr dsta = get_disp_ea(m68k_areg(regs, dstreg), nextiword());
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = 0;
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}}endlabel38: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ecf8)(uae_u32 opcode) /* BFCLR */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = 0;
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel39: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ecf9)(uae_u32 opcode) /* BFCLR */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = get_ilong(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = 0;
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(8);
fill_prefetch_0();
endlabel40: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_edc0)(uae_u32 opcode) /* BFFFO */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f);
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	{ uae_u32 mask = 1 << (width-1);
	while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }}
	m68k_dreg(regs, (extra >> 12) & 7) = offset;
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel41: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_edd0)(uae_u32 opcode) /* BFFFO */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	{ uae_u32 mask = 1 << (width-1);
	while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }}
	m68k_dreg(regs, (extra >> 12) & 7) = offset;
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel42: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_ede8)(uae_u32 opcode) /* BFFFO */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	{ uae_u32 mask = 1 << (width-1);
	while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }}
	m68k_dreg(regs, (extra >> 12) & 7) = offset;
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel43: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_edf0)(uae_u32 opcode) /* BFFFO */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{m68k_incpc(4);
fill_prefetch_0();
{	uaecptr dsta = get_disp_ea(m68k_areg(regs, dstreg), nextiword());
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	{ uae_u32 mask = 1 << (width-1);
	while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }}
	m68k_dreg(regs, (extra >> 12) & 7) = offset;
}}}}}endlabel44: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_edf8)(uae_u32 opcode) /* BFFFO */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	{ uae_u32 mask = 1 << (width-1);
	while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }}
	m68k_dreg(regs, (extra >> 12) & 7) = offset;
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel45: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_edf9)(uae_u32 opcode) /* BFFFO */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = get_ilong(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	{ uae_u32 mask = 1 << (width-1);
	while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }}
	m68k_dreg(regs, (extra >> 12) & 7) = offset;
}}}}m68k_incpc(8);
fill_prefetch_0();
endlabel46: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_edfa)(uae_u32 opcode) /* BFFFO */
{
	uae_u32 dstreg = 2;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_getpc() + 4;
	dsta += (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	{ uae_u32 mask = 1 << (width-1);
	while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }}
	m68k_dreg(regs, (extra >> 12) & 7) = offset;
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel47: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_edfb)(uae_u32 opcode) /* BFFFO */
{
	uae_u32 dstreg = 3;
{{	uae_s16 extra = get_iword(2);
{m68k_incpc(4);
fill_prefetch_0();
{	uaecptr tmppc = m68k_getpc();
	uaecptr dsta = get_disp_ea(tmppc, nextiword());
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	{ uae_u32 mask = 1 << (width-1);
	while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }}
	m68k_dreg(regs, (extra >> 12) & 7) = offset;
}}}}}endlabel48: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_eec0)(uae_u32 opcode) /* BFSET */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f);
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = 0xffffffff;
	tmp <<= (32 - width);
	m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ((offset & 0x1f) == 0 ? 0 :
		(0xffffffff << (32 - (offset & 0x1f))))) |
		(tmp >> (offset & 0x1f)) |
		(((offset & 0x1f) + width) >= 32 ? 0 :
 (m68k_dreg(regs, dstreg) & ((uae_u32)0xffffffff >> ((offset & 0x1f) + width))));
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel49: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_eed0)(uae_u32 opcode) /* BFSET */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = 0xffffffff;
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel50: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_eee8)(uae_u32 opcode) /* BFSET */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = 0xffffffff;
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel51: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_eef0)(uae_u32 opcode) /* BFSET */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{m68k_incpc(4);
fill_prefetch_0();
{	uaecptr dsta = get_disp_ea(m68k_areg(regs, dstreg), nextiword());
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = 0xffffffff;
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}}endlabel52: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_eef8)(uae_u32 opcode) /* BFSET */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = 0xffffffff;
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel53: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_eef9)(uae_u32 opcode) /* BFSET */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = get_ilong(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = 0xffffffff;
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(8);
fill_prefetch_0();
endlabel54: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_efc0)(uae_u32 opcode) /* BFINS */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f);
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = m68k_dreg(regs, (extra >> 12) & 7);
	tmp <<= (32 - width);
	m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ((offset & 0x1f) == 0 ? 0 :
		(0xffffffff << (32 - (offset & 0x1f))))) |
		(tmp >> (offset & 0x1f)) |
		(((offset & 0x1f) + width) >= 32 ? 0 :
 (m68k_dreg(regs, dstreg) & ((uae_u32)0xffffffff >> ((offset & 0x1f) + width))));
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel55: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_efd0)(uae_u32 opcode) /* BFINS */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = m68k_dreg(regs, (extra >> 12) & 7);
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(4);
fill_prefetch_0();
endlabel56: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_efe8)(uae_u32 opcode) /* BFINS */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = m68k_dreg(regs, (extra >> 12) & 7);
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel57: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_eff0)(uae_u32 opcode) /* BFINS */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
{m68k_incpc(4);
fill_prefetch_0();
{	uaecptr dsta = get_disp_ea(m68k_areg(regs, dstreg), nextiword());
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = m68k_dreg(regs, (extra >> 12) & 7);
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}}endlabel58: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_eff8)(uae_u32 opcode) /* BFINS */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = (uae_s32)(uae_s16)get_iword(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = m68k_dreg(regs, (extra >> 12) & 7);
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(6);
fill_prefetch_0();
endlabel59: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_eff9)(uae_u32 opcode) /* BFINS */
{
{{	uae_s16 extra = get_iword(2);
{	uaecptr dsta = get_ilong(4);
{	uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f;
	int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1;
	uae_u32 tmp,bf0,bf1;
	dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0);
	bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff;
	tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7)));
	tmp >>= (32 - width);
	NFLG = tmp & (1 << (width-1)) ? 1 : 0;ZFLG = tmp == 0;VFLG = 0;CFLG = 0;
	tmp = m68k_dreg(regs, (extra >> 12) & 7);
	tmp <<= (32 - width);
	bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) |
		(tmp >> (offset & 7)) |
		(((offset & 7) + width) >= 32 ? 0 :
		 (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width))));
	put_long(dsta,bf0 );
	if (((offset & 7) + width) > 32) {
		bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) |
			(tmp << (8 - (offset & 7)));
		put_byte(dsta+4,bf1);
	}
}}}}m68k_incpc(8);
fill_prefetch_0();
endlabel60: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f200)(uae_u32 opcode) /* FPP */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fpp_opp(opcode,extra);
}}endlabel61: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f208)(uae_u32 opcode) /* FPP */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fpp_opp(opcode,extra);
}}endlabel62: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f210)(uae_u32 opcode) /* FPP */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fpp_opp(opcode,extra);
}}endlabel63: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f218)(uae_u32 opcode) /* FPP */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fpp_opp(opcode,extra);
}}endlabel64: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f220)(uae_u32 opcode) /* FPP */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fpp_opp(opcode,extra);
}}endlabel65: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f228)(uae_u32 opcode) /* FPP */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fpp_opp(opcode,extra);
}}endlabel66: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f230)(uae_u32 opcode) /* FPP */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fpp_opp(opcode,extra);
}}endlabel67: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f238)(uae_u32 opcode) /* FPP */
{
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fpp_opp(opcode,extra);
}}endlabel68: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f239)(uae_u32 opcode) /* FPP */
{
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fpp_opp(opcode,extra);
}}endlabel69: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f23a)(uae_u32 opcode) /* FPP */
{
	uae_u32 dstreg = 2;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fpp_opp(opcode,extra);
}}endlabel70: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f23b)(uae_u32 opcode) /* FPP */
{
	uae_u32 dstreg = 3;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fpp_opp(opcode,extra);
}}endlabel71: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f23c)(uae_u32 opcode) /* FPP */
{
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fpp_opp(opcode,extra);
}}endlabel72: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f240)(uae_u32 opcode) /* FScc */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fscc_opp(opcode,extra);
}}endlabel73: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f248)(uae_u32 opcode) /* FDBcc */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fdbcc_opp(opcode,extra);
}}endlabel74: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f250)(uae_u32 opcode) /* FScc */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fscc_opp(opcode,extra);
}}endlabel75: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f258)(uae_u32 opcode) /* FScc */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fscc_opp(opcode,extra);
}}endlabel76: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f260)(uae_u32 opcode) /* FScc */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fscc_opp(opcode,extra);
}}endlabel77: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f268)(uae_u32 opcode) /* FScc */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fscc_opp(opcode,extra);
}}endlabel78: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f270)(uae_u32 opcode) /* FScc */
{
	uae_u32 dstreg = opcode & 7;
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fscc_opp(opcode,extra);
}}endlabel79: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f278)(uae_u32 opcode) /* FScc */
{
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fscc_opp(opcode,extra);
}}endlabel80: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f279)(uae_u32 opcode) /* FScc */
{
{{	uae_s16 extra = get_iword(2);
m68k_incpc(4);
fill_prefetch_0();
	fscc_opp(opcode,extra);
}}endlabel81: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f27a)(uae_u32 opcode) /* FTRAPcc */
{
{m68k_incpc(2);
fill_prefetch_2();
{	uaecptr oldpc = m68k_getpc();
{	uae_s16 dummy = get_iword(0);
m68k_incpc(2);
fill_prefetch_2();
	ftrapcc_opp(opcode,oldpc);
}}}endlabel82: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f27b)(uae_u32 opcode) /* FTRAPcc */
{
{m68k_incpc(2);
fill_prefetch_2();
{	uaecptr oldpc = m68k_getpc();
{	uae_s32 dummy = get_ilong(0);
m68k_incpc(4);
fill_prefetch_0();
	ftrapcc_opp(opcode,oldpc);
}}}endlabel83: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f27c)(uae_u32 opcode) /* FTRAPcc */
{
{m68k_incpc(2);
fill_prefetch_2();
{	uaecptr oldpc = m68k_getpc();
	ftrapcc_opp(opcode,oldpc);
}}endlabel84: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f280)(uae_u32 opcode) /* FBcc */
{
	uae_u32 srcreg = (opcode & 63);
{m68k_incpc(2);
fill_prefetch_2();
{	uaecptr pc = m68k_getpc();
{	uae_s16 extra = get_iword(0);
m68k_incpc(2);
fill_prefetch_2();
	fbcc_opp(opcode,pc,extra);
}}}endlabel85: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f2c0)(uae_u32 opcode) /* FBcc */
{
	uae_u32 srcreg = (opcode & 63);
{m68k_incpc(2);
fill_prefetch_2();
{	uaecptr pc = m68k_getpc();
{	uae_s32 extra = get_ilong(0);
m68k_incpc(4);
fill_prefetch_0();
	fbcc_opp(opcode,pc,extra);
}}}endlabel86: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f310)(uae_u32 opcode) /* FSAVE */
{
	uae_u32 srcreg = (opcode & 7);
{if (!regs.s) { Exception(8,0); goto endlabel87; }
{m68k_incpc(2);
fill_prefetch_2();
	fsave_opp(opcode);
}}endlabel87: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f320)(uae_u32 opcode) /* FSAVE */
{
	uae_u32 srcreg = (opcode & 7);
{if (!regs.s) { Exception(8,0); goto endlabel88; }
{m68k_incpc(2);
fill_prefetch_2();
	fsave_opp(opcode);
}}endlabel88: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f328)(uae_u32 opcode) /* FSAVE */
{
	uae_u32 srcreg = (opcode & 7);
{if (!regs.s) { Exception(8,0); goto endlabel89; }
{m68k_incpc(2);
fill_prefetch_2();
	fsave_opp(opcode);
}}endlabel89: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f330)(uae_u32 opcode) /* FSAVE */
{
	uae_u32 srcreg = (opcode & 7);
{if (!regs.s) { Exception(8,0); goto endlabel90; }
{m68k_incpc(2);
fill_prefetch_2();
	fsave_opp(opcode);
}}endlabel90: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f338)(uae_u32 opcode) /* FSAVE */
{
{if (!regs.s) { Exception(8,0); goto endlabel91; }
{m68k_incpc(2);
fill_prefetch_2();
	fsave_opp(opcode);
}}endlabel91: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f339)(uae_u32 opcode) /* FSAVE */
{
{if (!regs.s) { Exception(8,0); goto endlabel92; }
{m68k_incpc(2);
fill_prefetch_2();
	fsave_opp(opcode);
}}endlabel92: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f350)(uae_u32 opcode) /* FRESTORE */
{
	uae_u32 srcreg = (opcode & 7);
{if (!regs.s) { Exception(8,0); goto endlabel93; }
{m68k_incpc(2);
fill_prefetch_2();
	frestore_opp(opcode);
}}endlabel93: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f358)(uae_u32 opcode) /* FRESTORE */
{
	uae_u32 srcreg = (opcode & 7);
{if (!regs.s) { Exception(8,0); goto endlabel94; }
{m68k_incpc(2);
fill_prefetch_2();
	frestore_opp(opcode);
}}endlabel94: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f368)(uae_u32 opcode) /* FRESTORE */
{
	uae_u32 srcreg = (opcode & 7);
{if (!regs.s) { Exception(8,0); goto endlabel95; }
{m68k_incpc(2);
fill_prefetch_2();
	frestore_opp(opcode);
}}endlabel95: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f370)(uae_u32 opcode) /* FRESTORE */
{
	uae_u32 srcreg = (opcode & 7);
{if (!regs.s) { Exception(8,0); goto endlabel96; }
{m68k_incpc(2);
fill_prefetch_2();
	frestore_opp(opcode);
}}endlabel96: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f378)(uae_u32 opcode) /* FRESTORE */
{
{if (!regs.s) { Exception(8,0); goto endlabel97; }
{m68k_incpc(2);
fill_prefetch_2();
	frestore_opp(opcode);
}}endlabel97: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f379)(uae_u32 opcode) /* FRESTORE */
{
{if (!regs.s) { Exception(8,0); goto endlabel98; }
{m68k_incpc(2);
fill_prefetch_2();
	frestore_opp(opcode);
}}endlabel98: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f37a)(uae_u32 opcode) /* FRESTORE */
{
{if (!regs.s) { Exception(8,0); goto endlabel99; }
{m68k_incpc(2);
fill_prefetch_2();
	frestore_opp(opcode);
}}endlabel99: (void)0;
}
void REGPARAM2 CPU_OP_NAME(_f37b)(uae_u32 opcode) /* FRESTORE */
{
{if (!regs.s) { Exception(8,0); goto endlabel100; }
{m68k_incpc(2);
fill_prefetch_2();
	frestore_opp(opcode);
}}endlabel100: (void)0;
}
