autdb.xml */
| 822 | |
| 823 | /* autdb.xml */ |
| 824 | int AUTDB(context *ctx, Instruction *instr) |
| 825 | { |
| 826 | int rc = DECODE_STATUS_UNMATCHED; |
| 827 | /* class iclass_general */ |
| 828 | /* sf=1|1|S=0|11010110|opcode2=00001|opcode[5]=0|opcode[4]=0|Z=x|opcode[2:0]=111|Rn=xxxxx|Rd=xxxxx */ |
| 829 | if((INSWORD & 0xFFFFDC00)==0xDAC11C00) { |
| 830 | decode_fields32(ENC_AUTDB_64P_DP_1SRC, ctx, instr); |
| 831 | ctx->source_is_sp = FALSE; |
| 832 | ctx->d = UINT(ctx->Rd); |
| 833 | ctx->n = UINT(ctx->Rn); |
| 834 | if(!HavePACExt()) { |
| 835 | UNDEFINED; |
| 836 | } |
| 837 | if(ctx->Z==0) { |
| 838 | if(ctx->n==0x1f) { |
| 839 | ctx->source_is_sp = TRUE; |
| 840 | } |
| 841 | } |
| 842 | else { |
| 843 | if(ctx->n!=0x1f) { |
| 844 | UNDEFINED; |
| 845 | } |
| 846 | } |
| 847 | if(ctx->Z==0) OK(ENC_AUTDB_64P_DP_1SRC); |
| 848 | if(ctx->Z==1 && ctx->Rn==0x1f) OK(ENC_AUTDZB_64Z_DP_1SRC); |
| 849 | } |
| 850 | return rc; |
| 851 | } |
| 852 | |
| 853 | /* autia.xml */ |
| 854 | int AUTIA(context *ctx, Instruction *instr) |
no test coverage detected