xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGen/2010-06-17-asmcrash.c (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc // REQUIRES: x86-64-registered-target
2*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -triple x86_64-unknown-unknown -O1 -S -o - %s | FileCheck %s
3*f4a2713aSLionel Sambuc 
4*f4a2713aSLionel Sambuc typedef long long int64_t;
5*f4a2713aSLionel Sambuc typedef unsigned char uint8_t;
6*f4a2713aSLionel Sambuc typedef int64_t x86_reg;
7*f4a2713aSLionel Sambuc 
8*f4a2713aSLionel Sambuc void avg_pixels8_mmx2(uint8_t *block, const uint8_t *pixels, int line_size, int h)
9*f4a2713aSLionel Sambuc {
10*f4a2713aSLionel Sambuc 	__asm__ volatile("# %0 %1 %2 %3"
11*f4a2713aSLionel Sambuc      :"+g"(h), "+S"(pixels), "+D"(block)
12*f4a2713aSLionel Sambuc      :"r" ((x86_reg)line_size)
13*f4a2713aSLionel Sambuc      :"%""rax", "memory");
14*f4a2713aSLionel Sambuc // CHECK: # %ecx %rsi %rdi %rdx
15*f4a2713aSLionel Sambuc  }
16