Home | History | Annotate | Download | only in Hexagon
      1 ; RUN: llc -march=hexagon < %s | FileCheck %s
      2 ; REQUIRES: asserts
      3 
      4 ; This testcase used to crash due to putting the bitsplit instruction in a
      5 ; wrong place.
      6 ; CHECK: bitsplit
      7 
      8 target triple = "hexagon"
      9 
     10 define hidden fastcc i32 @fred(i32 %a0) unnamed_addr #0 {
     11 b1:
     12   %v2 = lshr i32 %a0, 16
     13   %v3 = trunc i32 %v2 to i8
     14   br i1 undef, label %b6, label %b4
     15 
     16 b4:                                               ; preds = %b1
     17   %v5 = and i32 %a0, 65535
     18   br i1 undef, label %b8, label %b9
     19 
     20 b6:                                               ; preds = %b1
     21   %v7 = and i32 %a0, 65535
     22   br label %b9
     23 
     24 b8:                                               ; preds = %b4
     25   store i8 %v3, i8* undef, align 2
     26   unreachable
     27 
     28 b9:                                               ; preds = %b6, %b4
     29   %v10 = phi i32 [ %v7, %b6 ], [ %v5, %b4 ]
     30   ret i32 %v10
     31 }
     32 
     33 attributes #0 = { nounwind optsize "target-cpu"="hexagonv60" "target-features"="-hvx,-long-calls" }
     34