autda.xml */
| 792 | |
| 793 | /* autda.xml */ |
| 794 | int AUTDA(context *ctx, Instruction *instr) |
| 795 | { |
| 796 | int rc = DECODE_STATUS_UNMATCHED; |
| 797 | /* class iclass_general */ |
| 798 | /* sf=1|1|S=0|11010110|opcode2=00001|opcode[5]=0|opcode[4]=0|Z=x|opcode[2:0]=110|Rn=xxxxx|Rd=xxxxx */ |
| 799 | if((INSWORD & 0xFFFFDC00)==0xDAC11800) { |
| 800 | decode_fields32(ENC_AUTDA_64P_DP_1SRC, ctx, instr); |
| 801 | ctx->source_is_sp = FALSE; |
| 802 | ctx->d = UINT(ctx->Rd); |
| 803 | ctx->n = UINT(ctx->Rn); |
| 804 | if(!HavePACExt()) { |
| 805 | UNDEFINED; |
| 806 | } |
| 807 | if(ctx->Z==0) { |
| 808 | if(ctx->n==0x1f) { |
| 809 | ctx->source_is_sp = TRUE; |
| 810 | } |
| 811 | } |
| 812 | else { |
| 813 | if(ctx->n!=0x1f) { |
| 814 | UNDEFINED; |
| 815 | } |
| 816 | } |
| 817 | if(ctx->Z==0) OK(ENC_AUTDA_64P_DP_1SRC); |
| 818 | if(ctx->Z==1 && ctx->Rn==0x1f) OK(ENC_AUTDZA_64Z_DP_1SRC); |
| 819 | } |
| 820 | return rc; |
| 821 | } |
| 822 | |
| 823 | /* autdb.xml */ |
| 824 | int AUTDB(context *ctx, Instruction *instr) |
no test coverage detected