From: "fabrice.descl...@cea.fr" <fabrice.descl...@cea.fr> As "xchg" reads and writes both operands, the "+m" is required to avoid undefined behavior on -O2 compilation.
Signed-off-by: Fabrice Desclaux <fabrice.descl...@cea.fr> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <03506cf0-a204-f619-8ee4-4990a5e69...@cea.fr> Signed-off-by: Laurent Vivier <laur...@vivier.eu> --- tests/tcg/i386/test-i386.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/tcg/i386/test-i386.c b/tests/tcg/i386/test-i386.c index a29b41e764..18d5609665 100644 --- a/tests/tcg/i386/test-i386.c +++ b/tests/tcg/i386/test-i386.c @@ -1137,7 +1137,7 @@ void test_xchg(void) TEST_XCHG(xchgb, "b", "+q"); #if defined(__x86_64__) - TEST_XCHG(xchgq, "", "=m"); + TEST_XCHG(xchgq, "", "+m"); #endif TEST_XCHG(xchgl, "k", "+m"); TEST_XCHG(xchgw, "w", "+m"); -- 2.19.2