Patchwork [09/13] target-arm: Handle UNDEF cases for VEXT

login
register
mail settings
Submitter Peter Maydell
Date April 11, 2011, 3:26 p.m.
Message ID <1302535583-15733-10-git-send-email-peter.maydell@linaro.org>
Download mbox | patch
Permalink /patch/90622/
State New
Headers show

Comments

Peter Maydell - April 11, 2011, 3:26 p.m.
VEXT must UNDEF if Q == 1 && (Vd<0> == 1 || Vr<0> == 1 || Vm<0> == 1)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 target-arm/translate.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

Patch

diff --git a/target-arm/translate.c b/target-arm/translate.c
index 15c2015..f47e5ea 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -5514,6 +5514,10 @@  static int disas_neon_data_insn(CPUState * env, DisasContext *s, uint32_t insn)
                 if (imm > 7 && !q)
                     return 1;
 
+                if (q && ((rd | rn | rm) & 1)) {
+                    return 1;
+                }
+
                 if (imm == 0) {
                     neon_load_reg64(cpu_V0, rn);
                     if (q) {