Home | History | Annotate | Download | only in Hexagon
      1 ; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
      2 ; Check that we generate new value jump.
      3 
      4 @i = global i32 0, align 4
      5 @j = global i32 10, align 4
      6 
      7 define i32 @foo(i32 %a) nounwind {
      8 entry:
      9 ; CHECK: if (cmp.eq(r{{[0-9]+}}.new, #0)) jump{{.}}
     10   %addr1 = alloca i32, align 4
     11   %addr2 = alloca i32, align 4
     12   %0 = load i32* @i, align 4
     13   store i32 %0, i32* %addr1, align 4
     14   call void @bar(i32 1, i32 2)
     15   %1 = load i32* @j, align 4
     16   %tobool = icmp ne i32 %1, 0
     17   br i1 %tobool, label %if.then, label %if.else
     18 
     19 if.then:
     20   call void @baz(i32 1, i32 2)
     21   br label %if.end
     22 
     23 if.else:
     24   call void @guy(i32 10, i32 20)
     25   br label %if.end
     26 
     27 if.end:
     28   ret i32 0
     29 }
     30 
     31 declare void @guy(i32, i32)
     32 declare void @bar(i32, i32)
     33 declare void @baz(i32, i32)
     34