pacdb.xml */
| 18919 | |
| 18920 | /* pacdb.xml */ |
| 18921 | int PACDB(context *ctx, Instruction *instr) |
| 18922 | { |
| 18923 | int rc = DECODE_STATUS_UNMATCHED; |
| 18924 | /* class iclass_general */ |
| 18925 | /* sf=1|1|S=0|11010110|opcode2=00001|opcode[5]=0|opcode[4]=0|Z=x|opcode[2:0]=011|Rn=xxxxx|Rd=xxxxx */ |
| 18926 | if((INSWORD & 0xFFFFDC00)==0xDAC10C00) { |
| 18927 | decode_fields32(ENC_PACDB_64P_DP_1SRC, ctx, instr); |
| 18928 | ctx->source_is_sp = FALSE; |
| 18929 | ctx->d = UINT(ctx->Rd); |
| 18930 | ctx->n = UINT(ctx->Rn); |
| 18931 | if(!HavePACExt()) { |
| 18932 | UNDEFINED; |
| 18933 | } |
| 18934 | if(ctx->Z==0) { |
| 18935 | if(ctx->n==0x1f) { |
| 18936 | ctx->source_is_sp = TRUE; |
| 18937 | } |
| 18938 | } |
| 18939 | else { |
| 18940 | if(ctx->n!=0x1f) { |
| 18941 | UNDEFINED; |
| 18942 | } |
| 18943 | } |
| 18944 | if(ctx->Z==0) OK(ENC_PACDB_64P_DP_1SRC); |
| 18945 | if(ctx->Z==1 && ctx->Rn==0x1f) OK(ENC_PACDZB_64Z_DP_1SRC); |
| 18946 | } |
| 18947 | return rc; |
| 18948 | } |
| 18949 | |
| 18950 | /* pacga.xml */ |
| 18951 | int PACGA(context *ctx, Instruction *instr) |
no test coverage detected