Home | History | Annotate | Download | only in Mips
      1 ; RUN: llc  -march=mipsel -mcpu=mips32 -relocation-model=static -O3 < %s -mips-os16  | FileCheck %s -check-prefix=32
      2 
      3 @i = global i32 1, align 4
      4 @f = global float 1.000000e+00, align 4
      5 
      6 define void @vv() #0 {
      7 entry:
      8   ret void
      9 }
     10 
     11 ; 32: 	.set	mips16                  # @vv
     12 ; 32: 	.ent	vv
     13 
     14 ; 32:	save	{{.+}}
     15 ; 32:	restore	{{.+}} 
     16 ; 32:	.end	vv
     17 
     18 define i32 @iv() #0 {
     19 entry:
     20   %0 = load i32* @i, align 4
     21   ret i32 %0
     22 }
     23 
     24 ; 32: 	.set	mips16                  # @iv
     25 ; 32: 	.ent	iv
     26 
     27 ; 32:	save	{{.+}}
     28 ; 32:	restore	{{.+}} 
     29 ; 32:	.end	iv
     30 
     31 define void @vif(i32 %i, float %f) #0 {
     32 entry:
     33   %i.addr = alloca i32, align 4
     34   %f.addr = alloca float, align 4
     35   store i32 %i, i32* %i.addr, align 4
     36   store float %f, float* %f.addr, align 4
     37   ret void
     38 }
     39 
     40 ; 32: 	.set	mips16                  # @vif
     41 ; 32: 	.ent	vif
     42 
     43 ; 32:	save	{{.+}}
     44 ; 32:	restore	{{.+}} 
     45 ; 32:	.end	vif
     46 
     47 define void @foo() #0 {
     48 entry:
     49   store float 2.000000e+00, float* @f, align 4
     50   ret void
     51 }
     52 
     53 ; 32: 	.set	mips16                  # @foo
     54 ; 32: 	.ent	foo
     55 
     56 ; 32:	save	{{.+}}
     57 ; 32:	restore	{{.+}} 
     58 ; 32:	.end	foo
     59 
     60 attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf"="true" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
     61 
     62 
     63 define float @fv() #0 {
     64 entry:
     65   ret float 1.000000e+00
     66 }
     67 
     68 ; 32: 	.set	nomips16                  # @fv
     69 ; 32: 	.ent	fv
     70 ; 32:	.set	noreorder
     71 ; 32:	.set	nomacro
     72 ; 32:	.set	noat
     73 ; 32:	jr	$ra
     74 ; 32:	.set	at
     75 ; 32:	.set	macro
     76 ; 32:	.set	reorder
     77 ; 32:	.end	fv
     78