xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGen/inline-asm-mrv.c (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -emit-llvm %s -o - -O | not grep alloca
2*f4a2713aSLionel Sambuc // PR2094
3*f4a2713aSLionel Sambuc 
sad16_sse2(void * v,unsigned char * blk2,unsigned char * blk1,int stride,int h)4*f4a2713aSLionel Sambuc int sad16_sse2(void *v, unsigned char *blk2, unsigned char *blk1,
5*f4a2713aSLionel Sambuc                int stride, int h) {
6*f4a2713aSLionel Sambuc     int ret;
7*f4a2713aSLionel Sambuc     asm volatile( "%0 %1 %2 %3"
8*f4a2713aSLionel Sambuc         : "+r" (h), "+r" (blk1), "+r" (blk2)
9*f4a2713aSLionel Sambuc         : "r" ((long)stride));
10*f4a2713aSLionel Sambuc     asm volatile("set %0 %1" : "=r"(ret) : "r"(blk1));
11*f4a2713aSLionel Sambuc     return ret;
12*f4a2713aSLionel Sambuc }
13