127 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=bonaire -O0 -run-pass=legalizer %s -o - | FileCheck -check-prefix=CI %s3# FIXME: Run with and without unaligned access on4 5---6name: test_sextload_constant32bit_s64_s32_align47body: |8 bb.0:9 liveins: $sgpr010 11 ; CI-LABEL: name: test_sextload_constant32bit_s64_s32_align412 ; CI: liveins: $sgpr013 ; CI-NEXT: {{ $}}14 ; CI-NEXT: [[COPY:%[0-9]+]]:_(p6) = COPY $sgpr015 ; CI-NEXT: [[PTRTOINT:%[0-9]+]]:_(s32) = G_PTRTOINT [[COPY]](p6)16 ; CI-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 017 ; CI-NEXT: [[MV:%[0-9]+]]:_(p4) = G_MERGE_VALUES [[PTRTOINT]](s32), [[C]](s32)18 ; CI-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[MV]](p4) :: (load (s32), addrspace 6)19 ; CI-NEXT: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[LOAD]](s32)20 ; CI-NEXT: $vgpr0_vgpr1 = COPY [[SEXT]](s64)21 %0:_(p6) = COPY $sgpr022 %1:_(s64) = G_SEXTLOAD %0 :: (load (s32), align 4, addrspace 6)23 $vgpr0_vgpr1 = COPY %124...25 26---27name: test_sextload_constant32bit_s64_s32_align228body: |29 bb.0:30 liveins: $sgpr031 32 ; CI-LABEL: name: test_sextload_constant32bit_s64_s32_align233 ; CI: liveins: $sgpr034 ; CI-NEXT: {{ $}}35 ; CI-NEXT: [[COPY:%[0-9]+]]:_(p6) = COPY $sgpr036 ; CI-NEXT: [[PTRTOINT:%[0-9]+]]:_(s32) = G_PTRTOINT [[COPY]](p6)37 ; CI-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 038 ; CI-NEXT: [[MV:%[0-9]+]]:_(p4) = G_MERGE_VALUES [[PTRTOINT]](s32), [[C]](s32)39 ; CI-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[MV]](p4) :: (load (s32), align 2, addrspace 6)40 ; CI-NEXT: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[LOAD]](s32)41 ; CI-NEXT: $vgpr0_vgpr1 = COPY [[SEXT]](s64)42 %0:_(p6) = COPY $sgpr043 %1:_(s64) = G_SEXTLOAD %0 :: (load (s32), align 2, addrspace 6)44 $vgpr0_vgpr1 = COPY %145...46 47---48name: test_sextload_constant32bit_s64_s32_align149body: |50 bb.0:51 liveins: $sgpr052 53 ; CI-LABEL: name: test_sextload_constant32bit_s64_s32_align154 ; CI: liveins: $sgpr055 ; CI-NEXT: {{ $}}56 ; CI-NEXT: [[COPY:%[0-9]+]]:_(p6) = COPY $sgpr057 ; CI-NEXT: [[PTRTOINT:%[0-9]+]]:_(s32) = G_PTRTOINT [[COPY]](p6)58 ; CI-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 059 ; CI-NEXT: [[MV:%[0-9]+]]:_(p4) = G_MERGE_VALUES [[PTRTOINT]](s32), [[C]](s32)60 ; CI-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[MV]](p4) :: (load (s32), align 1, addrspace 6)61 ; CI-NEXT: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[LOAD]](s32)62 ; CI-NEXT: $vgpr0_vgpr1 = COPY [[SEXT]](s64)63 %0:_(p6) = COPY $sgpr064 %1:_(s64) = G_SEXTLOAD %0 :: (load (s32), align 1, addrspace 6)65 $vgpr0_vgpr1 = COPY %166...67 68---69name: test_sextload_constant32bit_s32_s8_align170body: |71 bb.0:72 liveins: $sgpr073 74 ; CI-LABEL: name: test_sextload_constant32bit_s32_s8_align175 ; CI: liveins: $sgpr076 ; CI-NEXT: {{ $}}77 ; CI-NEXT: [[COPY:%[0-9]+]]:_(p6) = COPY $sgpr078 ; CI-NEXT: [[PTRTOINT:%[0-9]+]]:_(s32) = G_PTRTOINT [[COPY]](p6)79 ; CI-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 080 ; CI-NEXT: [[MV:%[0-9]+]]:_(p4) = G_MERGE_VALUES [[PTRTOINT]](s32), [[C]](s32)81 ; CI-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[MV]](p4) :: (load (s8), addrspace 6)82 ; CI-NEXT: $vgpr0 = COPY [[SEXTLOAD]](s32)83 %0:_(p6) = COPY $sgpr084 %1:_(s32) = G_SEXTLOAD %0 :: (load (s8), align 1, addrspace 6)85 $vgpr0 = COPY %186...87 88---89name: test_sextload_constant32bit_s32_s16_align290body: |91 bb.0:92 liveins: $sgpr093 94 ; CI-LABEL: name: test_sextload_constant32bit_s32_s16_align295 ; CI: liveins: $sgpr096 ; CI-NEXT: {{ $}}97 ; CI-NEXT: [[COPY:%[0-9]+]]:_(p6) = COPY $sgpr098 ; CI-NEXT: [[PTRTOINT:%[0-9]+]]:_(s32) = G_PTRTOINT [[COPY]](p6)99 ; CI-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 0100 ; CI-NEXT: [[MV:%[0-9]+]]:_(p4) = G_MERGE_VALUES [[PTRTOINT]](s32), [[C]](s32)101 ; CI-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[MV]](p4) :: (load (s16), addrspace 6)102 ; CI-NEXT: $vgpr0 = COPY [[SEXTLOAD]](s32)103 %0:_(p6) = COPY $sgpr0104 %1:_(s32) = G_SEXTLOAD %0 :: (load (s16), align 2, addrspace 6)105 $vgpr0 = COPY %1106...107 108---109name: test_sextload_constant32bit_s32_s16_align1110body: |111 bb.0:112 liveins: $sgpr0113 114 ; CI-LABEL: name: test_sextload_constant32bit_s32_s16_align1115 ; CI: liveins: $sgpr0116 ; CI-NEXT: {{ $}}117 ; CI-NEXT: [[COPY:%[0-9]+]]:_(p6) = COPY $sgpr0118 ; CI-NEXT: [[PTRTOINT:%[0-9]+]]:_(s32) = G_PTRTOINT [[COPY]](p6)119 ; CI-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 0120 ; CI-NEXT: [[MV:%[0-9]+]]:_(p4) = G_MERGE_VALUES [[PTRTOINT]](s32), [[C]](s32)121 ; CI-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[MV]](p4) :: (load (s16), align 1, addrspace 6)122 ; CI-NEXT: $vgpr0 = COPY [[SEXTLOAD]](s32)123 %0:_(p6) = COPY $sgpr0124 %1:_(s32) = G_SEXTLOAD %0 :: (load (s16), align 1, addrspace 6)125 $vgpr0 = COPY %1126...127