1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -march=amdgcn -mcpu=fiji -run-pass=regbankselect -regbankselect-fast -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX8 %s 3# RUN: llc -march=amdgcn -mcpu=fiji -run-pass=regbankselect -regbankselect-greedy -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX8 %s 4 5--- 6name: icmp_eq_s16_ss 7legalized: true 8 9body: | 10 bb.0: 11 liveins: $sgpr0, $sgpr1 12 ; GFX8-LABEL: name: icmp_eq_s16_ss 13 ; GFX8: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0 14 ; GFX8: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1 15 ; GFX8: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32) 16 ; GFX8: [[TRUNC1:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY1]](s32) 17 ; GFX8: [[COPY2:%[0-9]+]]:vgpr(s16) = COPY [[TRUNC]](s16) 18 ; GFX8: [[COPY3:%[0-9]+]]:vgpr(s16) = COPY [[TRUNC1]](s16) 19 ; GFX8: [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY2]](s16), [[COPY3]] 20 %0:_(s32) = COPY $sgpr0 21 %1:_(s32) = COPY $sgpr1 22 %2:_(s16) = G_TRUNC %0 23 %3:_(s16) = G_TRUNC %1 24 %4:_(s1) = G_ICMP intpred(eq), %2, %3 25... 26 27--- 28name: icmp_eq_s16_sv 29legalized: true 30 31body: | 32 bb.0: 33 liveins: $sgpr0, $vgpr0 34 ; GFX8-LABEL: name: icmp_eq_s16_sv 35 ; GFX8: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0 36 ; GFX8: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0 37 ; GFX8: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32) 38 ; GFX8: [[TRUNC1:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY1]](s32) 39 ; GFX8: [[COPY2:%[0-9]+]]:vgpr(s16) = COPY [[TRUNC]](s16) 40 ; GFX8: [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY2]](s16), [[TRUNC1]] 41 %0:_(s32) = COPY $sgpr0 42 %1:_(s32) = COPY $vgpr0 43 %2:_(s16) = G_TRUNC %0 44 %3:_(s16) = G_TRUNC %1 45 %4:_(s1) = G_ICMP intpred(eq), %2, %3 46... 47 48--- 49name: icmp_eq_s16_vs 50legalized: true 51 52body: | 53 bb.0: 54 liveins: $sgpr0, $vgpr0 55 ; GFX8-LABEL: name: icmp_eq_s16_vs 56 ; GFX8: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0 57 ; GFX8: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0 58 ; GFX8: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32) 59 ; GFX8: [[TRUNC1:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY1]](s32) 60 ; GFX8: [[COPY2:%[0-9]+]]:vgpr(s16) = COPY [[TRUNC]](s16) 61 ; GFX8: [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY2]](s16), [[TRUNC1]] 62 %0:_(s32) = COPY $sgpr0 63 %1:_(s32) = COPY $vgpr0 64 %2:_(s16) = G_TRUNC %0 65 %3:_(s16) = G_TRUNC %1 66 %4:_(s1) = G_ICMP intpred(eq), %2, %3 67... 68 69--- 70name: icmp_eq_s16_vv 71legalized: true 72 73body: | 74 bb.0: 75 liveins: $vgpr0, $vgpr1 76 ; GFX8-LABEL: name: icmp_eq_s16_vv 77 ; GFX8: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0 78 ; GFX8: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1 79 ; GFX8: [[TRUNC:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY]](s32) 80 ; GFX8: [[TRUNC1:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY1]](s32) 81 ; GFX8: [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[TRUNC]](s16), [[TRUNC1]] 82 %0:_(s32) = COPY $vgpr0 83 %1:_(s32) = COPY $vgpr1 84 %2:_(s16) = G_TRUNC %0 85 %3:_(s16) = G_TRUNC %1 86 %4:_(s1) = G_ICMP intpred(eq), %2, %3 87... 88