blob: d8eb5f141dda9cefc4ccb75868fd24846b75e325 [file] [log] [blame]
// Set up the 256-bit shadow memory test, by defining the
// required vector-copy function, and then including the
// template.
#define VECTOR_BYTES 32
static __attribute__((noinline))
void vector_copy ( void* dst, void* src )
{
/* Note: Versions of GCC through 4.8.1 do not allow "ymm7" in the
clobber list. (See http://stackoverflow.com/a/15767111/768469).
Simulate it with "xmm7". */
__asm__ __volatile__(
"vmovupd (%1), %%ymm7 ; vmovupd %%ymm7, (%0)"
: /*OUT*/ : /*IN*/ "r"(dst), "r"(src) : "memory","xmm7"
);
}
// Include the test body, which refers to the above function
#include "../common/sh-mem-vec128.tmpl.c"