brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.3 KiB · 3744bc9 Raw
111 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass="amdgpu-regbankselect,amdgpu-regbanklegalize" %s -verify-machineinstrs -o - | FileCheck %s3 4---5name: trunc_i64_to_i32_s6legalized: true7 8body: |9  bb.0:10    liveins: $sgpr0_sgpr111    ; CHECK-LABEL: name: trunc_i64_to_i32_s12    ; CHECK: liveins: $sgpr0_sgpr113    ; CHECK-NEXT: {{  $}}14    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr115    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:sgpr(s32) = G_TRUNC [[COPY]](s64)16    %0:_(s64) = COPY $sgpr0_sgpr117    %1:_(s32) = G_TRUNC %018...19 20---21name: trunc_i64_to_i32_v22legalized: true23 24body: |25  bb.0:26    liveins: $vgpr0_vgpr127    ; CHECK-LABEL: name: trunc_i64_to_i32_v28    ; CHECK: liveins: $vgpr0_vgpr129    ; CHECK-NEXT: {{  $}}30    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr131    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:vgpr(s32) = G_TRUNC [[COPY]](s64)32    %0:_(s64) = COPY $vgpr0_vgpr133    %1:_(s32) = G_TRUNC %034...35---36name: trunc_i64_to_i1_s37legalized: true38 39body: |40  bb.0:41    liveins: $sgpr0_sgpr142    ; CHECK-LABEL: name: trunc_i64_to_i1_s43    ; CHECK: liveins: $sgpr0_sgpr144    ; CHECK-NEXT: {{  $}}45    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr146    ; CHECK-NEXT: [[UV:%[0-9]+]]:sgpr(s32), [[UV1:%[0-9]+]]:sgpr(s32) = G_UNMERGE_VALUES [[COPY]](s64)47    %0:_(s64) = COPY $sgpr0_sgpr148    %1:_(s1) = G_TRUNC %049    %2:_(s32) = G_ANYEXT %150...51 52---53name: trunc_i64_to_i1_v54legalized: true55 56body: |57  bb.0:58    liveins: $vgpr0_vgpr159    ; CHECK-LABEL: name: trunc_i64_to_i1_v60    ; CHECK: liveins: $vgpr0_vgpr161    ; CHECK-NEXT: {{  $}}62    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr163    ; CHECK-NEXT: [[UV:%[0-9]+]]:vgpr(s32), [[UV1:%[0-9]+]]:vgpr(s32) = G_UNMERGE_VALUES [[COPY]](s64)64    ; CHECK-NEXT: [[C:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 165    ; CHECK-NEXT: [[AND:%[0-9]+]]:vgpr(s32) = G_AND [[UV]], [[C]]66    ; CHECK-NEXT: [[C1:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 067    ; CHECK-NEXT: [[AND1:%[0-9]+]]:vgpr(s32) = G_AND [[UV1]], [[C1]]68    ; CHECK-NEXT: [[MV:%[0-9]+]]:vgpr(s64) = G_MERGE_VALUES [[AND]](s32), [[AND1]](s32)69    ; CHECK-NEXT: [[C2:%[0-9]+]]:vgpr(s64) = G_CONSTANT i64 070    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(ne), [[MV]](s64), [[C2]]71    %0:_(s64) = COPY $vgpr0_vgpr172    %1:_(s1) = G_TRUNC %073...74 75---76name: trunc_i32_to_i1_s77legalized: true78 79body: |80  bb.0:81    liveins: $sgpr082    ; CHECK-LABEL: name: trunc_i32_to_i1_s83    ; CHECK: liveins: $sgpr084    ; CHECK-NEXT: {{  $}}85    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr086    ; CHECK-NEXT: S_ENDPGM 0, implicit [[COPY]](s32)87    %0:_(s32) = COPY $sgpr088    %1:_(s1) = G_TRUNC %089    %2:_(s32) = G_ANYEXT %190    S_ENDPGM 0, implicit %291...92 93---94name: trunc_i32_to_i1_v95legalized: true96 97body: |98  bb.0:99    liveins: $vgpr0100    ; CHECK-LABEL: name: trunc_i32_to_i1_v101    ; CHECK: liveins: $vgpr0102    ; CHECK-NEXT: {{  $}}103    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0104    ; CHECK-NEXT: [[C:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 1105    ; CHECK-NEXT: [[AND:%[0-9]+]]:vgpr(s32) = G_AND [[COPY]], [[C]]106    ; CHECK-NEXT: [[C1:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 0107    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(ne), [[AND]](s32), [[C1]]108    %0:_(s32) = COPY $vgpr0109    %1:_(s1) = G_TRUNC %0110...111