1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -O0 -run-pass=legalizer %s -o - | FileCheck %s 3 4--- 5name: test_sext_trunc_i64_i32_i64 6body: | 7 bb.0: 8 liveins: $vgpr0_vgpr1 9 10 ; CHECK-LABEL: name: test_sext_trunc_i64_i32_i64 11 ; CHECK: liveins: $vgpr0_vgpr1 12 ; CHECK-NEXT: {{ $}} 13 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $vgpr0_vgpr1 14 ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY]], 32 15 ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[SEXT_INREG]](s64) 16 %0:_(s64) = COPY $vgpr0_vgpr1 17 %1:_(s32) = G_TRUNC %0 18 %2:_(s64) = G_SEXT %1 19 $vgpr0_vgpr1 = COPY %2 20... 21 22--- 23name: test_zext_trunc_i64_i32_i64 24body: | 25 bb.0: 26 liveins: $vgpr0_vgpr1 27 28 ; CHECK-LABEL: name: test_zext_trunc_i64_i32_i64 29 ; CHECK: liveins: $vgpr0_vgpr1 30 ; CHECK-NEXT: {{ $}} 31 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $vgpr0_vgpr1 32 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 4294967295 33 ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]] 34 ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[AND]](s64) 35 %0:_(s64) = COPY $vgpr0_vgpr1 36 %1:_(s32) = G_TRUNC %0 37 %2:_(s64) = G_ZEXT %1 38 $vgpr0_vgpr1 = COPY %2 39... 40 41--- 42name: test_zext_zext_i32_i48_i64 43body: | 44 bb.0: 45 liveins: $vgpr0_vgpr1 46 47 ; CHECK-LABEL: name: test_zext_zext_i32_i48_i64 48 ; CHECK: liveins: $vgpr0_vgpr1 49 ; CHECK-NEXT: {{ $}} 50 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0 51 ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY]](s32) 52 ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[ZEXT]](s64) 53 %0:_(s32) = COPY $vgpr0 54 %1:_(s48) = G_ZEXT %0 55 %2:_(s64) = G_ZEXT %1 56 $vgpr0_vgpr1 = COPY %2 57... 58 59--- 60name: test_sext_zext_i32_i48_i64 61body: | 62 bb.0: 63 liveins: $vgpr0_vgpr1 64 65 ; CHECK-LABEL: name: test_sext_zext_i32_i48_i64 66 ; CHECK: liveins: $vgpr0_vgpr1 67 ; CHECK-NEXT: {{ $}} 68 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0 69 ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY]](s32) 70 ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[ZEXT]](s64) 71 %0:_(s32) = COPY $vgpr0 72 %1:_(s48) = G_ZEXT %0 73 %2:_(s64) = G_SEXT %1 74 $vgpr0_vgpr1 = COPY %2 75... 76 77--- 78name: test_sext_sext_i32_i48_i64 79body: | 80 bb.0: 81 liveins: $vgpr0_vgpr1 82 83 ; CHECK-LABEL: name: test_sext_sext_i32_i48_i64 84 ; CHECK: liveins: $vgpr0_vgpr1 85 ; CHECK-NEXT: {{ $}} 86 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0 87 ; CHECK-NEXT: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[COPY]](s32) 88 ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[SEXT]](s64) 89 %0:_(s32) = COPY $vgpr0 90 %1:_(s48) = G_SEXT %0 91 %2:_(s64) = G_SEXT %1 92 $vgpr0_vgpr1 = COPY %2 93... 94