Patchwork target-arm: When setting FPSCR.QC, don't clear other FPSCR bits

login
register
mail settings
Submitter Peter Maydell
Date May 8, 2012, 3:08 p.m.
Message ID <1336489699-10969-2-git-send-email-peter.maydell@linaro.org>
Download mbox | patch
Permalink /patch/157716/
State New
Headers show

Comments

Peter Maydell - May 8, 2012, 3:08 p.m.
From: Matt Craighead <mjcraighead@gmail.com>

This patch fixes a bug affecting a variety of Neon instructions, such as
VQADD.

Signed-off-by: Matt Craighead <mjcraighead@gmail.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 target-arm/neon_helper.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Patch

diff --git a/target-arm/neon_helper.c b/target-arm/neon_helper.c
index 1e02d61..e0b9dbf 100644
--- a/target-arm/neon_helper.c
+++ b/target-arm/neon_helper.c
@@ -16,7 +16,7 @@ 
 #define SIGNBIT (uint32_t)0x80000000
 #define SIGNBIT64 ((uint64_t)1 << 63)
 
-#define SET_QC() env->vfp.xregs[ARM_VFP_FPSCR] = CPSR_Q
+#define SET_QC() env->vfp.xregs[ARM_VFP_FPSCR] |= CPSR_Q
 
 #define NEON_TYPE1(name, type) \
 typedef struct \