Fix missing ) in ubfx/sbfx replacements.
authorPeter Michael Green <plugwash@raspbian.org>
Sat, 23 Jan 2021 13:16:09 +0000 (13:16 +0000)
committerPeter Michael Green <plugwash@raspbian.org>
Sat, 23 Jan 2021 13:19:11 +0000 (13:19 +0000)
debian/patches/hack-out-ubfx-and-sbfx.patch
debian/patches/replace-movw.patch
runtime/arch/arm/quick_entrypoints_arm.S
runtime/interpreter/mterp/arm/arithmetic.S
runtime/interpreter/mterp/arm/array.S
runtime/interpreter/mterp/arm/control_flow.S
runtime/interpreter/mterp/arm/floating_point.S
runtime/interpreter/mterp/arm/object.S
runtime/interpreter/mterp/arm/other.S
runtime/interpreter/mterp/replace-ubfx.py

index 0ce02496e067f43707fc6d2fa4b8846bfca56fc7..1b5a29ad100f6f59d969766995fcca4fea6b2948 100644 (file)
@@ -9,7 +9,7 @@ index b57e119..7531f9e 100644
 -    ubfx   r2, r3, #LOCK_WORD_THIN_LOCK_COUNT_SHIFT, #LOCK_WORD_THIN_LOCK_COUNT_SIZE
 +    @ begin replacement of ubfx   r2, r3, #LOCK_WORD_THIN_LOCK_COUNT_SHIFT, #LOCK_WORD_THIN_LOCK_COUNT_SIZE
 +    lsl r2, r3, #(32-(LOCK_WORD_THIN_LOCK_COUNT_SIZE)-(LOCK_WORD_THIN_LOCK_COUNT_SHIFT))
-+    lsr r2, r2, #((32-(LOCK_WORD_THIN_LOCK_COUNT_SIZE))
++    lsr r2, r2, #((32-(LOCK_WORD_THIN_LOCK_COUNT_SIZE)))
 +    @ end replacement of ubfx   r2, r3, #LOCK_WORD_THIN_LOCK_COUNT_SHIFT, #LOCK_WORD_THIN_LOCK_COUNT_SIZE
      cbz    r2, .Lslow_lock            @ Zero as the new count indicates overflow, go slow path.
      strex  r2, r3, [r0, #MIRROR_OBJECT_LOCK_WORD_OFFSET]  @ strex necessary for read barrier bits.
@@ -21,7 +21,7 @@ index b57e119..7531f9e 100644
 -    ubfx    r1, r12, #0, #METHOD_DEX_CACHE_HASH_BITS  // Calculate DexCache method slot index.
 +    @ begin replacement of ubfx    r1, r12, #0, #METHOD_DEX_CACHE_HASH_BITS  // Calculate DexCache method slot index.
 +    lsl r1, r12, #(32-(METHOD_DEX_CACHE_HASH_BITS)-(0))
-+    lsr r1, r1, #((32-(METHOD_DEX_CACHE_HASH_BITS))
++    lsr r1, r1, #((32-(METHOD_DEX_CACHE_HASH_BITS)))
 +    @ end replacement of ubfx    r1, r12, #0, #METHOD_DEX_CACHE_HASH_BITS  // Calculate DexCache method slot index.
      ldr     r4, [r4, #MIRROR_DEX_CACHE_RESOLVED_METHODS_OFFSET]  // Load the resolved methods.
      add     r4, r4, r1, lsl #(POINTER_SIZE_SHIFT + 1)  // Load DexCache method slot address.
@@ -37,7 +37,7 @@ index a6ba454..0e98485 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      GET_VREG r1, r3                     @ r1<- vB
      GET_VREG r0, r9                     @ r0<- vA
@@ -49,7 +49,7 @@ index a6ba454..0e98485 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      GET_VREG r0, r2                     @ r0<- vB
      .if $chkzero
@@ -61,7 +61,7 @@ index a6ba454..0e98485 100644
 -    ubfx    rINST, rINST, #8, #4        @ rINST<- A
 +    @ begin replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
 +    lsl rINST, rINST, #(32-(4)-(8))
-+    lsr rINST, rINST, #((32-(4))
++    lsr rINST, rINST, #((32-(4)))
 +    @ end replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
      VREG_INDEX_TO_ADDR r1, r1           @ r1<- &fp[B]
      VREG_INDEX_TO_ADDR r9, rINST        @ r9<- &fp[A]
@@ -73,7 +73,7 @@ index a6ba454..0e98485 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      GET_VREG r0, r3                     @ r0<- vB
      $preinstr                           @ optional op; may set condition codes
@@ -85,7 +85,7 @@ index a6ba454..0e98485 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      VREG_INDEX_TO_ADDR r3, r3           @ r3<- &fp[B]
      GET_VREG_WIDE_BY_ADDR r0, r1, r3    @ r0/r1<- vB/vB+1
@@ -97,7 +97,7 @@ index a6ba454..0e98485 100644
 -    ubfx    rINST, rINST, #8, #4        @ rINST<- A
 +    @ begin replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
 +    lsl rINST, rINST, #(32-(4)-(8))
-+    lsr rINST, rINST, #((32-(4))
++    lsr rINST, rINST, #((32-(4)))
 +    @ end replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
      VREG_INDEX_TO_ADDR r3, r3           @ r3<- &fp[B]
      VREG_INDEX_TO_ADDR r9, rINST        @ r9<- &fp[A]
@@ -109,7 +109,7 @@ index a6ba454..0e98485 100644
 -    ubfx    rINST, rINST, #8, #4        @ rINST<- A
 +    @ begin replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
 +    lsl rINST, rINST, #(32-(4)-(8))
-+    lsr rINST, rINST, #((32-(4))
++    lsr rINST, rINST, #((32-(4)))
 +    @ end replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
      GET_VREG r0, r3                     @ r0<- vB
      VREG_INDEX_TO_ADDR r9, rINST        @ r9<- &fp[A]
@@ -121,7 +121,7 @@ index a6ba454..0e98485 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      GET_VREG r1, r3                     @ r1<- vB
      GET_VREG r0, r9                     @ r0<- vA
@@ -133,7 +133,7 @@ index a6ba454..0e98485 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      GET_VREG r0, r2                     @ r0<- vB
      cmp     r1, #0                      @ is second operand zero?
@@ -145,7 +145,7 @@ index a6ba454..0e98485 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      VREG_INDEX_TO_ADDR r1, r1           @ r1<- &fp[B]
      VREG_INDEX_TO_ADDR rINST, r9        @ rINST<- &fp[A]
@@ -157,7 +157,7 @@ index a6ba454..0e98485 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      GET_VREG r1, r3                     @ r1<- vB
      GET_VREG r0, r9                     @ r0<- vA
@@ -169,7 +169,7 @@ index a6ba454..0e98485 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      GET_VREG r0, r2                     @ r0<- vB
      cmp     r1, #0                      @ is second operand zero?
@@ -181,7 +181,7 @@ index a6ba454..0e98485 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      GET_VREG r2, r3                     @ r2<- vB
      CLEAR_SHADOW_PAIR r9, lr, ip        @ Zero out the shadow regs
@@ -193,7 +193,7 @@ index a6ba454..0e98485 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      GET_VREG r2, r3                     @ r2<- vB
      CLEAR_SHADOW_PAIR r9, lr, ip        @ Zero out the shadow regs
@@ -205,7 +205,7 @@ index a6ba454..0e98485 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      GET_VREG r2, r3                     @ r2<- vB
      CLEAR_SHADOW_PAIR r9, lr, ip        @ Zero out the shadow regs
@@ -221,7 +221,7 @@ index 7b3db61..0c12dbf 100644
 -    ubfx    r2, rINST, #8, #4           @ r2<- A
 +    @ begin replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
 +    lsl r2, rINST, #(32-(4)-(8))
-+    lsr r2, r2, #((32-(4))
++    lsr r2, r2, #((32-(4)))
 +    @ end replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
      GET_VREG r0, r1                     @ r0<- vB (object ref)
      cmp     r0, #0                      @ is object null?
@@ -237,7 +237,7 @@ index 2299ef9..89c3b93 100644
 -    ubfx    r0, rINST, #8, #4           @ r0<- A
 +    @ begin replacement of ubfx    r0, rINST, #8, #4           @ r0<- A
 +    lsl r0, rINST, #(32-(4)-(8))
-+    lsr r0, r0, #((32-(4))
++    lsr r0, r0, #((32-(4)))
 +    @ end replacement of ubfx    r0, rINST, #8, #4           @ r0<- A
      GET_VREG r3, r1                     @ r3<- vB
      GET_VREG r0, r0                     @ r0<- vA
@@ -249,7 +249,7 @@ index 2299ef9..89c3b93 100644
 -    sbfx    rINST, rINST, #8, #8           @ rINST<- ssssssAA (sign-extended)
 +    @ begin replacement of sbfx    rINST, rINST, #8, #8           @ rINST<- ssssssAA (sign-extended)
 +    lsl rINST, rINST, #(32-(8)-(8))
-+    asr rINST, rINST, #((32-(8))
++    asr rINST, rINST, #((32-(8)))
 +    @ end replacement of sbfx    rINST, rINST, #8, #8           @ rINST<- ssssssAA (sign-extended)
      b       MterpCommonTakenBranchNoFlags
  
@@ -265,7 +265,7 @@ index 035fc13..f2b7b3b 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      VREG_INDEX_TO_ADDR r3, r3           @ r3<- &vB
      VREG_INDEX_TO_ADDR r9, r9           @ r9<- &vA
@@ -277,7 +277,7 @@ index 035fc13..f2b7b3b 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      VREG_INDEX_TO_ADDR r3, r3           @ r3<- &vB
      CLEAR_SHADOW_PAIR r9, ip, r0        @ Zero out shadow regs
@@ -289,7 +289,7 @@ index 035fc13..f2b7b3b 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      FETCH_ADVANCE_INST 1                @ advance rPC, load rINST
      $instr                              @ s1<- op
@@ -301,7 +301,7 @@ index 035fc13..f2b7b3b 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      FETCH_ADVANCE_INST 1                @ advance rPC, load rINST
      $instr                              @ s0<- op
@@ -313,7 +313,7 @@ index 035fc13..f2b7b3b 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      FETCH_ADVANCE_INST 1                @ advance rPC, load rINST
      $instr                              @ d0<- op
@@ -325,7 +325,7 @@ index 035fc13..f2b7b3b 100644
 -    ubfx    r2, r1, #20, #11            @ grab the exponent
 +    @ begin replacement of ubfx    r2, r1, #20, #11            @ grab the exponent
 +    lsl r2, r1, #(32-(11)-(20))
-+    lsr r2, r2, #((32-(11))
++    lsr r2, r2, #((32-(11)))
 +    @ end replacement of ubfx    r2, r1, #20, #11            @ grab the exponent
      movw    r3, #0x43e
      cmp     r2, r3                      @ MINLONG < x > MAXLONG?
@@ -337,7 +337,7 @@ index 035fc13..f2b7b3b 100644
 -    ubfx    r2, r0, #23, #8             @ grab the exponent
 +    @ begin replacement of ubfx    r2, r0, #23, #8             @ grab the exponent
 +    lsl r2, r0, #(32-(8)-(23))
-+    lsr r2, r2, #((32-(8))
++    lsr r2, r2, #((32-(8)))
 +    @ end replacement of ubfx    r2, r0, #23, #8             @ grab the exponent
      cmp     r2, #0xbe                   @ MININT < x > MAXINT?
      bhs     f2l_special_cases
@@ -349,7 +349,7 @@ index 035fc13..f2b7b3b 100644
 -    ubfx    r9, rINST, #8, #4           @ r9<- A
 +    @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
      CLEAR_SHADOW_PAIR r9, ip, lr        @ Zero shadow regs
      VREG_INDEX_TO_ADDR r3, r3           @ r3<- &fp[B]
@@ -365,7 +365,7 @@ index a044d91..404e9ce 100644
 -   ubfx     r1, rPC, #2, #THREAD_INTERPRETER_CACHE_SIZE_LOG2  @ entry index
 +   @ begin replacement of ubfx     r1, rPC, #2, #THREAD_INTERPRETER_CACHE_SIZE_LOG2  @ entry index
 +   lsl r1, rPC, #(32-(THREAD_INTERPRETER_CACHE_SIZE_LOG2)-(2))
-+   lsr r1, r1, #((32-(THREAD_INTERPRETER_CACHE_SIZE_LOG2))
++   lsr r1, r1, #((32-(THREAD_INTERPRETER_CACHE_SIZE_LOG2)))
 +   @ end replacement of ubfx     r1, rPC, #2, #THREAD_INTERPRETER_CACHE_SIZE_LOG2  @ entry index
     add      r0, r0, r1, lsl #3            @ entry address within the cache
     ldrd     r0, r1, [r0]                  @ entry key (pc) and value (offset)
@@ -377,7 +377,7 @@ index a044d91..404e9ce 100644
 -   ubfx     r2, rINST, #8, #4             @ A
 +   @ begin replacement of ubfx     r2, rINST, #8, #4             @ A
 +   lsl r2, rINST, #(32-(4)-(8))
-+   lsr r2, r2, #((32-(4))
++   lsr r2, r2, #((32-(4)))
 +   @ end replacement of ubfx     r2, rINST, #8, #4             @ A
     FETCH_ADVANCE_INST 2                   @ advance rPC, load rINST
  %  if is_object:
@@ -389,7 +389,7 @@ index a044d91..404e9ce 100644
 -    ubfx    r2, rINST, #8, #4           @ r2<- A
 +    @ begin replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
 +    lsl r2, rINST, #(32-(4)-(8))
-+    lsr r2, r2, #((32-(4))
++    lsr r2, r2, #((32-(4)))
 +    @ end replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
      PREFETCH_INST 2
      cmp     r3, #0
@@ -401,7 +401,7 @@ index a044d91..404e9ce 100644
 -    ubfx    r2, rINST, #8, #4           @ r2<- A
 +    @ begin replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
 +    lsl r2, rINST, #(32-(4)-(8))
-+    lsr r2, r2, #((32-(4))
++    lsr r2, r2, #((32-(4)))
 +    @ end replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
      cmp     r3, #0                      @ check object for null
      beq     common_errNullObject        @ object was null
@@ -413,7 +413,7 @@ index a044d91..404e9ce 100644
 -    ubfx    r2, rINST, #8, #4           @ r2<- A
 +    @ begin replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
 +    lsl r2, rINST, #(32-(4)-(8))
-+    lsr r2, r2, #((32-(4))
++    lsr r2, r2, #((32-(4)))
 +    @ end replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
      cmp     r3, #0                      @ check object for null
      beq     common_errNullObject        @ object was null
@@ -425,7 +425,7 @@ index a044d91..404e9ce 100644
 -    ubfx      r9, rINST, #8, #4         @ r9<- A
 +    @ begin replacement of ubfx      r9, rINST, #8, #4         @ r9<- A
 +    lsl r9, rINST, #(32-(4)-(8))
-+    lsr r9, r9, #((32-(4))
++    lsr r9, r9, #((32-(4)))
 +    @ end replacement of ubfx      r9, rINST, #8, #4         @ r9<- A
      PREFETCH_INST 2
      cmp       r1, #0                    @ exception pending?
@@ -437,7 +437,7 @@ index a044d91..404e9ce 100644
 -    ubfx    r2, rINST, #8, #4           @ r2<- A
 +    @ begin replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
 +    lsl r2, rINST, #(32-(4)-(8))
-+    lsr r2, r2, #((32-(4))
++    lsr r2, r2, #((32-(4)))
 +    @ end replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
      cmp     r3, #0                      @ check object for null
      beq     common_errNullObject        @ object was null
@@ -449,7 +449,7 @@ index a044d91..404e9ce 100644
 -    ubfx    r0, rINST, #8, #4           @ r0<- A
 +    @ begin replacement of ubfx    r0, rINST, #8, #4           @ r0<- A
 +    lsl r0, rINST, #(32-(4)-(8))
-+    lsr r0, r0, #((32-(4))
++    lsr r0, r0, #((32-(4)))
 +    @ end replacement of ubfx    r0, rINST, #8, #4           @ r0<- A
      cmp     r2, #0                      @ check object for null
      beq     common_errNullObject        @ object was null
@@ -466,11 +466,11 @@ index 31b9354..491219a 100644
 -    ubfx    r0, rINST, #8, #4           @ r0<- A
 +    @ begin replacement of sbfx    r1, rINST, #12, #4          @ r1<- sssssssB (sign-extended)
 +    lsl r1, rINST, #(32-(4)-(12))
-+    asr r1, r1, #((32-(4))
++    asr r1, r1, #((32-(4)))
 +    @ end replacement of sbfx    r1, rINST, #12, #4          @ r1<- sssssssB (sign-extended)
 +    @ begin replacement of ubfx    r0, rINST, #8, #4           @ r0<- A
 +    lsl r0, rINST, #(32-(4)-(8))
-+    lsr r0, r0, #((32-(4))
++    lsr r0, r0, #((32-(4)))
 +    @ end replacement of ubfx    r0, rINST, #8, #4           @ r0<- A
      FETCH_ADVANCE_INST 1                @ advance rPC, load rINST
      GET_INST_OPCODE ip                  @ ip<- opcode from rINST
@@ -482,7 +482,7 @@ index 31b9354..491219a 100644
 -    ubfx    r0, rINST, #8, #4           @ r0<- A from 11:8
 +    @ begin replacement of ubfx    r0, rINST, #8, #4           @ r0<- A from 11:8
 +    lsl r0, rINST, #(32-(4)-(8))
-+    lsr r0, r0, #((32-(4))
++    lsr r0, r0, #((32-(4)))
 +    @ end replacement of ubfx    r0, rINST, #8, #4           @ r0<- A from 11:8
      FETCH_ADVANCE_INST 1                @ advance rPC, load rINST
      GET_VREG r2, r1                     @ r2<- fp[B]
@@ -494,7 +494,7 @@ index 31b9354..491219a 100644
 -    ubfx    rINST, rINST, #8, #4        @ rINST<- A
 +    @ begin replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
 +    lsl rINST, rINST, #(32-(4)-(8))
-+    lsr rINST, rINST, #((32-(4))
++    lsr rINST, rINST, #((32-(4)))
 +    @ end replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
      VREG_INDEX_TO_ADDR r3, r3           @ r3<- &fp[B]
      VREG_INDEX_TO_ADDR r2, rINST        @ r2<- &fp[A]
@@ -549,7 +549,7 @@ index 0000000..8a79cc8
 +            rightshift = 'lsr'
 +        else:
 +            rightshift = 'asr'
-+        print(linestartwhitespace+rightshift+' '+destreg+', '+destreg+', #((32-('+width+'))')
++        print(linestartwhitespace+rightshift+' '+destreg+', '+destreg+', #((32-('+width+')))')
 +        print(linestartwhitespace+'@ end replacement of '+linels)
 +    else:
 +        print(line)
index 413c6da86c7766ae050f52603c0caec7f38670d8..c8f8f864d5ed23822687afe5f5c154deda7ec3d7 100644 (file)
@@ -7,7 +7,7 @@ index f2b7b3b..2f78fa9 100644
 +++ b/runtime/interpreter/mterp/arm/floating_point.S
 @@ -353,12 +353,14 @@ d2l_doconv:
      lsl r2, r1, #(32-(11)-(20))
-     lsr r2, r2, #((32-(11))
+     lsr r2, r2, #((32-(11)))
      @ end replacement of ubfx    r2, r1, #20, #11            @ grab the exponent
 -    movw    r3, #0x43e
 +    mov     r3, #0x03e
index 7531f9e916a66df9a097c1fc66eb8bcba5cabe29..72dcf0e8372db8e354e73cfa08e8114ffcbb6d06 100644 (file)
@@ -716,7 +716,7 @@ ENTRY art_quick_lock_object
                                       @ Extract the new thin lock count for overflow check.
     @ begin replacement of ubfx   r2, r3, #LOCK_WORD_THIN_LOCK_COUNT_SHIFT, #LOCK_WORD_THIN_LOCK_COUNT_SIZE
     lsl r2, r3, #(32-(LOCK_WORD_THIN_LOCK_COUNT_SIZE)-(LOCK_WORD_THIN_LOCK_COUNT_SHIFT))
-    lsr r2, r2, #((32-(LOCK_WORD_THIN_LOCK_COUNT_SIZE))
+    lsr r2, r2, #((32-(LOCK_WORD_THIN_LOCK_COUNT_SIZE)))
     @ end replacement of ubfx   r2, r3, #LOCK_WORD_THIN_LOCK_COUNT_SHIFT, #LOCK_WORD_THIN_LOCK_COUNT_SIZE
     cbz    r2, .Lslow_lock            @ Zero as the new count indicates overflow, go slow path.
     strex  r2, r3, [r0, #MIRROR_OBJECT_LOCK_WORD_OFFSET]  @ strex necessary for read barrier bits.
@@ -1626,7 +1626,7 @@ ENTRY art_quick_imt_conflict_trampoline
     UNPOISON_HEAP_REF r4
     @ begin replacement of ubfx    r1, r12, #0, #METHOD_DEX_CACHE_HASH_BITS  // Calculate DexCache method slot index.
     lsl r1, r12, #(32-(METHOD_DEX_CACHE_HASH_BITS)-(0))
-    lsr r1, r1, #((32-(METHOD_DEX_CACHE_HASH_BITS))
+    lsr r1, r1, #((32-(METHOD_DEX_CACHE_HASH_BITS)))
     @ end replacement of ubfx    r1, r12, #0, #METHOD_DEX_CACHE_HASH_BITS  // Calculate DexCache method slot index.
     ldr     r4, [r4, #MIRROR_DEX_CACHE_RESOLVED_METHODS_OFFSET]  // Load the resolved methods.
     add     r4, r4, r1, lsl #(POINTER_SIZE_SHIFT + 1)  // Load DexCache method slot address.
index 0e98485344e90c0755630ad3ff554ba8971f445c..910a94df6e26640223003508b327b73a1e129948 100644 (file)
@@ -53,7 +53,7 @@
     mov     r3, rINST, lsr #12          @ r3<- B
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     GET_VREG r1, r3                     @ r1<- vB
     GET_VREG r0, r9                     @ r0<- vA
@@ -88,7 +88,7 @@
     mov     r2, rINST, lsr #12          @ r2<- B
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     GET_VREG r0, r2                     @ r0<- vB
     .if $chkzero
     mov     r1, rINST, lsr #12          @ r1<- B
     @ begin replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
     lsl rINST, rINST, #(32-(4)-(8))
-    lsr rINST, rINST, #((32-(4))
+    lsr rINST, rINST, #((32-(4)))
     @ end replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
     VREG_INDEX_TO_ADDR r1, r1           @ r1<- &fp[B]
     VREG_INDEX_TO_ADDR r9, rINST        @ r9<- &fp[A]
     mov     r3, rINST, lsr #12          @ r3<- B
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     GET_VREG r0, r3                     @ r0<- vB
     $preinstr                           @ optional op; may set condition codes
     mov     r3, rINST, lsr #12          @ r3<- B
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     VREG_INDEX_TO_ADDR r3, r3           @ r3<- &fp[B]
     GET_VREG_WIDE_BY_ADDR r0, r1, r3    @ r0/r1<- vB/vB+1
     mov     r3, rINST, lsr #12          @ r3<- B
     @ begin replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
     lsl rINST, rINST, #(32-(4)-(8))
-    lsr rINST, rINST, #((32-(4))
+    lsr rINST, rINST, #((32-(4)))
     @ end replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
     VREG_INDEX_TO_ADDR r3, r3           @ r3<- &fp[B]
     VREG_INDEX_TO_ADDR r9, rINST        @ r9<- &fp[A]
     mov     r3, rINST, lsr #12          @ r3<- B
     @ begin replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
     lsl rINST, rINST, #(32-(4)-(8))
-    lsr rINST, rINST, #((32-(4))
+    lsr rINST, rINST, #((32-(4)))
     @ end replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
     GET_VREG r0, r3                     @ r0<- vB
     VREG_INDEX_TO_ADDR r9, rINST        @ r9<- &fp[A]
     mov     r3, rINST, lsr #12          @ r3<- B
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     GET_VREG r1, r3                     @ r1<- vB
     GET_VREG r0, r9                     @ r0<- vA
     mov     r2, rINST, lsr #12          @ r2<- B
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     GET_VREG r0, r2                     @ r0<- vB
     cmp     r1, #0                      @ is second operand zero?
     mov     r1, rINST, lsr #12          @ r1<- B
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     VREG_INDEX_TO_ADDR r1, r1           @ r1<- &fp[B]
     VREG_INDEX_TO_ADDR rINST, r9        @ rINST<- &fp[A]
     mov     r3, rINST, lsr #12          @ r3<- B
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     GET_VREG r1, r3                     @ r1<- vB
     GET_VREG r0, r9                     @ r0<- vA
     mov     r2, rINST, lsr #12          @ r2<- B
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     GET_VREG r0, r2                     @ r0<- vB
     cmp     r1, #0                      @ is second operand zero?
     mov     r3, rINST, lsr #12          @ r3<- B
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     GET_VREG r2, r3                     @ r2<- vB
     CLEAR_SHADOW_PAIR r9, lr, ip        @ Zero out the shadow regs
     mov     r3, rINST, lsr #12          @ r3<- B
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     GET_VREG r2, r3                     @ r2<- vB
     CLEAR_SHADOW_PAIR r9, lr, ip        @ Zero out the shadow regs
     mov     r3, rINST, lsr #12          @ r3<- B
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     GET_VREG r2, r3                     @ r2<- vB
     CLEAR_SHADOW_PAIR r9, lr, ip        @ Zero out the shadow regs
index 0c12dbf6bf1d1d097d536a601e08e846a518c49e..dcddb32faae814958d8cde51adaf953da4c84fb9 100644 (file)
     mov     r1, rINST, lsr #12          @ r1<- B
     @ begin replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
     lsl r2, rINST, #(32-(4)-(8))
-    lsr r2, r2, #((32-(4))
+    lsr r2, r2, #((32-(4)))
     @ end replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
     GET_VREG r0, r1                     @ r0<- vB (object ref)
     cmp     r0, #0                      @ is object null?
index 89c3b93ad85f7cfd4ff6da25a4bf74cf12097f03..0b13b9f7c35474964196bec847e7ee1c7436fd03 100644 (file)
@@ -9,7 +9,7 @@
     mov     r1, rINST, lsr #12          @ r1<- B
     @ begin replacement of ubfx    r0, rINST, #8, #4           @ r0<- A
     lsl r0, rINST, #(32-(4)-(8))
-    lsr r0, r0, #((32-(4))
+    lsr r0, r0, #((32-(4)))
     @ end replacement of ubfx    r0, rINST, #8, #4           @ r0<- A
     GET_VREG r3, r1                     @ r3<- vB
     GET_VREG r0, r0                     @ r0<- vA
@@ -51,7 +51,7 @@
     /* goto +AA */
     @ begin replacement of sbfx    rINST, rINST, #8, #8           @ rINST<- ssssssAA (sign-extended)
     lsl rINST, rINST, #(32-(8)-(8))
-    asr rINST, rINST, #((32-(8))
+    asr rINST, rINST, #((32-(8)))
     @ end replacement of sbfx    rINST, rINST, #8, #8           @ rINST<- ssssssAA (sign-extended)
     b       MterpCommonTakenBranchNoFlags
 
index 2f78fa9043c95bb2959cc6ca6a4bfa1b9ae9d772..1825b838776cec5f7f094cf5ee9e5c9d2d2611fd 100644 (file)
@@ -34,7 +34,7 @@
     mov     r3, rINST, lsr #12          @ r3<- B
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     VREG_INDEX_TO_ADDR r3, r3           @ r3<- &vB
     VREG_INDEX_TO_ADDR r9, r9           @ r9<- &vA
@@ -84,7 +84,7 @@
     mov     r3, rINST, lsr #12          @ r3<- B
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     VREG_INDEX_TO_ADDR r3, r3           @ r3<- &vB
     CLEAR_SHADOW_PAIR r9, ip, r0        @ Zero out shadow regs
     GET_VREG_FLOAT_BY_ADDR s0, r3       @ s0<- vB
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     FETCH_ADVANCE_INST 1                @ advance rPC, load rINST
     $instr                              @ s1<- op
     GET_VREG_DOUBLE_BY_ADDR d0, r3      @ d0<- vB
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     FETCH_ADVANCE_INST 1                @ advance rPC, load rINST
     $instr                              @ s0<- op
     GET_VREG_FLOAT_BY_ADDR s0, r3       @ s0<- vB
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     FETCH_ADVANCE_INST 1                @ advance rPC, load rINST
     $instr                              @ d0<- op
 d2l_doconv:
     @ begin replacement of ubfx    r2, r1, #20, #11            @ grab the exponent
     lsl r2, r1, #(32-(11)-(20))
-    lsr r2, r2, #((32-(11))
+    lsr r2, r2, #((32-(11)))
     @ end replacement of ubfx    r2, r1, #20, #11            @ grab the exponent
     mov     r3, #0x03e
     orr     r3, #0x400
@@ -398,7 +398,7 @@ d2l_maybeNaN:
 f2l_doconv:
     @ begin replacement of ubfx    r2, r0, #23, #8             @ grab the exponent
     lsl r2, r0, #(32-(8)-(23))
-    lsr r2, r2, #((32-(8))
+    lsr r2, r2, #((32-(8)))
     @ end replacement of ubfx    r2, r0, #23, #8             @ grab the exponent
     cmp     r2, #0xbe                   @ MININT < x > MAXINT?
     bhs     f2l_special_cases
@@ -437,7 +437,7 @@ f2l_maybeNaN:
     mov     r3, rINST, lsr #12          @ r3<- B
     @ begin replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx    r9, rINST, #8, #4           @ r9<- A
     CLEAR_SHADOW_PAIR r9, ip, lr        @ Zero shadow regs
     VREG_INDEX_TO_ADDR r3, r3           @ r3<- &fp[B]
index 404e9cee3dd3c24cf8888c6801b09fe52c5d43f3..89e35fbb3d64777a2c13e26f1f513e5606b2a857 100644 (file)
@@ -39,7 +39,7 @@
    add      r0, rSELF, #THREAD_INTERPRETER_CACHE_OFFSET       @ cache address
    @ begin replacement of ubfx     r1, rPC, #2, #THREAD_INTERPRETER_CACHE_SIZE_LOG2  @ entry index
    lsl r1, rPC, #(32-(THREAD_INTERPRETER_CACHE_SIZE_LOG2)-(2))
-   lsr r1, r1, #((32-(THREAD_INTERPRETER_CACHE_SIZE_LOG2))
+   lsr r1, r1, #((32-(THREAD_INTERPRETER_CACHE_SIZE_LOG2)))
    @ end replacement of ubfx     r1, rPC, #2, #THREAD_INTERPRETER_CACHE_SIZE_LOG2  @ entry index
    add      r0, r0, r1, lsl #3            @ entry address within the cache
    ldrd     r0, r1, [r0]                  @ entry key (pc) and value (offset)
@@ -70,7 +70,7 @@
 %  #endif
    @ begin replacement of ubfx     r2, rINST, #8, #4             @ A
    lsl r2, rINST, #(32-(4)-(8))
-   lsr r2, r2, #((32-(4))
+   lsr r2, r2, #((32-(4)))
    @ end replacement of ubfx     r2, rINST, #8, #4             @ A
    FETCH_ADVANCE_INST 2                   @ advance rPC, load rINST
 %  if is_object:
     ldr     r3, [rSELF, #THREAD_EXCEPTION_OFFSET]
     @ begin replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
     lsl r2, rINST, #(32-(4)-(8))
-    lsr r2, r2, #((32-(4))
+    lsr r2, r2, #((32-(4)))
     @ end replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
     PREFETCH_INST 2
     cmp     r3, #0
     GET_VREG r3, r2                     @ r3<- object we're operating on
     @ begin replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
     lsl r2, rINST, #(32-(4)-(8))
-    lsr r2, r2, #((32-(4))
+    lsr r2, r2, #((32-(4)))
     @ end replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
     cmp     r3, #0                      @ check object for null
     beq     common_errNullObject        @ object was null
     GET_VREG r3, r2                     @ r3<- object we're operating on
     @ begin replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
     lsl r2, rINST, #(32-(4)-(8))
-    lsr r2, r2, #((32-(4))
+    lsr r2, r2, #((32-(4)))
     @ end replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
     cmp     r3, #0                      @ check object for null
     beq     common_errNullObject        @ object was null
     ldr       r1, [rSELF, #THREAD_EXCEPTION_OFFSET]
     @ begin replacement of ubfx      r9, rINST, #8, #4         @ r9<- A
     lsl r9, rINST, #(32-(4)-(8))
-    lsr r9, r9, #((32-(4))
+    lsr r9, r9, #((32-(4)))
     @ end replacement of ubfx      r9, rINST, #8, #4         @ r9<- A
     PREFETCH_INST 2
     cmp       r1, #0                    @ exception pending?
     GET_VREG r3, r2                     @ r3<- fp[B], the object pointer
     @ begin replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
     lsl r2, rINST, #(32-(4)-(8))
-    lsr r2, r2, #((32-(4))
+    lsr r2, r2, #((32-(4)))
     @ end replacement of ubfx    r2, rINST, #8, #4           @ r2<- A
     cmp     r3, #0                      @ check object for null
     beq     common_errNullObject        @ object was null
     GET_VREG r2, r2                     @ r2<- fp[B], the object pointer
     @ begin replacement of ubfx    r0, rINST, #8, #4           @ r0<- A
     lsl r0, rINST, #(32-(4)-(8))
-    lsr r0, r0, #((32-(4))
+    lsr r0, r0, #((32-(4)))
     @ end replacement of ubfx    r0, rINST, #8, #4           @ r0<- A
     cmp     r2, #0                      @ check object for null
     beq     common_errNullObject        @ object was null
index 491219a09945d2e340f47d76e67aa0fe06744eb9..2689fa8a2668a5050d143b3c5edf8d7c1210f3d2 100644 (file)
     /* const/4 vA, #+B */
     @ begin replacement of sbfx    r1, rINST, #12, #4          @ r1<- sssssssB (sign-extended)
     lsl r1, rINST, #(32-(4)-(12))
-    asr r1, r1, #((32-(4))
+    asr r1, r1, #((32-(4)))
     @ end replacement of sbfx    r1, rINST, #12, #4          @ r1<- sssssssB (sign-extended)
     @ begin replacement of ubfx    r0, rINST, #8, #4           @ r0<- A
     lsl r0, rINST, #(32-(4)-(8))
-    lsr r0, r0, #((32-(4))
+    lsr r0, r0, #((32-(4)))
     @ end replacement of ubfx    r0, rINST, #8, #4           @ r0<- A
     FETCH_ADVANCE_INST 1                @ advance rPC, load rINST
     GET_INST_OPCODE ip                  @ ip<- opcode from rINST
     mov     r1, rINST, lsr #12          @ r1<- B from 15:12
     @ begin replacement of ubfx    r0, rINST, #8, #4           @ r0<- A from 11:8
     lsl r0, rINST, #(32-(4)-(8))
-    lsr r0, r0, #((32-(4))
+    lsr r0, r0, #((32-(4)))
     @ end replacement of ubfx    r0, rINST, #8, #4           @ r0<- A from 11:8
     FETCH_ADVANCE_INST 1                @ advance rPC, load rINST
     GET_VREG r2, r1                     @ r2<- fp[B]
     mov     r3, rINST, lsr #12          @ r3<- B
     @ begin replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
     lsl rINST, rINST, #(32-(4)-(8))
-    lsr rINST, rINST, #((32-(4))
+    lsr rINST, rINST, #((32-(4)))
     @ end replacement of ubfx    rINST, rINST, #8, #4        @ rINST<- A
     VREG_INDEX_TO_ADDR r3, r3           @ r3<- &fp[B]
     VREG_INDEX_TO_ADDR r2, rINST        @ r2<- &fp[A]
index 8a79cc8e65c4914458479a86ad7ae2de1ed10b38..5bde3260ba6ff962059223cb3dc877d306d9b15f 100644 (file)
@@ -42,7 +42,7 @@ for line in f:
             rightshift = 'lsr'
         else:
             rightshift = 'asr'
-        print(linestartwhitespace+rightshift+' '+destreg+', '+destreg+', #((32-('+width+'))')
+        print(linestartwhitespace+rightshift+' '+destreg+', '+destreg+', #((32-('+width+')))')
         print(linestartwhitespace+'@ end replacement of '+linels)
     else:
         print(line)