86 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			LLVM
		
	
	
	
; RUN: llc  -march=mipsel -mattr=mips16 -relocation-model=static -O3 < %s -mips-mixed-16-32  | FileCheck %s -check-prefix=16
 | 
						|
; RUN: llc  -march=mipsel -mcpu=mips32 -relocation-model=static -O3 < %s -mips-mixed-16-32  | FileCheck %s -check-prefix=32
 | 
						|
 | 
						|
define void @foo() #0 {
 | 
						|
entry:
 | 
						|
  ret void
 | 
						|
}
 | 
						|
 | 
						|
; 16: 	.set	mips16
 | 
						|
; 16: 	.ent	foo
 | 
						|
; 16:	jrc $ra
 | 
						|
; 16:	.end	foo
 | 
						|
; 32: 	.set	nomips16
 | 
						|
; 32: 	.ent	foo
 | 
						|
; 32:	.set	noreorder
 | 
						|
; 32:	.set	nomacro
 | 
						|
; 32:	.set	noat
 | 
						|
; 32:	jr	$ra
 | 
						|
; 32:	nop
 | 
						|
; 32:	.set	at
 | 
						|
; 32:	.set	macro
 | 
						|
; 32:	.set	reorder
 | 
						|
; 32:	.end    foo
 | 
						|
define void @nofoo() #1 {
 | 
						|
entry:
 | 
						|
  ret void
 | 
						|
}
 | 
						|
 | 
						|
; 16: 	.set	nomips16
 | 
						|
; 16: 	.ent	nofoo
 | 
						|
; 16:	.set	noreorder
 | 
						|
; 16:	.set	nomacro
 | 
						|
; 16:	.set	noat
 | 
						|
; 16:	jr	$ra
 | 
						|
; 16:	nop
 | 
						|
; 16:	.set	at
 | 
						|
; 16:	.set	macro
 | 
						|
; 16:	.set	reorder
 | 
						|
; 16:	.end	nofoo
 | 
						|
; 32: 	.set	nomips16
 | 
						|
; 32: 	.ent	nofoo
 | 
						|
; 32:	.set	noreorder
 | 
						|
; 32:	.set	nomacro
 | 
						|
; 32:	.set	noat
 | 
						|
; 32:	jr	$ra
 | 
						|
; 32:	nop
 | 
						|
; 32:	.set	at
 | 
						|
; 32:	.set	macro
 | 
						|
; 32:	.set	reorder
 | 
						|
; 32:	.end	nofoo
 | 
						|
define i32 @main() #2 {
 | 
						|
entry:
 | 
						|
  ret i32 0
 | 
						|
}
 | 
						|
 | 
						|
; 16: 	.set	nomips16
 | 
						|
; 16: 	.ent	main
 | 
						|
; 16:	.set	noreorder
 | 
						|
; 16:	.set	nomacro
 | 
						|
; 16:	.set	noat
 | 
						|
; 16:	jr	$ra
 | 
						|
; 16:	addiu	$2, $zero, 0
 | 
						|
; 16:	.set	at
 | 
						|
; 16:	.set	macro
 | 
						|
; 16:	.set	reorder
 | 
						|
; 16:	.end	main
 | 
						|
 | 
						|
; 32: 	.set	nomips16
 | 
						|
; 32: 	.ent	main
 | 
						|
; 32:	.set	noreorder
 | 
						|
; 32:	.set	nomacro
 | 
						|
; 32:	.set	noat
 | 
						|
; 32:	jr	$ra
 | 
						|
; 32:	addiu	$2, $zero, 0
 | 
						|
; 32:	.set	at
 | 
						|
; 32:	.set	macro
 | 
						|
; 32:	.set	reorder
 | 
						|
; 32:	.end	main
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
attributes #0 = { nounwind "less-precise-fpmad"="false" "frame-pointer"="non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
 | 
						|
attributes #1 = { nounwind "less-precise-fpmad"="false" "frame-pointer"="non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "nomips16" "unsafe-fp-math"="false" "use-soft-float"="false" }
 | 
						|
attributes #2 = { nounwind "less-precise-fpmad"="false" "nomips16" "frame-pointer"="non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
 |