Bug 740191 - [Skia] Fix SkBlitRow_opts_arm.cpp for compiling with NEON and Thumb enabled. r=mattwoodrow
--- a/gfx/skia/src/opts/SkBlitRow_opts_arm.cpp
+++ b/gfx/skia/src/opts/SkBlitRow_opts_arm.cpp
@@ -24,16 +24,19 @@ static void S32A_D565_Opaque_neon(uint16
if (count >= 8) {
uint16_t* SK_RESTRICT keep_dst;
asm volatile (
"ands ip, %[count], #7 \n\t"
"vmov.u8 d31, #1<<7 \n\t"
"vld1.16 {q12}, [%[dst]] \n\t"
"vld4.8 {d0-d3}, [%[src]] \n\t"
+ // Thumb does not support the standard ARM conditional instructions but
+ // instead requires the 'it' instruction to signal conditional execution.
+ "it eq \n\t"
"moveq ip, #8 \n\t"
"mov %[keep_dst], %[dst] \n\t"
"add %[src], %[src], ip, LSL#2 \n\t"
"add %[dst], %[dst], ip, LSL#1 \n\t"
"subs %[count], %[count], ip \n\t"
"b 9f \n\t"
// LOOP