Files
ftmemsim-valgrind/none/tests/amd64/ssse3_misaligned.c
Nicholas Nethercote f3f801ed48 Merge r9533..9536 (add tests/{asm.h,sys_mman.h,malloc.h} from the DARWIN
branch.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9537
2009-04-15 03:12:43 +00:00

37 lines
726 B
C

#include "tests/malloc.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <signal.h>
void maybe_fault ( int delta )
{
char* x = memalign16(32);
memset(x, 0, 32);
__asm__ __volatile__(
"pabsb (%0),%%xmm7"
: /*out*/ : /*in*/ "r"(x+delta) : /*trash*/"xmm7" );
free(x);
}
void handler ( int signo )
{
assert(signo == SIGSEGV);
fprintf(stderr, "three\n");
exit(0);
}
int main ( void )
{
signal(SIGSEGV, handler);
fprintf(stderr, "you should see: \"one\\ntwo\\nthree\\n\"\n");
fprintf(stderr, "one\n");
maybe_fault(0);
fprintf(stderr, "two\n");
maybe_fault(5);
fprintf(stderr, "test failed! you shouldn't see this\n");
return 0;
}