From: Richard Henderson Date: Fri, 14 Feb 2020 19:46:40 +0000 (-0800) Subject: target/arm: Flush high bits of sve register after AdvSIMD EXT X-Git-Tag: qemu-xen-4.14.0~131^2~40 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=78cedfabd53b6f64e7e64fc84878d848e5df1d08;p=qemu-xen.git target/arm: Flush high bits of sve register after AdvSIMD EXT Writes to AdvSIMD registers flush the bits above 128. Buglink: https://bugs.launchpad.net/bugs/1863247 Signed-off-by: Richard Henderson Message-id: 20200214194643.23317-2-richard.henderson@linaro.org Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 7c26c3bfeb..620a429067 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -6895,6 +6895,7 @@ static void disas_simd_ext(DisasContext *s, uint32_t insn) tcg_temp_free_i64(tcg_resl); write_vec_element(s, tcg_resh, rd, 1, MO_64); tcg_temp_free_i64(tcg_resh); + clear_vec_high(s, true, rd); } /* TBL/TBX