MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / decode_iclass_asisdlse

Function decode_iclass_asisdlse

arch/arm64/disassembler/decode1.c:259–289  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

257}
258
259int decode_iclass_asisdlse(context *ctx, Instruction *dec)
260{
261 uint32_t L=(INSWORD>>22)&1, opcode=(INSWORD>>12)&15;
262 if(!L && !opcode) return ST4_advsimd_mult(ctx, dec); // -> ST4_asisdlse_R4
263 if(!L && opcode==1) UNALLOCATED(ENC_UNALLOCATED_12_ASISDLSE);
264 if(!L && opcode==2) return ST1_advsimd_mult(ctx, dec); // -> ST1_asisdlse_R4_4v
265 if(!L && opcode==3) UNALLOCATED(ENC_UNALLOCATED_14_ASISDLSE);
266 if(!L && opcode==4) return ST3_advsimd_mult(ctx, dec); // -> ST3_asisdlse_R3
267 if(!L && opcode==5) UNALLOCATED(ENC_UNALLOCATED_16_ASISDLSE);
268 if(!L && opcode==6) return ST1_advsimd_mult(ctx, dec); // -> ST1_asisdlse_R3_3v
269 if(!L && opcode==7) return ST1_advsimd_mult(ctx, dec); // -> ST1_asisdlse_R1_1v
270 if(!L && opcode==8) return ST2_advsimd_mult(ctx, dec); // -> ST2_asisdlse_R2
271 if(!L && opcode==9) UNALLOCATED(ENC_UNALLOCATED_20_ASISDLSE);
272 if(!L && opcode==10) return ST1_advsimd_mult(ctx, dec); // -> ST1_asisdlse_R2_2v
273 if(!L && opcode==11) UNALLOCATED(ENC_UNALLOCATED_22_ASISDLSE);
274 if(L && !opcode) return LD4_advsimd_mult(ctx, dec); // -> LD4_asisdlse_R4
275 if(L && opcode==1) UNALLOCATED(ENC_UNALLOCATED_25_ASISDLSE);
276 if(L && opcode==2) return LD1_advsimd_mult(ctx, dec); // -> LD1_asisdlse_R4_4v
277 if(L && opcode==3) UNALLOCATED(ENC_UNALLOCATED_27_ASISDLSE);
278 if(L && opcode==4) return LD3_advsimd_mult(ctx, dec); // -> LD3_asisdlse_R3
279 if(L && opcode==5) UNALLOCATED(ENC_UNALLOCATED_29_ASISDLSE);
280 if(L && opcode==6) return LD1_advsimd_mult(ctx, dec); // -> LD1_asisdlse_R3_3v
281 if(L && opcode==7) return LD1_advsimd_mult(ctx, dec); // -> LD1_asisdlse_R1_1v
282 if(L && opcode==8) return LD2_advsimd_mult(ctx, dec); // -> LD2_asisdlse_R2
283 if(L && opcode==9) UNALLOCATED(ENC_UNALLOCATED_33_ASISDLSE);
284 if(L && opcode==10) return LD1_advsimd_mult(ctx, dec); // -> LD1_asisdlse_R2_2v
285 if(L && opcode==11) UNALLOCATED(ENC_UNALLOCATED_35_ASISDLSE);
286 if(!L && (opcode&12)==12) UNALLOCATED(ENC_UNALLOCATED_23_ASISDLSE);
287 if(L && (opcode&12)==12) UNALLOCATED(ENC_UNALLOCATED_36_ASISDLSE);
288 UNMATCHED;
289}
290
291int decode_iclass_asisdlsep(context *ctx, Instruction *dec)
292{

Callers 1

decode_specFunction · 0.85

Calls 8

ST4_advsimd_multFunction · 0.85
ST1_advsimd_multFunction · 0.85
ST3_advsimd_multFunction · 0.85
ST2_advsimd_multFunction · 0.85
LD4_advsimd_multFunction · 0.85
LD1_advsimd_multFunction · 0.85
LD3_advsimd_multFunction · 0.85
LD2_advsimd_multFunction · 0.85

Tested by

no test coverage detected