1474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; 2474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; Copyright (c) 2010 The WebM project authors. All Rights Reserved. 3474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; 4474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; Use of this source code is governed by a BSD-style license 5474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; that can be found in the LICENSE file in the root of the source 6474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; tree. An additional intellectual property rights grant can be found 7474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; in the file PATENTS. All contributing project authors may 8474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; be found in the AUTHORS file in the root of the source tree. 9474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; 10474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 11474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 12474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org%include "vpx_ports/x86_abi_support.asm" 13474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 14474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 15474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org;void copy_mem8x8_mmx( 16474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; unsigned char *src, 17474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; int src_stride, 18474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; unsigned char *dst, 19474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; int dst_stride 20474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; ) 21f18f5eb544bb35db231ced346e077907a8c61fc9hclam@chromium.orgglobal sym(vp8_copy_mem8x8_mmx) PRIVATE 22474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgsym(vp8_copy_mem8x8_mmx): 23474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org push rbp 24474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org mov rbp, rsp 25474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org SHADOW_ARGS_TO_STACK 4 26474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org push rsi 27474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org push rdi 28474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ; end prolog 29474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 30474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org mov rsi, arg(0) ;src; 31474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm0, [rsi] 32474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 33474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movsxd rax, dword ptr arg(1) ;src_stride; 34474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org mov rdi, arg(2) ;dst; 35474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 36474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm1, [rsi+rax] 37474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm2, [rsi+rax*2] 38474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 39474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movsxd rcx, dword ptr arg(3) ;dst_stride 40474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rsi, [rsi+rax*2] 41474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 42474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi], mm0 43474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add rsi, rax 44474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 45474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx], mm1 46474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx*2], mm2 47474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 48474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 49474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rdi, [rdi+rcx*2] 50474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm3, [rsi] 51474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 52474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add rdi, rcx 53474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm4, [rsi+rax] 54474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 55474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm5, [rsi+rax*2] 56474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi], mm3 57474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 58474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rsi, [rsi+rax*2] 59474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx], mm4 60474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 61474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx*2], mm5 62474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rdi, [rdi+rcx*2] 63474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 64474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm0, [rsi+rax] 65474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm1, [rsi+rax*2] 66474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 67474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx], mm0 68474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx*2],mm1 69474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 70474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ; begin epilog 71474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org pop rdi 72474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org pop rsi 73474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org UNSHADOW_ARGS 74474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org pop rbp 75474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ret 76474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 77474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 78474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org;void copy_mem8x4_mmx( 79474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; unsigned char *src, 80474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; int src_stride, 81474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; unsigned char *dst, 82474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; int dst_stride 83474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; ) 84f18f5eb544bb35db231ced346e077907a8c61fc9hclam@chromium.orgglobal sym(vp8_copy_mem8x4_mmx) PRIVATE 85474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgsym(vp8_copy_mem8x4_mmx): 86474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org push rbp 87474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org mov rbp, rsp 88474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org SHADOW_ARGS_TO_STACK 4 89474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org push rsi 90474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org push rdi 91474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ; end prolog 92474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 93474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org mov rsi, arg(0) ;src; 94474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm0, [rsi] 95474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 96474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movsxd rax, dword ptr arg(1) ;src_stride; 97474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org mov rdi, arg(2) ;dst; 98474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 99474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm1, [rsi+rax] 100474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm2, [rsi+rax*2] 101474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 102474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movsxd rcx, dword ptr arg(3) ;dst_stride 103474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rsi, [rsi+rax*2] 104474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 105474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi], mm0 106474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx], mm1 107474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 108474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx*2], mm2 109474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rdi, [rdi+rcx*2] 110474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 111474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm3, [rsi+rax] 112474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx], mm3 113474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 114474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ; begin epilog 115474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org pop rdi 116474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org pop rsi 117474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org UNSHADOW_ARGS 118474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org pop rbp 119474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ret 120474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 121474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 122474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org;void copy_mem16x16_mmx( 123474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; unsigned char *src, 124474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; int src_stride, 125474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; unsigned char *dst, 126474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; int dst_stride 127474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org; ) 128f18f5eb544bb35db231ced346e077907a8c61fc9hclam@chromium.orgglobal sym(vp8_copy_mem16x16_mmx) PRIVATE 129474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgsym(vp8_copy_mem16x16_mmx): 130474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org push rbp 131474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org mov rbp, rsp 132474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org SHADOW_ARGS_TO_STACK 4 133474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org push rsi 134474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org push rdi 135474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ; end prolog 136474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 137474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org mov rsi, arg(0) ;src; 138474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movsxd rax, dword ptr arg(1) ;src_stride; 139474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 140474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org mov rdi, arg(2) ;dst; 141474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movsxd rcx, dword ptr arg(3) ;dst_stride 142474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 143474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm0, [rsi] 144474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm3, [rsi+8]; 145474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 146474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm1, [rsi+rax] 147474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm4, [rsi+rax+8] 148474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 149474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm2, [rsi+rax*2] 150474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm5, [rsi+rax*2+8] 151474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 152474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rsi, [rsi+rax*2] 153474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add rsi, rax 154474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 155474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi], mm0 156474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+8], mm3 157474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 158474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx], mm1 159474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx+8], mm4 160474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 161474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx*2], mm2 162474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx*2+8], mm5 163474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 164474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rdi, [rdi+rcx*2] 165474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add rdi, rcx 166474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 167474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm0, [rsi] 168474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm3, [rsi+8]; 169474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 170474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm1, [rsi+rax] 171474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm4, [rsi+rax+8] 172474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 173474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm2, [rsi+rax*2] 174474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm5, [rsi+rax*2+8] 175474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 176474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rsi, [rsi+rax*2] 177474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add rsi, rax 178474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 179474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi], mm0 180474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+8], mm3 181474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 182474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx], mm1 183474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx+8], mm4 184474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 185474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx*2], mm2 186474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx*2+8], mm5 187474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 188474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rdi, [rdi+rcx*2] 189474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add rdi, rcx 190474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 191474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm0, [rsi] 192474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm3, [rsi+8]; 193474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 194474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm1, [rsi+rax] 195474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm4, [rsi+rax+8] 196474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 197474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm2, [rsi+rax*2] 198474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm5, [rsi+rax*2+8] 199474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 200474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rsi, [rsi+rax*2] 201474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add rsi, rax 202474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 203474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi], mm0 204474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+8], mm3 205474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 206474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx], mm1 207474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx+8], mm4 208474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 209474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx*2], mm2 210474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx*2+8], mm5 211474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 212474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rdi, [rdi+rcx*2] 213474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add rdi, rcx 214474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 215474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm0, [rsi] 216474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm3, [rsi+8]; 217474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 218474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm1, [rsi+rax] 219474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm4, [rsi+rax+8] 220474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 221474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm2, [rsi+rax*2] 222474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm5, [rsi+rax*2+8] 223474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 224474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rsi, [rsi+rax*2] 225474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add rsi, rax 226474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 227474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi], mm0 228474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+8], mm3 229474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 230474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx], mm1 231474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx+8], mm4 232474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 233474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx*2], mm2 234474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx*2+8], mm5 235474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 236474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rdi, [rdi+rcx*2] 237474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add rdi, rcx 238474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 239474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm0, [rsi] 240474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm3, [rsi+8]; 241474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 242474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm1, [rsi+rax] 243474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm4, [rsi+rax+8] 244474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 245474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm2, [rsi+rax*2] 246474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm5, [rsi+rax*2+8] 247474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 248474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rsi, [rsi+rax*2] 249474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add rsi, rax 250474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 251474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi], mm0 252474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+8], mm3 253474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 254474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx], mm1 255474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx+8], mm4 256474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 257474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx*2], mm2 258474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+rcx*2+8], mm5 259474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 260474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org lea rdi, [rdi+rcx*2] 261474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add rdi, rcx 262474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 263474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm0, [rsi] 264474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq mm3, [rsi+8]; 265474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 266474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi], mm0 267474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org movq [rdi+8], mm3 268474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 269474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ; begin epilog 270474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org pop rdi 271474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org pop rsi 272474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org UNSHADOW_ARGS 273474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org pop rbp 274474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ret 275