|
From: | Richard Henderson |
Subject: | Re: [Qemu-devel] [RFC v3 PATCH 14/14] target-i386: Generate fences for x86 |
Date: | Tue, 21 Jun 2016 09:23:32 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 |
On 06/21/2016 09:12 AM, Paolo Bonzini wrote:
On 21/06/2016 17:57, Richard Henderson wrote:|| (prefixes & PREFIX_LOCK)) { goto illegal_op; } + tcg_gen_mb(TCG_MO_ST_ST | TCG_BAR_SC); break; case 0xe8 ... 0xef: /* lfence */ + tcg_gen_mb(TCG_MO_LD_LD | TCG_BAR_SC); + break;These are unnecessary. On the other hand, _each and every load_ must be followed by a LD_LD | LD_ST barrier, and each and every store must be preceded by a LD_ST | ST_ST barrier.They're not unnecessary if we (1) add those barriers for normal loads and stores and (2) omit them from the non-temporal loads and stores.When does TCG generate non-temporal loads and stores?
I was talking about the guest non-temporal loads and stores. r~
[Prev in Thread] | Current Thread | [Next in Thread] |