ccmp_imm.xml */
| 2044 | |
| 2045 | /* ccmp_imm.xml */ |
| 2046 | int CCMP_imm(context *ctx, Instruction *instr) |
| 2047 | { |
| 2048 | int rc = DECODE_STATUS_UNMATCHED; |
| 2049 | /* class iclass_imm5u */ |
| 2050 | /* sf=x|op=1|S=1|11010010|imm5=xxxxx|cond=xxxx|1|o2=0|Rn=xxxxx|o3=0|nzcv=xxxx */ |
| 2051 | if((INSWORD & 0x7FE00C10)==0x7A400800) { |
| 2052 | decode_fields32(ENC_CCMP_32_CONDCMP_IMM, ctx, instr); |
| 2053 | ctx->n = UINT(ctx->Rn); |
| 2054 | ctx->datasize = (ctx->sf==1) ? 0x40 : 0x20; |
| 2055 | ctx->sub_op = (ctx->op==1); |
| 2056 | ctx->condition = ctx->cond; |
| 2057 | ctx->flags = ctx->nzcv; |
| 2058 | ctx->imm = ZeroExtend(ctx->imm5,ctx->datasize); |
| 2059 | if(ctx->sf==0) OK(ENC_CCMP_32_CONDCMP_IMM); |
| 2060 | if(ctx->sf==1) OK(ENC_CCMP_64_CONDCMP_IMM); |
| 2061 | } |
| 2062 | /* relevant operational pcode */ |
| 2063 | instr->setflags = FLAGEFFECT_SETS_NORMAL; |
| 2064 | return rc; |
| 2065 | } |
| 2066 | |
| 2067 | /* ccmp_reg.xml */ |
| 2068 | int CCMP_reg(context *ctx, Instruction *instr) |
no test coverage detected