arm: Add missing FPEXC.EN check
authorAndreas Hansson <andreas.hansson@arm.com>
Tue, 5 May 2015 07:22:45 +0000 (03:22 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Tue, 5 May 2015 07:22:45 +0000 (03:22 -0400)
Add a missing check to ensure that exceptions are generated properly.

src/arch/arm/isa/insts/neon.isa

index 2f1e41f3ec251f86947e2a0dea47c7d2b790f30d..1b20c660d18f986b0682a4a912aa672ec146141f 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode:c++ -*-
 
-// Copyright (c) 2010-2011 ARM Limited
+// Copyright (c) 2010-2011, 2015 ARM Limited
 // All rights reserved
 //
 // The license below extends only to copyright in the software and shall
@@ -3694,7 +3694,7 @@ let {{
 
     def vdupGprInst(name, Name, opClass, types, rCount):
         global header_output, exec_output
-        eWalkCode = '''
+        eWalkCode = simdEnabledCheckCode + '''
         RegVect destReg;
         for (unsigned i = 0; i < eCount; i++) {
             destReg.elements[i] = htog((Element)Op1);
@@ -3777,11 +3777,11 @@ let {{
 
     def buildVext(name, Name, opClass, types, rCount, op):
         global header_output, exec_output
-        eWalkCode = '''
+        eWalkCode = simdEnabledCheckCode + '''
         RegVect srcReg1, srcReg2, destReg;
         '''
         for reg in range(rCount):
-            eWalkCode += simdEnabledCheckCode + '''
+            eWalkCode += '''
                 srcReg1.regs[%(reg)d] = htog(FpOp1P%(reg)d_uw);
                 srcReg2.regs[%(reg)d] = htog(FpOp2P%(reg)d_uw);
             ''' % { "reg" : reg }
@@ -3825,7 +3825,7 @@ let {{
 
     def buildVtbxl(name, Name, opClass, length, isVtbl):
         global header_output, decoder_output, exec_output
-        code = '''
+        code = simdEnabledCheckCode + '''
             union
             {
                 uint8_t bytes[32];