// RUN: %clang_cc1 -triple armv7-apple-darwin9 -emit-llvm -w -o - %s | FileCheck %s

typedef long long int64_t;
typedef unsigned int uint32_t;

int64_t foo(int64_t v, volatile int64_t *p)
{
  register uint32_t rl asm("r1");
  register uint32_t rh asm("r2");

  int64_t r;
  uint32_t t;

  __asm__ __volatile__(							\
		       "ldrexd%[_rl], %[_rh], [%[_p]]"			\
		       : [_rl] "=&r" (rl), [_rh] "=&r" (rh)		\
		       : [_p] "p" (p) : "memory");

  // CHECK: call { i32, i32 } asm sideeffect "ldrexd$0, $1, [$2]", "={r1},={r2},r,~{memory}"(i64*

  return r;
}

// Make sure we translate register names properly.
void bar (void) {
  register unsigned int rn asm("r14");
  register unsigned int d asm("r2");

  // CHECK: call i32 asm sideeffect "sub $1, $1, #32", "={r2},{lr}"
  asm volatile ("sub %1, %1, #32" : "=r"(d) : "r"(rn));
}
