Home | History | Annotate | Download | only in vect
      1 ; RUN: llc -march=hexagon < %s
      2 ; Used to fail with "Cannot select: 0x16cf370: v2i16,ch = load"
      3 
      4 ; ModuleID = 'bugpoint-reduced-simplified.bc'
      5 target datalayout = "e-p:32:32:32-i64:64:64-i32:32:32-i16:16:16-i1:32:32-f64:64:64-f32:32:32-a0:0-n32"
      6 target triple = "hexagon-unknown-linux-gnu"
      7 
      8 %struct.ext_hdrs.10.65.142.274.307.318.329.681.692.703.714.725.736.758.791.802.846.857.868.879.890.901.945.956.958 = type { i8, i8, i8, i8, i8, i8, i16, i32, [8 x %struct.hcdc_ext_vec.9.64.141.273.306.317.328.680.691.702.713.724.735.757.790.801.845.856.867.878.889.900.944.955.957] }
      9 %struct.hcdc_ext_vec.9.64.141.273.306.317.328.680.691.702.713.724.735.757.790.801.845.856.867.878.889.900.944.955.957 = type { i8, i8, i16 }
     10 
     11 define void @foo(%struct.ext_hdrs.10.65.142.274.307.318.329.681.692.703.714.725.736.758.791.802.846.857.868.879.890.901.945.956.958* %hc_ext_info) nounwind {
     12 entry:
     13   br i1 undef, label %if.end, label %if.then
     14 
     15 if.then:                                          ; preds = %entry
     16   unreachable
     17 
     18 if.end:                                           ; preds = %entry
     19   br i1 undef, label %if.end5, label %if.then3
     20 
     21 if.then3:                                         ; preds = %if.end
     22   br label %if.end5
     23 
     24 if.end5:                                          ; preds = %if.then3, %if.end
     25   %add.ptr = getelementptr inbounds %struct.ext_hdrs.10.65.142.274.307.318.329.681.692.703.714.725.736.758.791.802.846.857.868.879.890.901.945.956.958, %struct.ext_hdrs.10.65.142.274.307.318.329.681.692.703.714.725.736.758.791.802.846.857.868.879.890.901.945.956.958* %hc_ext_info, i32 0, i32 8, i32 0
     26   %add.ptr22 = getelementptr inbounds %struct.ext_hdrs.10.65.142.274.307.318.329.681.692.703.714.725.736.758.791.802.846.857.868.879.890.901.945.956.958, %struct.ext_hdrs.10.65.142.274.307.318.329.681.692.703.714.725.736.758.791.802.846.857.868.879.890.901.945.956.958* null, i32 0, i32 8, i32 undef
     27   br label %while.cond
     28 
     29 while.cond:                                       ; preds = %if.end419, %if.end5
     30   %gre_chksum.0 = phi <2 x i8> [ undef, %if.end5 ], [ %gre_chksum.2, %if.end419 ]
     31   %cmp23 = icmp ult %struct.hcdc_ext_vec.9.64.141.273.306.317.328.680.691.702.713.724.735.757.790.801.845.856.867.878.889.900.944.955.957* null, %add.ptr
     32   %cmp25 = icmp ult %struct.hcdc_ext_vec.9.64.141.273.306.317.328.680.691.702.713.724.735.757.790.801.845.856.867.878.889.900.944.955.957* null, %add.ptr22
     33   %sel1 = and i1 %cmp23, %cmp25
     34   br i1 %sel1, label %while.body, label %while.end422
     35 
     36 while.body:                                       ; preds = %while.cond
     37   switch i8 undef, label %if.end419 [
     38     i8 5, label %if.then70
     39     i8 3, label %if.then70
     40     i8 2, label %if.then70
     41     i8 1, label %if.then70
     42     i8 0, label %if.then70
     43     i8 4, label %if.then93
     44     i8 6, label %if.then195
     45   ]
     46 
     47 if.then70:                                        ; preds = %while.body, %while.body, %while.body, %while.body, %while.body
     48   unreachable
     49 
     50 if.then93:                                        ; preds = %while.body
     51   unreachable
     52 
     53 if.then195:                                       ; preds = %while.body
     54   br i1 undef, label %if.end274, label %if.then202
     55 
     56 if.then202:                                       ; preds = %if.then195
     57   br label %while.body222
     58 
     59 while.body222:                                    ; preds = %while.body222, %if.then202
     60   br i1 undef, label %if.end240, label %while.body222
     61 
     62 if.end240:                                        ; preds = %while.body222
     63   %_p_vec_full100 = load <2 x i8>, <2 x i8>* undef, align 8
     64   br label %if.end274
     65 
     66 if.end274:                                        ; preds = %if.end240, %if.then195
     67   %gre_chksum.1 = phi <2 x i8> [ %gre_chksum.0, %if.then195 ], [ %_p_vec_full100, %if.end240 ]
     68   br label %if.end419
     69 
     70 if.end419:                                        ; preds = %if.end274, %while.body
     71   %gre_chksum.2 = phi <2 x i8> [ %gre_chksum.0, %while.body ], [ %gre_chksum.1, %if.end274 ]
     72   br label %while.cond
     73 
     74 while.end422:                                     ; preds = %while.cond
     75   ret void
     76 }
     77