llvm/test/FrontendC/2010-06-17-asmcrash.c
Dale Johannesen a5989f8e22 In asm's, output operands with matching input constraints
have to be registers, per gcc documentation.  This affects
the logic for determining what "g" should lower to.  PR 7393.
A couple of existing testcases are affected.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107079 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-28 22:09:45 +00:00

17 lines
463 B
C

// RUN: %llvmgcc -S -o - %s | llc -mtriple=x86_64-apple-darwin | FileCheck %s
// XFAIL: *
// XTARGET: x86,i386,i686
typedef long long int64_t;
typedef unsigned char uint8_t;
typedef int64_t x86_reg;
void avg_pixels8_mmx2(uint8_t *block, const uint8_t *pixels, int line_size, int h)
{
__asm__ volatile("# %0 %1 %2 %3"
:"+g"(h), "+S"(pixels), "+D"(block)
:"r" ((x86_reg)line_size)
:"%""rax", "memory");
// CHECK: # %ecx %rsi %rdi %rdx
}