1436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 2436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov// Set up the 128-bit shadow memory test, by defining the 3436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov// required vector-copy function, and then including the 4436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov// template. 5436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 6436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VECTOR_BYTES 16 7436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 8436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovstatic __attribute__((noinline)) 9436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovvoid vector_copy ( void* dst, void* src ) 10436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov{ 11436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov __asm__ __volatile__( 12436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov "movups (%1), %%xmm7 ; movups %%xmm7, (%0)" 13436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov : /*OUT*/ : /*IN*/ "r"(dst), "r"(src) : "memory","xmm7" 14436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov ); 15436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov} 16436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 17436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov// Include the test body, which refers to the above function 18436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#include "../common/sh-mem-vec128.tmpl.c" 19