// RUN: %clang_cc1 -triple arm64-apple-ios -emit-llvm -o - %s | FileCheck %s | |
// rdar://9167275 | |
int t1() | |
{ | |
int x; | |
__asm__("mov %0, 7" : "=r" (x)); | |
return x; | |
} | |
long t2() | |
{ | |
long x; | |
__asm__("mov %0, 7" : "=r" (x)); | |
return x; | |
} | |
long t3() | |
{ | |
long x; | |
__asm__("mov %w0, 7" : "=r" (x)); | |
return x; | |
} | |
// rdar://9281206 | |
void t4(long op) { | |
long x1; | |
asm ("mov x0, %1; svc #0;" : "=r"(x1) :"r"(op),"r"(x1) :"x0" ); | |
} | |
// rdar://9394290 | |
float t5(float x) { | |
__asm__("fadd %0, %0, %0" : "+w" (x)); | |
return x; | |
} | |
// rdar://9865712 | |
void t6 (void *f, int g) { | |
// CHECK: t6 | |
// CHECK: call void asm "str $1, $0", "=*Q,r" | |
asm("str %1, %0" : "=Q"(f) : "r"(g)); | |
} |