asm.c revision ebaae2a3103b443d50444d335ab5ab0ff7680da2
19f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson// RUN: clang -emit-llvm %s -o %t -arch=i386 29f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlssonvoid t1(int len) 32763b3af0a527c3a63cb058b90c22db0b7bcf558Anders Carlsson{ 49f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson __asm__ volatile("" : "=&r"(len), "+&r"(len)); 52763b3af0a527c3a63cb058b90c22db0b7bcf558Anders Carlsson} 69f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson 79f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlssonvoid t2(unsigned long long t) 89f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson{ 99f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson __asm__ volatile("" : "+m"(t)); 109f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson} 119f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson 129f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlssonvoid t3(unsigned char *src, unsigned long long temp) 139f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson{ 149f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson __asm__ volatile("" : "+m"(temp), "+r"(src)); 159f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson} 169f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson 17ebaae2a3103b443d50444d335ab5ab0ff7680da2Anders Carlssonvoid t4() 18ebaae2a3103b443d50444d335ab5ab0ff7680da2Anders Carlsson{ 19ebaae2a3103b443d50444d335ab5ab0ff7680da2Anders Carlsson unsigned long long a; 20ebaae2a3103b443d50444d335ab5ab0ff7680da2Anders Carlsson struct reg { unsigned long long a, b; } b; 21ebaae2a3103b443d50444d335ab5ab0ff7680da2Anders Carlsson 22ebaae2a3103b443d50444d335ab5ab0ff7680da2Anders Carlsson __asm__ volatile ("":: "m"(a), "m"(b)); 23ebaae2a3103b443d50444d335ab5ab0ff7680da2Anders Carlsson} 249f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson 259f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson 269f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson 279f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson 289f2505b934745b18d580ade4dac7b8b16952a30cAnders Carlsson 29