forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			21 lines
		
	
	
		
			625 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			625 B
		
	
	
	
		
			C
		
	
	
	
| // REQUIRES: powerpc-registered-target
 | |
| 
 | |
| // RUN: %clang_cc1 -triple powerpc64le-unknown-linux-gnu -target-feature +vsx \
 | |
| // RUN:   -target-cpu pwr9 -emit-llvm %s -o - | FileCheck %s
 | |
| 
 | |
| // This case is to test VSX register support in the clobbers list for inline asm.
 | |
| void testVSX (void) {
 | |
|   unsigned int a = 0;
 | |
|   unsigned int *dbell=&a;
 | |
|   int d;
 | |
|   __asm__ __volatile__ (
 | |
|     "lxvw4x  %%vs32, 0, %2\n\t"
 | |
|     "stxvw4x %%vs32, 0, %1"
 | |
|     : "=m"(*(volatile unsigned int*)(dbell))
 | |
|     : "r" (dbell), "r" (&d)
 | |
|     : "vs32"
 | |
|   );
 | |
| }
 | |
| 
 | |
| // CHECK: call void asm sideeffect "lxvw4x  %vs32, 0, $2\0A\09stxvw4x %vs32, 0, $1", "=*m,r,r,~{vs32}"
 |