On 06/17/2016 09:03 PM, Pranith Kumar wrote:
case 0xe8 ... 0xef: /* lfence */
+ tcg_gen_mb(TCG_MO_LD_LD | TCG_BAR_SC);
+ break;
case 0xf0 ... 0xf7: /* mfence */
if (!(s->cpuid_features & CPUID_SSE2)
|| (prefixes & PREFIX_LOCK)) {
goto illegal_op;
}
+ tcg_gen_mb(TCG_MO_ALL | TCG_BAR_SC);
You need to duplicate the sse2 check if you split lfence from mfence. r~
