| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 The Android Open Source Project | 2 * Copyright 2012 The Android Open Source Project |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "SkBlitRow_opts_arm_neon.h" | 8 #include "SkBlitRow_opts_arm_neon.h" |
| 9 | 9 |
| 10 #include "SkBlitMask.h" | 10 #include "SkBlitMask.h" |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 292 "vld1.32 {d1}, [%[src]]! \n\t" | 292 "vld1.32 {d1}, [%[src]]! \n\t" |
| 293 | 293 |
| 294 "12: \n\t" | 294 "12: \n\t" |
| 295 "tst %[count], #1 \n\t" | 295 "tst %[count], #1 \n\t" |
| 296 "beq 11f \n\t" | 296 "beq 11f \n\t" |
| 297 "vld1.16 {d24[1]}, [%[dst]]! \n\t" | 297 "vld1.16 {d24[1]}, [%[dst]]! \n\t" |
| 298 "vld1.32 {d0[1]}, [%[src]]! \n\t" | 298 "vld1.32 {d0[1]}, [%[src]]! \n\t" |
| 299 | 299 |
| 300 "11: \n\t" | 300 "11: \n\t" |
| 301 // unzips achieve the same as a vld4 operation | 301 // unzips achieve the same as a vld4 operation |
| 302 "vuzpq.u16 q0, q1 \n\t" | 302 "vuzp.u16 q0, q1 \n\t" |
| 303 "vuzp.u8 d0, d1 \n\t" | 303 "vuzp.u8 d0, d1 \n\t" |
| 304 "vuzp.u8 d2, d3 \n\t" | 304 "vuzp.u8 d2, d3 \n\t" |
| 305 // expand 0565 q12 to 8888 {d4-d7} | 305 // expand 0565 q12 to 8888 {d4-d7} |
| 306 "vmovn.u16 d4, q12 \n\t" | 306 "vmovn.u16 d4, q12 \n\t" |
| 307 "vshr.u16 q11, q12, #5 \n\t" | 307 "vshr.u16 q11, q12, #5 \n\t" |
| 308 "vshr.u16 q10, q12, #6+5 \n\t" | 308 "vshr.u16 q10, q12, #6+5 \n\t" |
| 309 "vmovn.u16 d5, q11 \n\t" | 309 "vmovn.u16 d5, q11 \n\t" |
| 310 "vmovn.u16 d6, q10 \n\t" | 310 "vmovn.u16 d6, q10 \n\t" |
| 311 "vshl.u8 d4, d4, #3 \n\t" | 311 "vshl.u8 d4, d4, #3 \n\t" |
| 312 "vshl.u8 d5, d5, #2 \n\t" | 312 "vshl.u8 d5, d5, #2 \n\t" |
| (...skipping 1364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1677 S32A_Opaque_BlitRow32_neon_src_alpha, // S32A_Opaque, | 1677 S32A_Opaque_BlitRow32_neon_src_alpha, // S32A_Opaque, |
| 1678 #else | 1678 #else |
| 1679 S32A_Opaque_BlitRow32_neon, // S32A_Opaque, | 1679 S32A_Opaque_BlitRow32_neon, // S32A_Opaque, |
| 1680 #endif | 1680 #endif |
| 1681 #ifdef SK_CPU_ARM32 | 1681 #ifdef SK_CPU_ARM32 |
| 1682 S32A_Blend_BlitRow32_neon // S32A_Blend | 1682 S32A_Blend_BlitRow32_neon // S32A_Blend |
| 1683 #else | 1683 #else |
| 1684 NULL | 1684 NULL |
| 1685 #endif | 1685 #endif |
| 1686 }; | 1686 }; |
| OLD | NEW |