| OLD | NEW |
| 1 ; Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 ; Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 ; Use of this source code is governed by a BSD-style license that can be | 2 ; Use of this source code is governed by a BSD-style license that can be |
| 3 ; found in the LICENSE file. | 3 ; found in the LICENSE file. |
| 4 | 4 |
| 5 %include "media/base/simd/media_export.asm" | 5 %include "media/base/simd/media_export.asm" |
| 6 | 6 |
| 7 EXPORT SYMBOL | 7 EXPORT SYMBOL |
| 8 align function_align | 8 align function_align |
| 9 | 9 |
| 10 mangle(SYMBOL): | 10 mangle(SYMBOL): |
| 11 %assign stack_offset 0 | 11 %assign stack_offset 0 |
| 12 PROLOGUE 6, 7, 3, Y, U, V, A, ARGB, WIDTH, TEMP | 12 PROLOGUE 7, 7, 3, Y, U, V, A, ARGB, WIDTH, TABLE, TEMP |
| 13 extern mangle(kCoefficientsRgbY) | |
| 14 PUSH WIDTHq | 13 PUSH WIDTHq |
| 15 DEFINE_ARGS Y, U, V, A, ARGB, TABLE, TEMP | 14 DEFINE_ARGS Y, U, V, A, ARGB, TABLE, TEMP |
| 16 LOAD_SYM TABLEq, mangle(kCoefficientsRgbY) | |
| 17 jmp .convertend | 15 jmp .convertend |
| 18 | 16 |
| 19 .convertloop: | 17 .convertloop: |
| 20 movzx TEMPd, BYTE [Uq] | 18 movzx TEMPd, BYTE [Uq] |
| 21 movq mm0, [TABLEq + 2048 + 8 * TEMPq] | 19 movq mm0, [TABLEq + 2048 + 8 * TEMPq] |
| 22 add Uq, 1 | 20 add Uq, 1 |
| 23 | 21 |
| 24 movzx TEMPd, BYTE [Vq] | 22 movzx TEMPd, BYTE [Vq] |
| 25 paddsw mm0, [TABLEq + 4096 + 8 * TEMPq] | 23 paddsw mm0, [TABLEq + 4096 + 8 * TEMPq] |
| 26 add Vq, 1 | 24 add Vq, 1 |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 movq mm0, [TABLEq + 6144 + 8 * TEMPq] | 83 movq mm0, [TABLEq + 6144 + 8 * TEMPq] |
| 86 pmullw mm1, mm0 | 84 pmullw mm1, mm0 |
| 87 psrlw mm1, 8 | 85 psrlw mm1, 8 |
| 88 packuswb mm1, mm1 | 86 packuswb mm1, mm1 |
| 89 | 87 |
| 90 movd [ARGBq], mm1 | 88 movd [ARGBq], mm1 |
| 91 | 89 |
| 92 .convertdone: | 90 .convertdone: |
| 93 POP TABLEq | 91 POP TABLEq |
| 94 RET | 92 RET |
| OLD | NEW |