forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			24 lines
		
	
	
		
			562 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			562 B
		
	
	
	
		
			LLVM
		
	
	
	
; One file may have multiple functions targeted at different (ARM, Thumb)
 | 
						|
; instruction sets. Passing this information to the linker and the assembler
 | 
						|
; is done through the ".code 16" and ".code 32" directives.
 | 
						|
;
 | 
						|
; RUN: llc -mtriple=arm-arm-none-eabi %s -o - | FileCheck %s
 | 
						|
 | 
						|
define void @ft() #0 {
 | 
						|
; CHECK: .code 16
 | 
						|
; CHECK: .thumb_func
 | 
						|
; CHECK-LABEL: ft:
 | 
						|
entry:
 | 
						|
  ret void
 | 
						|
}
 | 
						|
 | 
						|
define void @fz() #1 {
 | 
						|
; CHECK: .code 32
 | 
						|
; CHECK-LABEL: fz:
 | 
						|
entry:
 | 
						|
  ret void
 | 
						|
}
 | 
						|
 | 
						|
attributes #0 = { "target-features"="+thumb-mode" }
 | 
						|
attributes #1 = { "target-features"="-thumb-mode" }
 |