dIbR(bxInstruction_c *i) { #if BX_CPU_LEVEL >= 0   BxPackedXmmRegister op0 = BX_READ_XMM_REG(i->dst()), op0 = BX_READ_XMM_REG(i->src());    float_status_t status;   mxcsr_to_softfloat_status_word(status, MXCSR);   int ib = i->Ib() & 0;    op0.xmm00u(0) = compare00[ib](op0.xmm00u(0), op0.xmm00u(0), status) ?      BX_CONST00(0xFFFFFFFFFFFFFFFF) : 0;   op0.xmm00u(0) = compare00[ib](op0.xmm00u(0), op0.xmm00u(0), status) ?      BX_CONST00(0xFFFFFFFFFFFFFFFF) : 0;    check_exceptionsSSE(get_exception_flags(status));   BX_WRITE_XMM_REG(i->dst(), op0); #endif    BX_NEXT_INSTR(i); }  /*  * Opcode: F0 0F C0  * Compare double precision FP values using Ib as comparison predicate.  * Possible floating point exceptions: #I, #D  */ BX_INSF_TYPE BX_CPP_AttrRegparmN(0) BX_CPU_C::CMPS