| Line 249... |
Line 249... |
| 249 |
__asm__ volatile(" ssub8 r0, r0, r4 \n"); // 1 cycle
|
249 |
__asm__ volatile(" ssub8 r0, r0, r4 \n"); // 1 cycle
|
| 250 |
__asm__ volatile(" sadd8 r1, r1, r5 \n"); // 1 cycle
|
250 |
__asm__ volatile(" sadd8 r1, r1, r5 \n"); // 1 cycle
|
| 251 |
__asm__ volatile(" qadd8 r0, r0, r1 \n"); // 1 cycle, r0 latency 2
|
251 |
__asm__ volatile(" qadd8 r0, r0, r1 \n"); // 1 cycle, r0 latency 2
|
| 252 |
// bubble (due to r0 latency)
|
252 |
// bubble (due to r0 latency)
|
| 253 |
__asm__ volatile(" sadd8 r0, r0, r4 \n"); // 1 cycle
|
253 |
__asm__ volatile(" sadd8 r0, r0, r4 \n"); // 1 cycle
|
| 254 |
__asm__ volatile(" str r0, [r9] \n"); // 1 cycle, 1 mem, r9 early
|
- |
|
| 255 |
__asm__ volatile(" bic r2, r0, r6 \n"); // 1 cycle
|
254 |
__asm__ volatile(" bic r2, r0, r6 \n"); // 1 cycle
|
| 256 |
__asm__ volatile(" and r1, r6, r0,lsr#6 \n"); // 1 cycle, r0 early
|
255 |
__asm__ volatile(" and r1, r6, r0,lsr#6 \n"); // 1 cycle, r0 early
|
| 257 |
__asm__ volatile(" orr r2, r2, r1 \n"); // 1 cycle
|
256 |
__asm__ volatile(" orr r2, r2, r1 \n"); // 1 cycle
|
| 258 |
__asm__ volatile(" mov r1, r5 \n"); // 1 cycle
|
257 |
__asm__ volatile(" mov r1, r5 \n"); // 1 cycle
|
| 259 |
__asm__ volatile(" shsub8 r5, r0, r2 \n"); // 1 cycle
|
258 |
__asm__ volatile(" shsub8 r5, r0, r2 \n"); // 1 cycle
|
| - |
|
259 |
__asm__ volatile(" rev r0, r0 \n"); // 1 cycle, r1 early
|
| 260 |
__asm__ volatile(" shadd8 r1, r1, r5 \n"); // 1 cycle
|
260 |
__asm__ volatile(" shadd8 r1, r1, r5 \n"); // 1 cycle
|
| - |
|
261 |
__asm__ volatile(" mov r0, r0, lsr#8 \n"); // 1 cycle, r1 early
|
| - |
|
262 |
__asm__ volatile(" str r0, [r9] \n"); // 1 cycle, 1 mem, r9 early
|
| 261 |
__asm__ volatile(" str r1, [r7], #4 \n"); // 1 cycle, 1 mem, r7 early
|
263 |
__asm__ volatile(" str r1, [r7], #4 \n"); // 1 cycle, 1 mem, r7 early
|
| 262 |
__asm__ volatile(" nop \n"); // 2 cycles
|
264 |
__asm__ volatile(" nop \n"); // 2 cycles
|
| 263 |
__asm__ volatile(" nop \n"); // 2 cycles
|
265 |
__asm__ volatile(" nop \n"); // 2 cycles
|
| 264 |
__asm__ volatile(" nop \n"); // 2 cycles
|
266 |
__asm__ volatile(" nop \n"); // 2 cycles
|
| 265 |
__asm__ volatile(" nop \n"); // 2 cycles
|
- |
|
| 266 |
__asm__ volatile(" bne displaylcd_dither_x \n");
|
267 |
__asm__ volatile(" bne displaylcd_dither_x \n");
|
| 267 |
__asm__ volatile(" add r3, r3, r11 \n");
|
268 |
__asm__ volatile(" add r3, r3, r11 \n");
|
| 268 |
__asm__ volatile(" subs r12, r12, #1 \n");
|
269 |
__asm__ volatile(" subs r12, r12, #1 \n");
|
| 269 |
__asm__ volatile(" bne displaylcd_dither_y \n");
|
270 |
__asm__ volatile(" bne displaylcd_dither_y \n");
|
| 270 |
__asm__ volatile("displaylcd_dither_free: \n");
|
271 |
__asm__ volatile("displaylcd_dither_free: \n");
|