rorv.xml */
| 19924 | |
| 19925 | /* rorv.xml */ |
| 19926 | int RORV(context *ctx, Instruction *instr) |
| 19927 | { |
| 19928 | int rc = DECODE_STATUS_UNMATCHED; |
| 19929 | /* class iclass_general */ |
| 19930 | /* sf=x|op=0|S=0|11010110|Rm=xxxxx|opcode2[5:2]=0010|op2=11|Rn=xxxxx|Rd=xxxxx */ |
| 19931 | if((INSWORD & 0x7FE0FC00)==0x1AC02C00) { |
| 19932 | decode_fields32(ENC_RORV_32_DP_2SRC, ctx, instr); |
| 19933 | ctx->d = UINT(ctx->Rd); |
| 19934 | ctx->n = UINT(ctx->Rn); |
| 19935 | ctx->m = UINT(ctx->Rm); |
| 19936 | ctx->datasize = (ctx->sf==1) ? 0x40 : 0x20; |
| 19937 | ctx->shift_type = DecodeShift(ctx->op2); |
| 19938 | /* unconditional alias */ |
| 19939 | if(ROR_RORV(ctx, instr)==0) return 0; |
| 19940 | if(ctx->sf==0) OK(ENC_RORV_32_DP_2SRC); |
| 19941 | if(ctx->sf==1) OK(ENC_RORV_64_DP_2SRC); |
| 19942 | } |
| 19943 | return rc; |
| 19944 | } |
| 19945 | |
| 19946 | /* ror_extr.xml */ |
| 19947 | int ROR_EXTR(context *ctx, Instruction *instr) |
no test coverage detected