Based on a patch by Russel King <rmk+libav@arm.linux.org.uk>
Unified · Split
| @@ -132,11 +132,12 @@ function ff_put_pixels8_y2_armv6, export=1 · 131 unmodified lines | ||
| 132 | 132 | uhadd8 r9, r5, r7 |
| 133 | 133 | eor r11, r5, r7 |
| 134 | 134 | and r10, r10, r12 |
| 135 | − ldr_pre r4, r1, r2 | |
| 135 | + ldrc_pre ne, r4, r1, r2 | |
| 136 | 136 | uadd8 r8, r8, r10 |
| 137 | 137 | and r11, r11, r12 |
| 138 | 138 | uadd8 r9, r9, r11 |
| 139 | − ldr r5, [r1, #4] | |
| 139 | + it ne | |
| 140 | + ldrne r5, [r1, #4] | |
| 140 | 141 | uhadd8 r10, r4, r6 |
| 141 | 142 | eor r6, r4, r6 |
| 142 | 143 | uhadd8 r11, r5, r7 |
| @@ -144,10 +145,11 @@ function ff_put_pixels8_y2_armv6, export=1 · 1 unmodified line | ||
| 144 | 145 | eor r7, r5, r7 |
| 145 | 146 | uadd8 r10, r10, r6 |
| 146 | 147 | and r7, r7, r12 |
| 147 | − ldr_pre r6, r1, r2 | |
| 148 | + ldrc_pre ne, r6, r1, r2 | |
| 148 | 149 | uadd8 r11, r11, r7 |
| 149 | 150 | strd_post r8, r9, r0, r2 |
| 150 | − ldr r7, [r1, #4] | |
| 151 | + it ne | |
| 152 | + ldrne r7, [r1, #4] | |
| 151 | 153 | strd_post r10, r11, r0, r2 |
| 152 | 154 | bne 1b |
| 153 | 155 | |
| @@ -192,13 +194,15 @@ function ff_put_pixels8_y2_no_rnd_armv6, export=1 · 38 unmodified lines | ||
| 192 | 194 | 1: |
| 193 | 195 | subs r3, r3, #2 |
| 194 | 196 | uhadd8 r8, r4, r6 |
| 195 | − ldr_pre r4, r1, r2 | |
| 197 | + ldrc_pre ne, r4, r1, r2 | |
| 196 | 198 | uhadd8 r9, r5, r7 |
| 197 | − ldr r5, [r1, #4] | |
| 199 | + it ne | |
| 200 | + ldrne r5, [r1, #4] | |
| 198 | 201 | uhadd8 r12, r4, r6 |
| 199 | − ldr_pre r6, r1, r2 | |
| 202 | + ldrc_pre ne, r6, r1, r2 | |
| 200 | 203 | uhadd8 r14, r5, r7 |
| 201 | − ldr r7, [r1, #4] | |
| 204 | + it ne | |
| 205 | + ldrne r7, [r1, #4] | |
| 202 | 206 | stm r0, {r8,r9} |
| 203 | 207 | add r0, r0, r2 |
| 204 | 208 | stm r0, {r12,r14} |
| @@ -216,6 +216,13 @@ T ldr \rt, [\rn] · 215 unmodified lines | ||
| 216 | 216 | T add \rn, \rn, \rm |
| 217 | 217 | .endm |
| 218 | 218 | |
| 219 | +.macro ldrc_pre cc, rt, rn, rm:vararg | |
| 220 | +A ldr\cc \rt, [\rn, \rm]! | |
| 221 | +T itt \cc | |
| 222 | +T add\cc \rn, \rn, \rm | |
| 223 | +T ldr\cc \rt, [\rn] | |
| 224 | +.endm | |
| 225 | + | |
| 219 | 226 | .macro ldrd_reg rt, rt2, rn, rm |
| 220 | 227 | A ldrd \rt, \rt2, [\rn, \rm] |
| 221 | 228 | T add \rt, \rn, \rm |