Home | History | Annotate | Download | only in Mips
      1 ; RUN: llc %s -march=mipsel -mcpu=mips32r2 -mattr=micromips -filetype=asm \
      2 ; RUN:   -relocation-model=static -o - | FileCheck %s
      3 
      4 define i32 @sum(i32 %a, i32 %b) nounwind uwtable {
      5 entry:
      6   %a.addr = alloca i32, align 4
      7   %b.addr = alloca i32, align 4
      8   store i32 %a, i32* %a.addr, align 4
      9   store i32 %b, i32* %b.addr, align 4
     10   %0 = load i32* %a.addr, align 4
     11   %1 = load i32* %b.addr, align 4
     12   %add = add nsw i32 %0, %1
     13   ret i32 %add
     14 }
     15 
     16 define i32 @main() nounwind uwtable {
     17 entry:
     18   %retval = alloca i32, align 4
     19   %x = alloca i32, align 4
     20   %y = alloca i32, align 4
     21   %z = alloca i32, align 4
     22   store i32 0, i32* %retval
     23   %0 = load i32* %y, align 4
     24   %1 = load i32* %z, align 4
     25   %call = call i32 @sum(i32 %0, i32 %1)
     26   store i32 %call, i32* %x, align 4
     27   %2 = load i32* %x, align 4
     28   ret i32 %2
     29 }
     30 
     31 ; CHECK:    .text
     32 
     33 ; CHECK:    .globl  sum
     34 ; CHECK:    .type sum,@function
     35 ; CHECK:    .set  micromips
     36 ; CHECK:    .ent  sum
     37 ; CHECK-LABEL: sum:
     38 ; CHECK:    .end  sum
     39 
     40 ; CHECK:    .globl  main
     41 ; CHECK:    .type main,@function
     42 ; CHECK:    .set  micromips
     43 ; CHECK:    .ent  main
     44 ; CHECK-LABEL: main:
     45 
     46 ; CHECK:    jal sum
     47 
     48 ; CHECK:    .end main
     49