#include "insns/cvt_s_w.h"
break;
}
- if((insn.bits & 0xfff07fe0) == 0xd4000140)
+ if((insn.bits & 0xfff067e0) == 0xd40005e0)
{
- #include "insns/trunc_w_s.h"
+ #include "insns/cvtu_s_w_rm.h"
+ break;
+ }
+ if((insn.bits & 0xfff067e0) == 0xd4000500)
+ {
+ #include "insns/cvt_l_s_rm.h"
break;
}
if((insn.bits & 0xfe007fe0) == 0xd4000000)
#include "insns/add_s.h"
break;
}
+ if((insn.bits & 0xfff067e0) == 0xd40005a0)
+ {
+ #include "insns/cvtu_s_l_rm.h"
+ break;
+ }
if((insn.bits & 0xfe0fffe0) == 0xd4000b00)
{
#include "insns/mff_s.h"
#include "insns/sgninjn_s.h"
break;
}
- if((insn.bits & 0xfff07fe0) == 0xd4000100)
+ if((insn.bits & 0xfe0067e0) == 0xd4000440)
{
- #include "insns/trunc_l_s.h"
+ #include "insns/mul_s_rm.h"
break;
}
- if((insn.bits & 0xfff07fe0) == 0xd40001e0)
+ if((insn.bits & 0xfff067e0) == 0xd4000520)
{
- #include "insns/cvtu_s_w.h"
+ #include "insns/cvtu_l_s_rm.h"
break;
}
- if((insn.bits & 0xfff07fe0) == 0xd4000120)
+ if((insn.bits & 0xfff067e0) == 0xd40005c0)
{
- #include "insns/truncu_l_s.h"
+ #include "insns/cvt_s_w_rm.h"
+ break;
+ }
+ if((insn.bits & 0xfff07fe0) == 0xd40001e0)
+ {
+ #include "insns/cvtu_s_w.h"
break;
}
if((insn.bits & 0xfff07fe0) == 0xd40001a0)
#include "insns/cvtu_s_l.h"
break;
}
+ if((insn.bits & 0xfff067e0) == 0xd4000480)
+ {
+ #include "insns/sqrt_s_rm.h"
+ break;
+ }
+ if((insn.bits & 0xfff067e0) == 0xd4000660)
+ {
+ #include "insns/cvt_s_d_rm.h"
+ break;
+ }
+ if((insn.bits & 0xfe0067e0) == 0xd4000420)
+ {
+ #include "insns/sub_s_rm.h"
+ break;
+ }
+ if((insn.bits & 0xfff07fe0) == 0xd4000180)
+ {
+ #include "insns/cvt_s_l.h"
+ break;
+ }
+ if((insn.bits & 0xfe0067e0) == 0xd4000460)
+ {
+ #include "insns/div_s_rm.h"
+ break;
+ }
if((insn.bits & 0xfe007fe0) == 0xd4000020)
{
#include "insns/sub_s.h"
break;
}
+ if((insn.bits & 0xfff067e0) == 0xd4000580)
+ {
+ #include "insns/cvt_s_l_rm.h"
+ break;
+ }
if((insn.bits & 0xfff07fe0) == 0xd4000080)
{
#include "insns/sqrt_s.h"
#include "insns/c_lt_s.h"
break;
}
- if((insn.bits & 0xfe007fe0) == 0xd40000e0)
+ if((insn.bits & 0xfe0067e0) == 0xd4000400)
{
- #include "insns/sgnmul_s.h"
+ #include "insns/add_s_rm.h"
break;
}
- if((insn.bits & 0xfff07fe0) == 0xd4000180)
+ if((insn.bits & 0xfe007fe0) == 0xd40000e0)
{
- #include "insns/cvt_s_l.h"
+ #include "insns/sgnmul_s.h"
break;
}
if((insn.bits & 0xfe007fe0) == 0xd4000060)
#include "insns/div_s.h"
break;
}
- if((insn.bits & 0xfff07fe0) == 0xd4000660)
+ if((insn.bits & 0xfff07fe0) == 0xd4000260)
{
#include "insns/cvt_s_d.h"
break;
#include "insns/mul_s.h"
break;
}
- if((insn.bits & 0xfff07fe0) == 0xd4000160)
+ if((insn.bits & 0xfff067e0) == 0xd4000540)
+ {
+ #include "insns/cvt_w_s_rm.h"
+ break;
+ }
+ if((insn.bits & 0xfff067e0) == 0xd4000560)
{
- #include "insns/truncu_w_s.h"
+ #include "insns/cvtu_w_s_rm.h"
break;
}
#include "insns/unimp.h"
#include "insns/sgninj_d.h"
break;
}
+ if((insn.bits & 0xfff067e0) == 0xd4006580)
+ {
+ #include "insns/cvt_d_l_rm.h"
+ break;
+ }
if((insn.bits & 0xfe007fe0) == 0xd4006060)
{
#include "insns/div_d.h"
#include "insns/cvtu_d_l.h"
break;
}
- if((insn.bits & 0xfff07fe0) == 0xd4006140)
+ if((insn.bits & 0xfff067e0) == 0xd4006540)
{
- #include "insns/trunc_w_d.h"
+ #include "insns/cvt_w_d_rm.h"
break;
}
if((insn.bits & 0xfff07fe0) == 0xd40061e0)
#include "insns/sgnmul_d.h"
break;
}
+ if((insn.bits & 0xfff067e0) == 0xd4006560)
+ {
+ #include "insns/cvtu_w_d_rm.h"
+ break;
+ }
+ if((insn.bits & 0xfff067e0) == 0xd4006480)
+ {
+ #include "insns/sqrt_d_rm.h"
+ break;
+ }
if((insn.bits & 0xfe007fe0) == 0xd40060c0)
{
#include "insns/sgninjn_d.h"
break;
}
- if((insn.bits & 0xfe007fe0) == 0xd4006f80)
+ if((insn.bits & 0xfff067e0) == 0xd40065a0)
{
- #include "insns/mtflh_d.h"
+ #include "insns/cvtu_d_l_rm.h"
break;
}
- if((insn.bits & 0xfff07fe0) == 0xd4006600)
+ if((insn.bits & 0xfe0067e0) == 0xd4006400)
{
- #include "insns/cvt_d_s.h"
+ #include "insns/add_d_rm.h"
+ break;
+ }
+ if((insn.bits & 0xfff067e0) == 0xd4006500)
+ {
+ #include "insns/cvt_l_d_rm.h"
+ break;
+ }
+ if((insn.bits & 0xfe007fe0) == 0xd4006f80)
+ {
+ #include "insns/mtflh_d.h"
break;
}
- if((insn.bits & 0xfff07fe0) == 0xd4006100)
+ if((insn.bits & 0xfff067e0) == 0xd4006520)
{
- #include "insns/trunc_l_d.h"
+ #include "insns/cvtu_l_d_rm.h"
break;
}
- if((insn.bits & 0xfff07fe0) == 0xd4006120)
+ if((insn.bits & 0xfe0067e0) == 0xd4006440)
{
- #include "insns/truncu_l_d.h"
+ #include "insns/mul_d_rm.h"
break;
}
if((insn.bits & 0xfe007fe0) == 0xd4006020)
#include "insns/sqrt_d.h"
break;
}
+ if((insn.bits & 0xfe0067e0) == 0xd4006460)
+ {
+ #include "insns/div_d_rm.h"
+ break;
+ }
+ if((insn.bits & 0xfff07fe0) == 0xd4006200)
+ {
+ #include "insns/cvt_d_s.h"
+ break;
+ }
if((insn.bits & 0xfff07fe0) == 0xd40061c0)
{
#include "insns/cvt_d_w.h"
#include "insns/cvt_d_l.h"
break;
}
- if((insn.bits & 0xfff07fe0) == 0xd4006160)
- {
- #include "insns/truncu_w_d.h"
- break;
- }
if((insn.bits & 0xfe007fe0) == 0xd4006040)
{
#include "insns/mul_d.h"
#include "insns/c_lt_d.h"
break;
}
+ if((insn.bits & 0xfe0067e0) == 0xd4006420)
+ {
+ #include "insns/sub_d_rm.h"
+ break;
+ }
#include "insns/unimp.h"
}
default:
}
break;
}
- case 0x6b:
+ case 0x6c:
{
switch((insn.bits >> 0xc) & 0x7)
{
case 0x0:
{
- if((insn.bits & 0xfe007c00) == 0xd6000c00)
+ if((insn.bits & 0xfe006400) == 0xd8000400)
{
- #include "insns/nmadd_s.h"
+ #include "insns/madd_s_rm.h"
break;
}
- if((insn.bits & 0xfe007c00) == 0xd6000800)
+ if((insn.bits & 0xfe007c00) == 0xd8000000)
{
- #include "insns/nmsub_s.h"
+ #include "insns/madd_s.h"
break;
}
- if((insn.bits & 0xfe007c00) == 0xd6000400)
+ #include "insns/unimp.h"
+ }
+ case 0x6:
+ {
+ if((insn.bits & 0xfe006400) == 0xd8006400)
{
- #include "insns/msub_s.h"
+ #include "insns/madd_d_rm.h"
break;
}
- if((insn.bits & 0xfe007c00) == 0xd6000000)
+ if((insn.bits & 0xfe007c00) == 0xd8006000)
{
- #include "insns/madd_s.h"
+ #include "insns/madd_d.h"
+ break;
+ }
+ #include "insns/unimp.h"
+ }
+ default:
+ {
+ #include "insns/unimp.h"
+ }
+ }
+ break;
+ }
+ case 0x6d:
+ {
+ switch((insn.bits >> 0xc) & 0x7)
+ {
+ case 0x0:
+ {
+ if((insn.bits & 0xfe006400) == 0xda000400)
+ {
+ #include "insns/msub_s_rm.h"
+ break;
+ }
+ if((insn.bits & 0xfe007c00) == 0xda000000)
+ {
+ #include "insns/msub_s.h"
break;
}
#include "insns/unimp.h"
}
case 0x6:
{
- if((insn.bits & 0xfe007c00) == 0xd6006c00)
+ if((insn.bits & 0xfe007c00) == 0xda006000)
{
- #include "insns/nmadd_d.h"
+ #include "insns/msub_d.h"
break;
}
- if((insn.bits & 0xfe007c00) == 0xd6006800)
+ if((insn.bits & 0xfe006400) == 0xda006400)
+ {
+ #include "insns/msub_d_rm.h"
+ break;
+ }
+ #include "insns/unimp.h"
+ }
+ default:
+ {
+ #include "insns/unimp.h"
+ }
+ }
+ break;
+ }
+ case 0x6e:
+ {
+ switch((insn.bits >> 0xc) & 0x7)
+ {
+ case 0x0:
+ {
+ if((insn.bits & 0xfe007c00) == 0xdc000000)
+ {
+ #include "insns/nmsub_s.h"
+ break;
+ }
+ if((insn.bits & 0xfe006400) == 0xdc000400)
+ {
+ #include "insns/nmsub_s_rm.h"
+ break;
+ }
+ #include "insns/unimp.h"
+ }
+ case 0x6:
+ {
+ if((insn.bits & 0xfe007c00) == 0xdc006000)
{
#include "insns/nmsub_d.h"
break;
}
- if((insn.bits & 0xfe007c00) == 0xd6006400)
+ if((insn.bits & 0xfe006400) == 0xdc006400)
{
- #include "insns/msub_d.h"
+ #include "insns/nmsub_d_rm.h"
break;
}
- if((insn.bits & 0xfe007c00) == 0xd6006000)
+ #include "insns/unimp.h"
+ }
+ default:
+ {
+ #include "insns/unimp.h"
+ }
+ }
+ break;
+ }
+ case 0x6f:
+ {
+ switch((insn.bits >> 0xc) & 0x7)
+ {
+ case 0x0:
+ {
+ if((insn.bits & 0xfe007c00) == 0xde000000)
{
- #include "insns/madd_d.h"
+ #include "insns/nmadd_s.h"
+ break;
+ }
+ if((insn.bits & 0xfe006400) == 0xde000400)
+ {
+ #include "insns/nmadd_s_rm.h"
+ break;
+ }
+ #include "insns/unimp.h"
+ }
+ case 0x6:
+ {
+ if((insn.bits & 0xfe007c00) == 0xde006000)
+ {
+ #include "insns/nmadd_d.h"
+ break;
+ }
+ if((insn.bits & 0xfe006400) == 0xde006400)
+ {
+ #include "insns/nmadd_d_rm.h"
break;
}
#include "insns/unimp.h"