brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.6 KiB · 3795848 Raw
142 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=tahiti -run-pass=instruction-select -verify-machineinstrs  -o - %s | FileCheck -check-prefix=GFX6 %s3# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=hawaii -run-pass=instruction-select -verify-machineinstrs  -o - %s | FileCheck -check-prefix=GFX7 %s4# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=fiji -run-pass=instruction-select -verify-machineinstrs  -o - %s | FileCheck -check-prefix=GFX7 %s5# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX9 %s6# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1010 -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX9 %s7 8---9name: sextload_local_s32_from_s8_align110legalized:       true11regBankSelected: true12tracksRegLiveness: true13 14body: |15  bb.0:16    liveins:  $vgpr017 18    ; GFX6-LABEL: name: sextload_local_s32_from_s8_align119    ; GFX6: liveins: $vgpr020    ; GFX6-NEXT: {{  $}}21    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr022    ; GFX6-NEXT: $m0 = S_MOV_B32 -123    ; GFX6-NEXT: [[DS_READ_I8_:%[0-9]+]]:vgpr_32 = DS_READ_I8 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (s8), addrspace 3)24    ; GFX6-NEXT: $vgpr0 = COPY [[DS_READ_I8_]]25    ;26    ; GFX7-LABEL: name: sextload_local_s32_from_s8_align127    ; GFX7: liveins: $vgpr028    ; GFX7-NEXT: {{  $}}29    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr030    ; GFX7-NEXT: $m0 = S_MOV_B32 -131    ; GFX7-NEXT: [[DS_READ_I8_:%[0-9]+]]:vgpr_32 = DS_READ_I8 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (s8), addrspace 3)32    ; GFX7-NEXT: $vgpr0 = COPY [[DS_READ_I8_]]33    ;34    ; GFX9-LABEL: name: sextload_local_s32_from_s8_align135    ; GFX9: liveins: $vgpr036    ; GFX9-NEXT: {{  $}}37    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr038    ; GFX9-NEXT: [[DS_READ_I8_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_I8_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (s8), addrspace 3)39    ; GFX9-NEXT: $vgpr0 = COPY [[DS_READ_I8_gfx9_]]40    %0:vgpr(p3) = COPY $vgpr041    %1:vgpr(s32) = G_SEXTLOAD %0 :: (load (s8), align 1, addrspace 3)42    $vgpr0 = COPY %143 44...45 46---47name: sextload_local_s32_from_s16_align248legalized:       true49regBankSelected: true50tracksRegLiveness: true51 52body: |53  bb.0:54    liveins:  $vgpr055 56    ; GFX6-LABEL: name: sextload_local_s32_from_s16_align257    ; GFX6: liveins: $vgpr058    ; GFX6-NEXT: {{  $}}59    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr060    ; GFX6-NEXT: $m0 = S_MOV_B32 -161    ; GFX6-NEXT: [[DS_READ_I16_:%[0-9]+]]:vgpr_32 = DS_READ_I16 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (s16), addrspace 3)62    ; GFX6-NEXT: $vgpr0 = COPY [[DS_READ_I16_]]63    ;64    ; GFX7-LABEL: name: sextload_local_s32_from_s16_align265    ; GFX7: liveins: $vgpr066    ; GFX7-NEXT: {{  $}}67    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr068    ; GFX7-NEXT: $m0 = S_MOV_B32 -169    ; GFX7-NEXT: [[DS_READ_I16_:%[0-9]+]]:vgpr_32 = DS_READ_I16 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (s16), addrspace 3)70    ; GFX7-NEXT: $vgpr0 = COPY [[DS_READ_I16_]]71    ;72    ; GFX9-LABEL: name: sextload_local_s32_from_s16_align273    ; GFX9: liveins: $vgpr074    ; GFX9-NEXT: {{  $}}75    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr076    ; GFX9-NEXT: [[DS_READ_I16_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_I16_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (s16), addrspace 3)77    ; GFX9-NEXT: $vgpr0 = COPY [[DS_READ_I16_gfx9_]]78    %0:vgpr(p3) = COPY $vgpr079    %1:vgpr(s32) = G_SEXTLOAD %0 :: (load (s16), align 2, addrspace 3)80    $vgpr0 = COPY %181 82...83 84# ---85# name: sextload_local_s16_from_s8_align186# legalized:       true87# regBankSelected: true88# tracksRegLiveness: true89 90# body: |91#   bb.0:92#     liveins:  $vgpr093 94#     %0:vgpr(p3) = COPY $vgpr095#     %1:vgpr(s16) = G_SEXTLOAD %0 :: (load (s8), align 1, addrspace 3)96#     %2:vgpr(s32) = G_ANYEXT %197#     $vgpr0 = COPY %298 99# ...100 101---102name: sextload_local_s32_from_s8_align1_offset4095103legalized:       true104regBankSelected: true105tracksRegLiveness: true106 107body: |108  bb.0:109    liveins:  $vgpr0110 111    ; GFX6-LABEL: name: sextload_local_s32_from_s8_align1_offset4095112    ; GFX6: liveins: $vgpr0113    ; GFX6-NEXT: {{  $}}114    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0115    ; GFX6-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 4095, implicit $exec116    ; GFX6-NEXT: [[V_ADD_CO_U32_e64_:%[0-9]+]]:vgpr_32, dead [[V_ADD_CO_U32_e64_1:%[0-9]+]]:sreg_64_xexec = V_ADD_CO_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], 0, implicit $exec117    ; GFX6-NEXT: $m0 = S_MOV_B32 -1118    ; GFX6-NEXT: [[DS_READ_I8_:%[0-9]+]]:vgpr_32 = DS_READ_I8 [[V_ADD_CO_U32_e64_]], 0, 0, implicit $m0, implicit $exec :: (load (s8), addrspace 3)119    ; GFX6-NEXT: $vgpr0 = COPY [[DS_READ_I8_]]120    ;121    ; GFX7-LABEL: name: sextload_local_s32_from_s8_align1_offset4095122    ; GFX7: liveins: $vgpr0123    ; GFX7-NEXT: {{  $}}124    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0125    ; GFX7-NEXT: $m0 = S_MOV_B32 -1126    ; GFX7-NEXT: [[DS_READ_I8_:%[0-9]+]]:vgpr_32 = DS_READ_I8 [[COPY]], 4095, 0, implicit $m0, implicit $exec :: (load (s8), addrspace 3)127    ; GFX7-NEXT: $vgpr0 = COPY [[DS_READ_I8_]]128    ;129    ; GFX9-LABEL: name: sextload_local_s32_from_s8_align1_offset4095130    ; GFX9: liveins: $vgpr0131    ; GFX9-NEXT: {{  $}}132    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0133    ; GFX9-NEXT: [[DS_READ_I8_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_I8_gfx9 [[COPY]], 4095, 0, implicit $exec :: (load (s8), addrspace 3)134    ; GFX9-NEXT: $vgpr0 = COPY [[DS_READ_I8_gfx9_]]135    %0:vgpr(p3) = COPY $vgpr0136    %1:vgpr(s32) = G_CONSTANT i32 4095137    %2:vgpr(p3) = G_PTR_ADD %0, %1138    %3:vgpr(s32) = G_SEXTLOAD %2 :: (load (s8), align 1, addrspace 3)139    $vgpr0 = COPY %3140 141...142