brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · 33b4128 Raw
155 lines · plain
1# RUN: llc -mtriple=hexagon -run-pass hexagon-bit-simplify -o - %s | FileCheck %s2 3--- |4  @g0 = global i32 0, align 45 6  define i32 @f0() { ret i32 0 }7  define i32 @f1() { ret i32 0 }8  define i32 @f2() { ret i32 0 }9  define i32 @f3() { ret i32 0 }10  define i32 @f4() { ret i32 0 }11  define i32 @f5() { ret i32 0 }12  define i32 @f6() { ret i32 0 }13  define i32 @f7() { ret i32 0 }14...15 16# Case 0: is-zero with known zero register17# CHECK-LABEL: name: f018# CHECK: %[[R00:[0-9]+]]:intregs = A2_tfrsi 119# CHECK: $r0 = COPY %[[R00]]20# CHECK: PS_jmpret $r31, implicit-def dead $pc, implicit $r021 22name: f023tracksRegLiveness: true24body: |25  bb.0:26    %0:intregs = A2_tfrsi 027    %2:intregs = A4_rcmpeqi killed %0, 028    $r0 = COPY %229    PS_jmpret $r31, implicit-def dead $pc, implicit $r030...31 32# Case 1: is-zero with known non-zero register33# CHECK-LABEL: name: f134# CHECK: %[[R10:[0-9]+]]:intregs = A2_tfrsi 035# CHECK: $r0 = COPY %[[R10]]36# CHECK: PS_jmpret $r31, implicit-def dead $pc, implicit $r037 38name: f139tracksRegLiveness: true40body: |41  bb.0:42    %0:intregs = A2_tfrsi 12843    %2:intregs = A4_rcmpeqi killed %0, 044    $r0 = COPY %245    PS_jmpret $r31, implicit-def dead $pc, implicit $r046...47 48# Case 2: is-not-zero with known zero register49# CHECK-LABEL: name: f250# CHECK: %[[R20:[0-9]+]]:intregs = A2_tfrsi 051# CHECK: $r0 = COPY %[[R20]]52# CHECK: PS_jmpret $r31, implicit-def dead $pc, implicit $r053 54name: f255tracksRegLiveness: true56body: |57  bb.0:58    %0:intregs = A2_tfrsi 059    %2:intregs = A4_rcmpneqi killed %0, 060    $r0 = COPY %261    PS_jmpret $r31, implicit-def dead $pc, implicit $r062...63 64# Case 3: is-not-zero with known non-zero register65# CHECK-LABEL: name: f366# CHECK: %[[R30:[0-9]+]]:intregs = A2_tfrsi 167# CHECK: $r0 = COPY %[[R30]]68# CHECK: PS_jmpret $r31, implicit-def dead $pc, implicit $r069 70name: f371tracksRegLiveness: true72body: |73  bb.0:74    %0:intregs = A2_tfrsi 102475    %2:intregs = A4_rcmpneqi killed %0, 076    $r0 = COPY %277    PS_jmpret $r31, implicit-def dead $pc, implicit $r078...79 80 81# Case 4: is-zero with mux(p, 1, 0)82# CHECK-LABEL: name: f483# CHECK: %[[R40:[0-9]+]]:predregs = COPY $p084# CHECK: %[[R41:[0-9]+]]:intregs = C2_muxii %[[R40]], 0, 185# CHECK: $r0 = COPY %[[R41]]86# CHECK: PS_jmpret $r31, implicit-def dead $pc, implicit $r087 88name: f489tracksRegLiveness: true90body: |91  bb.0:92    liveins: $p093    %0:predregs = COPY $p094    %1:intregs = C2_muxii %0, 1, 095    %2:intregs = A4_rcmpeqi killed %1, 096    $r0 = COPY %297    PS_jmpret $r31, implicit-def dead $pc, implicit $r098...99 100# Case 5: is-zero with mux(p, 0, 1)101# CHECK-LABEL: name: f5102# CHECK: %[[R50:[0-9]+]]:predregs = COPY $p0103# CHECK: %[[R51:[0-9]+]]:intregs = C2_muxii %[[R50]], 1, 0104# CHECK: $r0 = COPY %[[R51]]105# CHECK: PS_jmpret $r31, implicit-def dead $pc, implicit $r0106 107name: f5108tracksRegLiveness: true109body: |110  bb.0:111    liveins: $p0112    %0:predregs = COPY $p0113    %1:intregs = C2_muxii %0, 0, 1114    %2:intregs = A4_rcmpeqi killed %1, 0115    $r0 = COPY %2116    PS_jmpret $r31, implicit-def dead $pc, implicit $r0117...118 119# Case 6: is-not-zero with mux(p, 1, 2)120# CHECK-LABEL: name: f6121# CHECK: %[[R60:[0-9]+]]:intregs = A2_tfrsi 1122# CHECK: $r0 = COPY %[[R60]]123# CHECK: PS_jmpret $r31, implicit-def dead $pc, implicit $r0124 125name: f6126tracksRegLiveness: true127body: |128  bb.0:129    liveins: $p0130    %0:predregs = COPY $p0131    %1:intregs = C2_muxii %0, 1, 2132    %2:intregs = A4_rcmpneqi killed %1, 0133    $r0 = COPY %2134    PS_jmpret $r31, implicit-def dead $pc, implicit $r0135...136 137# Case 7: is-not-zero with mux(p, @g0, 2)138# CHECK-LABEL: name: f7139# CHECK: %[[R70:[0-9]+]]:intregs = A2_tfrsi 1140# CHECK: $r0 = COPY %[[R70]]141# CHECK: PS_jmpret $r31, implicit-def dead $pc, implicit $r0142 143name: f7144tracksRegLiveness: true145body: |146  bb.0:147    liveins: $p0148    %0:predregs = COPY $p0149    %1:intregs = C2_muxii %0, @g0, 2150    %2:intregs = A4_rcmpneqi killed %1, 0151    $r0 = COPY %2152    PS_jmpret $r31, implicit-def dead $pc, implicit $r0153...154 155