forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			27 lines
		
	
	
		
			640 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			640 B
		
	
	
	
		
			C
		
	
	
	
| // REQUIRES: arm-registered-target
 | |
| // RUN: %clang_cc1 -triple thumb %s -emit-llvm -o - | FileCheck %s
 | |
| int t1() {
 | |
|     static float k = 1.0f;
 | |
|     // CHECK: flds s15
 | |
|     __asm__ volatile ("flds s15, %[k] \n" :: [k] "Uv" (k) : "s15");
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| // CHECK-LABEL: @even_reg_constraint_Te
 | |
| int even_reg_constraint_Te(void) {
 | |
|   int acc = 0;
 | |
|   // CHECK: vaddv{{.*\^Te}}
 | |
|   asm("vaddv.s8 %0, Q0"
 | |
|       : "+Te" (acc));
 | |
|   return acc;
 | |
| }
 | |
| 
 | |
| // CHECK-LABEL: @odd_reg_constraint_To
 | |
| int odd_reg_constraint_To(void) {
 | |
|   int eacc = 0, oacc = 0;
 | |
|   // CHECK: vaddlv{{.*\^To}}
 | |
|   asm("vaddlv.s8 %0, %1, Q0"
 | |
|       : "+Te" (eacc), "+To" (oacc));
 | |
|   return oacc;
 | |
| }
 |