target/arm: Fix MTE check in sve_ldnfff1_r
authorRichard Henderson <richard.henderson@linaro.org>
Thu, 7 Jul 2022 10:36:07 +0000 (11:36 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 7 Jul 2022 10:36:07 +0000 (11:36 +0100)
The comment was correct, but the test was not:
disable mte if tagged is *not* set.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/sve_helper.c

index 1654c0bbf9eaae022f82a2c924246db2aed3a63a..db15d03ded837ae11d776d7321a432076131b4c5 100644 (file)
@@ -5986,7 +5986,7 @@ void sve_ldnfff1_r(CPUARMState *env, void *vg, const target_ulong addr,
      * Disable MTE checking if the Tagged bit is not set.  Since TBI must
      * be set within MTEDESC for MTE, !mtedesc => !mte_active.
      */
-    if (arm_tlb_mte_tagged(&info.page[0].attrs)) {
+    if (!arm_tlb_mte_tagged(&info.page[0].attrs)) {
         mtedesc = 0;
     }