| 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 7, 7, 3, Y, U, V, A, ARGB, WIDTH, TABLE, TEMP | 12 PROLOGUE 6, 7, 3, Y, U, V, A, ARGB, WIDTH, TEMP |
| 13 extern mangle(kCoefficientsRgbY) |
| 13 PUSH WIDTHq | 14 PUSH WIDTHq |
| 14 DEFINE_ARGS Y, U, V, A, ARGB, TABLE, TEMP | 15 DEFINE_ARGS Y, U, V, A, ARGB, TABLE, TEMP |
| 16 LOAD_SYM TABLEq, mangle(kCoefficientsRgbY) |
| 15 jmp .convertend | 17 jmp .convertend |
| 16 | 18 |
| 17 .convertloop: | 19 .convertloop: |
| 18 movzx TEMPd, BYTE [Uq] | 20 movzx TEMPd, BYTE [Uq] |
| 19 movq mm0, [TABLEq + 2048 + 8 * TEMPq] | 21 movq mm0, [TABLEq + 2048 + 8 * TEMPq] |
| 20 add Uq, 1 | 22 add Uq, 1 |
| 21 | 23 |
| 22 movzx TEMPd, BYTE [Vq] | 24 movzx TEMPd, BYTE [Vq] |
| 23 paddsw mm0, [TABLEq + 4096 + 8 * TEMPq] | 25 paddsw mm0, [TABLEq + 4096 + 8 * TEMPq] |
| 24 add Vq, 1 | 26 add Vq, 1 |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 movq mm0, [TABLEq + 6144 + 8 * TEMPq] | 85 movq mm0, [TABLEq + 6144 + 8 * TEMPq] |
| 84 pmullw mm1, mm0 | 86 pmullw mm1, mm0 |
| 85 psrlw mm1, 8 | 87 psrlw mm1, 8 |
| 86 packuswb mm1, mm1 | 88 packuswb mm1, mm1 |
| 87 | 89 |
| 88 movd [ARGBq], mm1 | 90 movd [ARGBq], mm1 |
| 89 | 91 |
| 90 .convertdone: | 92 .convertdone: |
| 91 POP TABLEq | 93 POP TABLEq |
| 92 RET | 94 RET |
| OLD | NEW |