| 2686 | } |
| 2687 | |
| 2688 | int decode_iclass_floatccmp(context *ctx, Instruction *dec) |
| 2689 | { |
| 2690 | uint32_t M=INSWORD>>31, S=(INSWORD>>29)&1, ptype=(INSWORD>>22)&3, op=(INSWORD>>4)&1; |
| 2691 | if(!M && !S && !ptype && !op) return FCCMP_float(ctx, dec); // -> FCCMP_S_floatccmp |
| 2692 | if(!M && !S && !ptype && op) return FCCMPE_float(ctx, dec); // -> FCCMPE_S_floatccmp |
| 2693 | if(!M && !S && ptype==1 && !op) return FCCMP_float(ctx, dec); // -> FCCMP_D_floatccmp |
| 2694 | if(!M && !S && ptype==1 && op) return FCCMPE_float(ctx, dec); // -> FCCMPE_D_floatccmp |
| 2695 | if(!M && !S && ptype==3 && !op && HasFP16()) return FCCMP_float(ctx, dec); // -> FCCMP_H_floatccmp |
| 2696 | if(!M && !S && ptype==3 && op && HasFP16()) return FCCMPE_float(ctx, dec); // -> FCCMPE_H_floatccmp |
| 2697 | if(ptype==2) UNALLOCATED(ENC_UNALLOCATED_12_FLOATCCMP); |
| 2698 | if(S) UNALLOCATED(ENC_UNALLOCATED_10_FLOATCCMP); |
| 2699 | if(M) UNALLOCATED(ENC_UNALLOCATED_11_FLOATCCMP); |
| 2700 | UNMATCHED; |
| 2701 | } |
| 2702 | |
| 2703 | int decode_iclass_floatsel(context *ctx, Instruction *dec) |
| 2704 | { |
no test coverage detected