Home | History | Annotate | Download | only in ARM
      1 ; REQUIRES: asserts
      2 ; RUN: llc -mtriple arm-apple-darwin -relocation-model pic -mattr=+v6 -filetype asm -o - %s | FileCheck -check-prefix CHECK-R9 %s
      3 ; RUN: llc -mtriple arm-apple-darwin -relocation-model pic -mattr=+v6,+reserve-r9 -ifcvt-limit=0 -stats -o /dev/null %s 2>&1 | FileCheck -check-prefix CHECK-ASM-PRINTER %s
      4 
      5 define void @test(i32 %tmp56222, i32 %tmp36224, i32 %tmp46223, i32 %i.0196.0.ph, i32 %tmp8, i32* %tmp1011, i32** %tmp1, i32* %d2.1.out, i32* %d3.1.out, i32* %d0.1.out, i32* %d1.1.out) {
      6 newFuncRoot:
      7   br label %bb74
      8 
      9 bb78.exitStub:
     10   store i32 %d2.1, i32* %d2.1.out
     11   store i32 %d3.1, i32* %d3.1.out
     12   store i32 %d0.1, i32* %d0.1.out
     13   store i32 %d1.1, i32* %d1.1.out
     14   ret void
     15 
     16 bb74:
     17   %fp.1.rec = phi i32 [ 0, %newFuncRoot ], [ %tmp71.rec, %bb26 ]
     18   %fm.1.in = phi i32* [ %tmp71, %bb26 ], [ %tmp1011, %newFuncRoot ]
     19   %d0.1 = phi i32 [ %tmp44, %bb26 ], [ 8192, %newFuncRoot ]
     20   %d1.1 = phi i32 [ %tmp54, %bb26 ], [ 8192, %newFuncRoot ]
     21   %d2.1 = phi i32 [ %tmp64, %bb26 ], [ 8192, %newFuncRoot ]
     22   %d3.1 = phi i32 [ %tmp69, %bb26 ], [ 8192, %newFuncRoot ]
     23   %fm.1 = load i32, i32* %fm.1.in
     24   icmp eq i32 %fp.1.rec, %tmp8
     25   br i1 %0, label %bb78.exitStub, label %bb26
     26 
     27 bb26:
     28   %tmp28 = getelementptr i32*, i32** %tmp1, i32 %fp.1.rec
     29   %tmp30 = load i32*, i32** %tmp28
     30   %tmp33 = getelementptr i32, i32* %tmp30, i32 %i.0196.0.ph
     31   %tmp34 = load i32, i32* %tmp33
     32   %tmp38 = getelementptr i32, i32* %tmp30, i32 %tmp36224
     33   %tmp39 = load i32, i32* %tmp38
     34   %tmp42 = mul i32 %tmp34, %fm.1
     35   %tmp44 = add i32 %tmp42, %d0.1
     36   %tmp48 = getelementptr i32, i32* %tmp30, i32 %tmp46223
     37   %tmp49 = load i32, i32* %tmp48
     38   %tmp52 = mul i32 %tmp39, %fm.1
     39   %tmp54 = add i32 %tmp52, %d1.1
     40   %tmp58 = getelementptr i32, i32* %tmp30, i32 %tmp56222
     41   %tmp59 = load i32, i32* %tmp58
     42   %tmp62 = mul i32 %tmp49, %fm.1
     43   %tmp64 = add i32 %tmp62, %d2.1
     44   %tmp67 = mul i32 %tmp59, %fm.1
     45   %tmp69 = add i32 %tmp67, %d3.1
     46   %tmp71.rec = add i32 %fp.1.rec, 1
     47   %tmp71 = getelementptr i32, i32* %tmp1011, i32 %tmp71.rec
     48   br label %bb74
     49 }
     50 
     51 ; CHECK-R9: r9
     52 ; CHECK-ASM-PRINTER: asm-printer
     53 
     54