1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/test/FrontendC/2010-06-17-asmcrash.c
Dale Johannesen 94738aa18e 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.

llvm-svn: 107079
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
}