You've already forked linux-packaging-mono
							
							
		
			
	
	
		
			29 lines
		
	
	
		
			725 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
		
		
			
		
	
	
			29 lines
		
	
	
		
			725 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
|   | ; RUN: llc -mtriple thumbv7-windows-itanium -filetype asm -o - %s | FileCheck %s
 | ||
|  | 
 | ||
|  | @_begin = external global i8 | ||
|  | @_end = external global i8 | ||
|  | 
 | ||
|  | declare arm_aapcs_vfpcc void @force_emission() | ||
|  | 
 | ||
|  | define arm_aapcs_vfpcc void @bundle() { | ||
|  | entry: | ||
|  |   br i1 icmp uge (i32 sub (i32 ptrtoint (i8* @_end to i32), i32 ptrtoint (i8* @_begin to i32)), i32 4), label %if.then, label %if.end | ||
|  | 
 | ||
|  | if.then: | ||
|  |   tail call arm_aapcs_vfpcc void @force_emission() | ||
|  |   br label %if.end | ||
|  | 
 | ||
|  | if.end: | ||
|  |   ret void | ||
|  | } | ||
|  | 
 | ||
|  | ; CHECK-LABEL: bundle
 | ||
|  | ; CHECK-NOT: subs r0, r1, r0
 | ||
|  | ; CHECK: movw r0, :lower16:_begin
 | ||
|  | ; CHECK-NEXT: movt r0, :upper16:_begin
 | ||
|  | ; CHECK-NEXT: movw r1, :lower16:_end
 | ||
|  | ; CHECK-NEXT: movt r1, :upper16:_end
 | ||
|  | ; CHECK-NEXT: subs r0, r1, r0
 | ||
|  | ; CHECK-NEXT: cmp r0, #4
 | ||
|  | 
 |