Home | History | Annotate | Download | only in Hexagon
      1 ; RUN: llc -march=hexagon < %s | FileCheck %s
      2 ;
      3 ; Check that this compiles successfully.
      4 ; CHECK: jumpr r31
      5 
      6 target triple = "hexagon"
      7 
      8 define i64 @fred(i64 %a0, i64 %a1) local_unnamed_addr #0 {
      9 b2:
     10   %v3 = lshr i64 %a1, 52
     11   %v4 = trunc i64 %v3 to i11
     12   switch i11 %v4, label %b15 [
     13     i11 -1, label %b5
     14     i11 0, label %b14
     15   ]
     16 
     17 b5:                                               ; preds = %b2
     18   br i1 undef, label %b13, label %b6
     19 
     20 b6:                                               ; preds = %b5
     21   %v7 = or i64 %a1, 2251799813685248
     22   br i1 undef, label %b8, label %b10
     23 
     24 b8:                                               ; preds = %b6
     25   %v9 = select i1 undef, i64 %v7, i64 undef
     26   br label %b16
     27 
     28 b10:                                              ; preds = %b6
     29   br i1 undef, label %b16, label %b11
     30 
     31 b11:                                              ; preds = %b10
     32   %v12 = select i1 undef, i64 undef, i64 %v7
     33   br label %b16
     34 
     35 b13:                                              ; preds = %b5
     36   br label %b16
     37 
     38 b14:                                              ; preds = %b2
     39   br label %b16
     40 
     41 b15:                                              ; preds = %b2
     42   br label %b16
     43 
     44 b16:                                              ; preds = %b15, %b14, %b13, %b11, %b10, %b8
     45   %v17 = phi i64 [ undef, %b13 ], [ -2251799813685248, %b14 ], [ 0, %b15 ], [ %v12, %b11 ], [ %v9, %b8 ], [ %v7, %b10 ]
     46   ret i64 %v17
     47 }
     48 
     49 attributes #0 = { nounwind "target-cpu"="hexagonv62" }
     50