{
if (((word >> 28) & 0x1) == 0)
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 10) & 0x1) == 0)
{
- if (((word >> 10) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 12) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
}
}
else
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx001111xxxxxxxx1100x0xxxxxxxxxx
+ sqdmulh. */
+ return 109;
+ }
+ else
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0101111xxxxxxxx1100x0xxxxxxxxxx
+ fmlsl2. */
+ return 2035;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1101111xxxxxxxx1100x0xxxxxxxxxx
+ fmlsl2. */
+ return 2039;
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
}
}
}
+ else
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx001111xxxxxxxx1110x0xxxxxxxxxx
+ sdot. */
+ return 2006;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101111xxxxxxxx1110x0xxxxxxxxxx
+ udot. */
+ return 2005;
+ }
+ }
}
- else
+ }
+ else
+ {
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 23) & 0x1) == 0)
{
}
}
else
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx001111xxxxxxxx1101x0xxxxxxxxxx
+ sqrdmulh. */
+ return 110;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101111xxxxxxxx1101x0xxxxxxxxxx
+ sqrdmlah. */
+ return 127;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 30) & 0x1) == 0)
{
return 108;
}
}
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx01111xxxxxxxx1111x0xxxxxxxxxx
+ sqrdmlsh. */
+ return 128;
+ }
}
}
- else
+ }
+ else
+ {
+ if (((word >> 11) & 0x1) == 0)
{
- if (((word >> 11) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 12) & 0x1) == 0)
{
}
else
{
- if (((word >> 12) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0001111xxxxxxxx10x011xxxxxxxxxx
- rshrn. */
- return 376;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1001111xxxxxxxx10x011xxxxxxxxxx
- rshrn2. */
- return 377;
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx001111xxxxxxxx110x01xxxxxxxxxx
+ movi. */
+ return 135;
}
else
{
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0101111xxxxxxxx10x011xxxxxxxxxx
- sqrshrun. */
- return 400;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1101111xxxxxxxx10x011xxxxxxxxxx
- sqrshrun2. */
- return 401;
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101111xxxxxxxx110x01xxxxxxxxxx
+ mvni. */
+ return 143;
}
}
else
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 29) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0001111xxxxxxxx10x111xxxxxxxxxx
- sqrshrn. */
- return 380;
+ xx001111xxxxxxxx111001xxxxxxxxxx
+ movi. */
+ return 136;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1001111xxxxxxxx10x111xxxxxxxxxx
- sqrshrn2. */
- return 381;
+ xx101111xxxxxxxx111001xxxxxxxxxx
+ movi. */
+ return 144;
}
}
else
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 29) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0101111xxxxxxxx10x111xxxxxxxxxx
- uqrshrn. */
- return 404;
+ xx001111xxxxxxxx111101xxxxxxxxxx
+ fmov. */
+ return 137;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1101111xxxxxxxx10x111xxxxxxxxxx
- uqrshrn2. */
- return 405;
+ xx101111xxxxxxxx111101xxxxxxxxxx
+ fmov. */
+ return 146;
}
}
}
}
}
- }
- else
- {
- if (((word >> 13) & 0x1) == 0)
+ else
{
- if (((word >> 10) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 12) & 0x1) == 0)
+ if (((word >> 29) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001111xxxxxxxx1100x0xxxxxxxxxx
- sqdmulh. */
- return 109;
+ x0001111xxxxxxxx1xx011xxxxxxxxxx
+ rshrn. */
+ return 376;
}
else
{
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0101111xxxxxxxx1100x0xxxxxxxxxx
- fmlsl2. */
- return 2035;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1101111xxxxxxxx1100x0xxxxxxxxxx
- fmlsl2. */
- return 2039;
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1001111xxxxxxxx1xx011xxxxxxxxxx
+ rshrn2. */
+ return 377;
}
}
else
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001111xxxxxxxx1101x0xxxxxxxxxx
- sqrdmulh. */
- return 110;
+ x0101111xxxxxxxx1xx011xxxxxxxxxx
+ sqrshrun. */
+ return 400;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101111xxxxxxxx1101x0xxxxxxxxxx
- sqrdmlah. */
- return 127;
+ x1101111xxxxxxxx1xx011xxxxxxxxxx
+ sqrshrun2. */
+ return 401;
}
}
}
else
{
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001111xxxxxxxx110xx1xxxxxxxxxx
- movi. */
- return 135;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101111xxxxxxxx110xx1xxxxxxxxxx
- mvni. */
- return 143;
- }
- }
- }
- else
- {
- if (((word >> 12) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001111xxxxxxxx1110xxxxxxxxxxxx
- movi. */
- return 136;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101111xxxxxxxx1110xxxxxxxxxxxx
- movi. */
- return 144;
- }
- }
- else
- {
- if (((word >> 10) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx01111xxxxxxxx1111x0xxxxxxxxxx
- sqrdmlsh. */
- return 128;
- }
- else
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 11) & 0x1) == 0)
+ if (((word >> 29) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001111xxxxxxxx111101xxxxxxxxxx
- fmov. */
- return 137;
+ x0001111xxxxxxxx1x0111xxxxxxxxxx
+ sqrshrn. */
+ return 380;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101111xxxxxxxx111101xxxxxxxxxx
- fmov. */
- return 146;
+ x1001111xxxxxxxx1x0111xxxxxxxxxx
+ sqrshrn2. */
+ return 381;
}
}
else
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001111xxxxxxxx111111xxxxxxxxxx
- fmov. */
- return 138;
+ x0101111xxxxxxxx1x0111xxxxxxxxxx
+ uqrshrn. */
+ return 404;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101111xxxxxxxx111111xxxxxxxxxx
- fcvtzu. */
- return 412;
+ x1101111xxxxxxxx1x0111xxxxxxxxxx
+ uqrshrn2. */
+ return 405;
}
}
}
+ else
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx001111xxxxxxxx1x1111xxxxxxxxxx
+ fmov. */
+ return 138;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101111xxxxxxxx1x1111xxxxxxxxxx
+ fcvtzu. */
+ return 412;
+ }
+ }
}
}
}
case 403: return NULL; /* uqshrn2 --> NULL. */
case 136: value = 386; break; /* movi --> scvtf. */
case 386: value = 387; break; /* scvtf --> scvtf. */
- case 387: value = 2006; break; /* scvtf --> sdot. */
- case 2006: return NULL; /* sdot --> NULL. */
+ case 387: return NULL; /* scvtf --> NULL. */
case 144: value = 145; break; /* movi --> movi. */
case 145: value = 410; break; /* movi --> ucvtf. */
case 410: value = 411; break; /* ucvtf --> ucvtf. */
- case 411: value = 2005; break; /* ucvtf --> udot. */
- case 2005: return NULL; /* udot --> NULL. */
+ case 411: return NULL; /* ucvtf --> NULL. */
case 138: value = 388; break; /* fmov --> fcvtzs. */
case 388: value = 389; break; /* fcvtzs --> fcvtzs. */
case 389: return NULL; /* fcvtzs --> NULL. */
case 17: value = 18; break; /* subs --> cmp. */
case 20: value = 21; break; /* adds --> cmn. */
case 22: value = 23; break; /* sub --> neg. */
- case 24: value = 26; break; /* subs --> negs. */
+ case 24: value = 25; break; /* subs --> cmp. */
case 150: value = 151; break; /* umov --> mov. */
case 152: value = 153; break; /* ins --> mov. */
case 154: value = 155; break; /* ins --> mov. */
case 18: value = 17; break; /* cmp --> subs. */
case 21: value = 20; break; /* cmn --> adds. */
case 23: value = 22; break; /* neg --> sub. */
- case 26: value = 25; break; /* negs --> cmp. */
- case 25: value = 24; break; /* cmp --> subs. */
+ case 25: value = 26; break; /* cmp --> negs. */
+ case 26: value = 24; break; /* negs --> subs. */
case 151: value = 150; break; /* mov --> umov. */
case 153: value = 152; break; /* mov --> ins. */
case 155: value = 154; break; /* mov --> ins. */