| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright 2014 The Android Open Source Project | 2  * Copyright 2014 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 #if defined(__clang__) || (defined(__GNUC__) && !defined(SK_BUILD_FOR_MAC)) | 8 #if defined(__clang__) || (defined(__GNUC__) && !defined(SK_BUILD_FOR_MAC)) | 
| 9 | 9 | 
| 10 #define CFI_PUSH(REG) \ | 10 #define CFI_PUSH(REG) \ | 
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 53  * memory latency worse-case. | 53  * memory latency worse-case. | 
| 54  */ | 54  */ | 
| 55 | 55 | 
| 56 #ifdef __clang__ | 56 #ifdef __clang__ | 
| 57     .text | 57     .text | 
| 58 #else | 58 #else | 
| 59     .section .text.sse4.2,"ax",@progbits | 59     .section .text.sse4.2,"ax",@progbits | 
| 60     .type S32A_Opaque_BlitRow32_SSE4_asm, @function | 60     .type S32A_Opaque_BlitRow32_SSE4_asm, @function | 
| 61 #endif | 61 #endif | 
| 62     .p2align 4 | 62     .p2align 4 | 
| 63 #if defined(__clang__) && defined(SK_BUILD_FOR_MAC) | 63 #if defined(SK_BUILD_FOR_MAC) | 
| 64     .global _S32A_Opaque_BlitRow32_SSE4_asm | 64     .global _S32A_Opaque_BlitRow32_SSE4_asm | 
|  | 65     .private_extern _S32A_Opaque_BlitRow32_SSE4_asm | 
| 65 _S32A_Opaque_BlitRow32_SSE4_asm: | 66 _S32A_Opaque_BlitRow32_SSE4_asm: | 
| 66 #else | 67 #else | 
| 67     .global S32A_Opaque_BlitRow32_SSE4_asm | 68     .global S32A_Opaque_BlitRow32_SSE4_asm | 
|  | 69     .hidden S32A_Opaque_BlitRow32_SSE4_asm | 
| 68 S32A_Opaque_BlitRow32_SSE4_asm: | 70 S32A_Opaque_BlitRow32_SSE4_asm: | 
| 69 #endif | 71 #endif | 
| 70     .cfi_startproc | 72     .cfi_startproc | 
| 71     movl        8(%esp), %eax           // Source pointer | 73     movl        8(%esp), %eax           // Source pointer | 
| 72     movl        12(%esp), %ecx          // Pixel count | 74     movl        12(%esp), %ecx          // Pixel count | 
| 73     movl        4(%esp), %edx           // Destination pointer | 75     movl        4(%esp), %edx           // Destination pointer | 
| 74     prefetcht0  (%eax) | 76     prefetcht0  (%eax) | 
| 75 | 77 | 
| 76     // Setup SSE constants | 78     // Setup SSE constants | 
| 77     pcmpeqd     %xmm7, %xmm7            // 0xFF000000 mask to check alpha | 79     pcmpeqd     %xmm7, %xmm7            // 0xFF000000 mask to check alpha | 
| (...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 460     paddb       %xmm3, %xmm1            // Add source and destination pixels tog
     ether | 462     paddb       %xmm3, %xmm1            // Add source and destination pixels tog
     ether | 
| 461     movdqa      %xmm1, -16(%edx, %edi)  // Store four destination pixels | 463     movdqa      %xmm1, -16(%edx, %edi)  // Store four destination pixels | 
| 462     js          .LSmallRemaining        // Reuse code from small loop | 464     js          .LSmallRemaining        // Reuse code from small loop | 
| 463     jmp         .LRemain1 | 465     jmp         .LRemain1 | 
| 464 | 466 | 
| 465     .cfi_endproc | 467     .cfi_endproc | 
| 466 #ifndef __clang__ | 468 #ifndef __clang__ | 
| 467     .size S32A_Opaque_BlitRow32_SSE4_asm, .-S32A_Opaque_BlitRow32_SSE4_asm | 469     .size S32A_Opaque_BlitRow32_SSE4_asm, .-S32A_Opaque_BlitRow32_SSE4_asm | 
| 468 #endif | 470 #endif | 
| 469 #endif | 471 #endif | 
| OLD | NEW | 
|---|