[Vm-dev] [commit][2788] minor faster-blt for Pi fixes
commits at squeakvm.org
commits at squeakvm.org
Tue Oct 8 01:37:45 UTC 2013
Revision: 2788
Author: rowledge
Date: 2013-10-07 18:37:43 -0700 (Mon, 07 Oct 2013)
Log Message:
-----------
minor faster-blt for Pi fixes
Modified Paths:
--------------
trunk/platforms/Cross/plugins/BitBltPlugin/BitBltArmSimdAsm.hdr
trunk/platforms/Cross/plugins/BitBltPlugin/BitBltDispatch.c
Modified: trunk/platforms/Cross/plugins/BitBltPlugin/BitBltArmSimdAsm.hdr
===================================================================
--- trunk/platforms/Cross/plugins/BitBltPlugin/BitBltArmSimdAsm.hdr 2013-09-25 21:15:45 UTC (rev 2787)
+++ trunk/platforms/Cross/plugins/BitBltPlugin/BitBltArmSimdAsm.hdr 2013-10-08 01:37:43 UTC (rev 2788)
@@ -22,11 +22,6 @@
; SOFTWARE.
;
-; NOTE- older versions of ASASM had a bug which required a workaround in
-; the macros SEL, UADD8, USUB8 & USUB16. This work-around is NOT present
-; in this version. You must make sure to use an asasm dated post 2013-08-01
-; or version 6495
-
[ :LNOT: :DEF: DebugData
GBLL DebugData
]
@@ -162,23 +157,23 @@
; Assume asasm, which is lacking a number of key opcodes
MACRO
-$label SEL$cond $Rd, $Rn, $Rm
-$label DCI :CC_ENCODING:"$cond" :OR: &06800FB0 :OR: (:RCONST:$Rn :SHL: 16) :OR: (:RCONST:$Rd :SHL: 12) :OR: (:RCONST:$Rm :SHL: 0)
+$label SEL $Rd, $Rn, $Rm
+$label DCI &E6800FB0 :OR: (:RCONST:$Rn :SHL: 16) :OR: (:RCONST:$Rd :SHL: 12) :OR: (:RCONST:$Rm :SHL: 0)
MEND
MACRO
-$label UADD8$cond $Rd, $Rn, $Rm
-$label DCI :CC_ENCODING:"$cond" :OR: &06500F90 :OR: (:RCONST:$Rn :SHL: 16) :OR: (:RCONST:$Rd :SHL: 12) :OR: (:RCONST:$Rm :SHL: 0)
+$label UADD8 $Rd, $Rn, $Rm
+$label DCI &E6500F90 :OR: (:RCONST:$Rn :SHL: 16) :OR: (:RCONST:$Rd :SHL: 12) :OR: (:RCONST:$Rm :SHL: 0)
MEND
MACRO
-$label USUB8$cond $Rd, $Rn, $Rm
-$label DCI :CC_ENCODING:"$cond" :OR: &06500FF0 :OR: (:RCONST:$Rn :SHL: 16) :OR: (:RCONST:$Rd :SHL: 12) :OR: (:RCONST:$Rm :SHL: 0)
+$label USUB8 $Rd, $Rn, $Rm
+$label DCI &E6500FF0 :OR: (:RCONST:$Rn :SHL: 16) :OR: (:RCONST:$Rd :SHL: 12) :OR: (:RCONST:$Rm :SHL: 0)
MEND
MACRO
-$label USUB16$cond $Rd, $Rn, $Rm
-$label DCI :CC_ENCODING:"$cond" :OR: &06500F70 :OR: (:RCONST:$Rn :SHL: 16) :OR: (:RCONST:$Rd :SHL: 12) :OR: (:RCONST:$Rm :SHL: 0)
+$label USUB16 $Rd, $Rn, $Rm
+$label DCI &E6500F70 :OR: (:RCONST:$Rn :SHL: 16) :OR: (:RCONST:$Rd :SHL: 12) :OR: (:RCONST:$Rm :SHL: 0)
MEND
MACRO
Modified: trunk/platforms/Cross/plugins/BitBltPlugin/BitBltDispatch.c
===================================================================
--- trunk/platforms/Cross/plugins/BitBltPlugin/BitBltDispatch.c 2013-09-25 21:15:45 UTC (rev 2787)
+++ trunk/platforms/Cross/plugins/BitBltPlugin/BitBltDispatch.c 2013-10-08 01:37:43 UTC (rev 2788)
@@ -37,7 +37,7 @@
#include "BitBltInternal.h"
/** Define this to enable profiling */
-#define PROFILING
+//#define PROFILING
#ifdef PROFILING
#include <stdio.h>
@@ -418,12 +418,13 @@
storedCombinationRule = op->combinationRule;
storedFlags = flags;
storedFunc = lookupFastPath(op->combinationRule, flags);
- if (storedFunc == NULL)
+ if (storedFunc == NULL) {
/* Unsupported case 8 */
#ifdef PROFILING
profile_unrecorded_cases[8]++;
#endif
storedFunc = copyBitsFallback;
+ }
}
#ifdef PROFILING
uint32_t before = gettime();
More information about the Vm-dev
mailing list