1 # RUN: llc -march=hexagon -run-pass hexagon-cext-opt -hexagon-cext-threshold=3 %s -o - | FileCheck %s 2 3 --- | 4 define void @test0() { ret void } 5 define void @test1() { ret void } 6 define void @test2() { ret void } 7 @global_address = global [1024 x i32] zeroinitializer, align 8 8 ... 9 10 # CHECK-LABEL: name: test0 11 # CHECK: [[B:%[0-9]+]]:intregs = A2_tfrsi @global_address 12 # CHECK: L2_loadri_io [[B]], 0 13 # CHECK: L2_loadri_io [[B]], 4 14 # CHECK: L2_loadri_io [[B]], 8 15 --- 16 name: test0 17 registers: 18 - { id: 0, class: intregs } 19 - { id: 1, class: intregs } 20 - { id: 2, class: intregs } 21 body: | 22 bb.0: 23 %0 = PS_loadriabs @global_address 24 %1 = PS_loadriabs @global_address+4 25 %2 = PS_loadriabs @global_address+8 26 ... 27 28 # CHECK-LABEL: name: test1 29 # CHECK: [[C:%[0-9]+]]:intregs = COPY $r0 30 # CHECK: [[B:%[0-9]+]]:intregs = A2_addi [[C]], @global_address 31 # CHECK: L2_loadri_io [[B]], 0 32 # CHECK: L2_loadri_io [[B]], 4 33 # CHECK: L2_loadri_io [[B]], 8 34 --- 35 name: test1 36 registers: 37 - { id: 0, class: intregs } 38 - { id: 1, class: intregs } 39 - { id: 2, class: intregs } 40 - { id: 3, class: intregs } 41 body: | 42 bb.0: 43 liveins: $r0 44 %0 = COPY $r0 45 %1 = L4_loadri_ur %0, 0, @global_address 46 %2 = L4_loadri_ur %0, 0, @global_address+4 47 %3 = L4_loadri_ur %0, 0, @global_address+8 48 ... 49 50 # CHECK-LABEL: name: test2 51 # CHECK: [[C:%[0-9]+]]:intregs = COPY $r0 52 # CHECK: [[B:%[0-9]+]]:intregs = A2_tfrsi @global_address + 4 53 # CHECK: [[T0:%[0-9]+]]:intregs = A2_addi [[B]], -4 54 # CHECK: $r0 = COPY [[T0]] 55 # CHECK: [[T1:%[0-9]+]]:intregs = A2_addi [[B]], -2 56 # CHECK: $r1 = COPY [[T1]] 57 # CHECK: L4_loadri_rr [[B]], [[C]], 0 58 --- 59 name: test2 60 registers: 61 - { id: 0, class: intregs } 62 - { id: 1, class: intregs } 63 - { id: 2, class: intregs } 64 - { id: 3, class: intregs } 65 body: | 66 bb.0: 67 liveins: $r0 68 %0 = COPY $r0 69 %1 = A2_tfrsi @global_address 70 $r0 = COPY %1 71 %2 = A2_tfrsi @global_address+2 72 $r1 = COPY %2 73 %3 = L4_loadri_ur %0, 0, @global_address+4 74 ... 75