Home | History | Annotate | Download | only in Hexagon
      1 # RUN: llc -march=hexagon -run-pass hexagon-packetizer %s -o - | FileCheck %s
      2 
      3 # Make sure that the new-value jump is packetized with the producer. In this
      4 # case, the loads cold be packetized together (with updating the offset in
      5 # the second load), but then the new-value jump would not be possible to
      6 # put in the same packet.
      7 
      8 # CHECK-LABEL: name: fred
      9 # CHECK: BUNDLE
     10 # CHECK-NEXT: $r3 = L2_loadri_io $r1, 0
     11 # CHECK-NEXT: J4_cmpgtu_f_jumpnv_t internal killed $r3
     12 
     13 
     14 --- |
     15   define void @fred() { ret void }
     16   @array = external global [256 x i32], align 8
     17 ...
     18 
     19 ---
     20 name: fred
     21 tracksRegLiveness: true
     22 body: |
     23   bb.0:
     24     successors: %bb.1
     25     $r1 = A2_tfrsi @array
     26     $r2, $r1 = L2_loadri_pi $r1, 4
     27     $r3 = L2_loadri_io $r1, 0
     28     J4_cmpgtu_f_jumpnv_t killed $r3, killed $r2, %bb.1, implicit-def $pc
     29 
     30   bb.1:
     31 ...
     32