brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.1 KiB · 0386343 Raw
127 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=instruction-select -verify-machineinstrs -global-isel-abort=0 -o - %s | FileCheck -check-prefix=GFX8 %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx900 -run-pass=instruction-select -verify-machineinstrs -global-isel-abort=0 -o - %s | FileCheck -check-prefix=GFX9 %s4# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -run-pass=instruction-select -verify-machineinstrs -global-isel-abort=0 -o - %s | FileCheck -check-prefix=GFX9 %s5# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -run-pass=instruction-select -verify-machineinstrs -global-isel-abort=0 -o - %s | FileCheck -check-prefix=GFX9 %s6 7# GFX6/7 selection should fail.8# RUN: llc -mtriple=amdgcn -mcpu=tahiti -run-pass=instruction-select -verify-machineinstrs -global-isel-abort=0 -disable-gisel-legality-check -o - %s | FileCheck -check-prefix=GFX6 %s9# RUN: llc -mtriple=amdgcn -mcpu=hawaii -run-pass=instruction-select -verify-machineinstrs -global-isel-abort=0 -disable-gisel-legality-check -o - %s | FileCheck -check-prefix=GFX6 %s10 11---12name:            atomicrmw_fadd_s32_local13legalized:       true14regBankSelected: true15tracksRegLiveness: true16body:             |17  bb.0:18    liveins: $vgpr0, $vgpr119 20    ; GFX8-LABEL: name: atomicrmw_fadd_s32_local21    ; GFX8: liveins: $vgpr0, $vgpr122    ; GFX8-NEXT: {{  $}}23    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr024    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr125    ; GFX8-NEXT: $m0 = S_MOV_B32 -126    ; GFX8-NEXT: [[DS_ADD_RTN_F32_:%[0-9]+]]:vgpr_32 = DS_ADD_RTN_F32 [[COPY]], [[COPY1]], 0, 0, implicit $m0, implicit $exec :: (load store seq_cst (s32), addrspace 3)27    ; GFX8-NEXT: $vgpr0 = COPY [[DS_ADD_RTN_F32_]]28    ; GFX9-LABEL: name: atomicrmw_fadd_s32_local29    ; GFX9: liveins: $vgpr0, $vgpr130    ; GFX9-NEXT: {{  $}}31    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr032    ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr133    ; GFX9-NEXT: [[DS_ADD_RTN_F32_gfx9_:%[0-9]+]]:vgpr_32 = DS_ADD_RTN_F32_gfx9 [[COPY]], [[COPY1]], 0, 0, implicit $exec :: (load store seq_cst (s32), addrspace 3)34    ; GFX9-NEXT: $vgpr0 = COPY [[DS_ADD_RTN_F32_gfx9_]]35    ; GFX6-LABEL: name: atomicrmw_fadd_s32_local36    ; GFX6: liveins: $vgpr0, $vgpr137    ; GFX6-NEXT: {{  $}}38    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr039    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr140    ; GFX6-NEXT: $m0 = S_MOV_B32 -141    ; GFX6-NEXT: [[ATOMICRMW_FADD:%[0-9]+]]:vgpr_32(s32) = G_ATOMICRMW_FADD [[COPY]](p3), [[COPY1]] :: (load store seq_cst (s32), addrspace 3)42    ; GFX6-NEXT: $vgpr0 = COPY [[ATOMICRMW_FADD]](s32)43    %0:vgpr(p3) = COPY $vgpr044    %1:vgpr(s32) = COPY $vgpr145    %2:vgpr(s32) = G_ATOMICRMW_FADD %0(p3), %1 :: (load store seq_cst (s32), addrspace 3)46    $vgpr0 = COPY %247 48...49 50---51name:            atomicrmw_fadd_s32_local_noret52legalized:       true53regBankSelected: true54tracksRegLiveness: true55body:             |56  bb.0:57    liveins: $vgpr0, $vgpr158 59    ; GFX8-LABEL: name: atomicrmw_fadd_s32_local_noret60    ; GFX8: liveins: $vgpr0, $vgpr161    ; GFX8-NEXT: {{  $}}62    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr063    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr164    ; GFX8-NEXT: $m0 = S_MOV_B32 -165    ; GFX8-NEXT: DS_ADD_F32 [[COPY]], [[COPY1]], 0, 0, implicit $m0, implicit $exec :: (load store seq_cst (s32), addrspace 3)66    ; GFX9-LABEL: name: atomicrmw_fadd_s32_local_noret67    ; GFX9: liveins: $vgpr0, $vgpr168    ; GFX9-NEXT: {{  $}}69    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr070    ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr171    ; GFX9-NEXT: DS_ADD_F32_gfx9 [[COPY]], [[COPY1]], 0, 0, implicit $exec :: (load store seq_cst (s32), addrspace 3)72    ; GFX6-LABEL: name: atomicrmw_fadd_s32_local_noret73    ; GFX6: liveins: $vgpr0, $vgpr174    ; GFX6-NEXT: {{  $}}75    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr076    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr177    ; GFX6-NEXT: $m0 = S_MOV_B32 -178    ; GFX6-NEXT: [[ATOMICRMW_FADD:%[0-9]+]]:vgpr(s32) = G_ATOMICRMW_FADD [[COPY]](p3), [[COPY1]] :: (load store seq_cst (s32), addrspace 3)79    %0:vgpr(p3) = COPY $vgpr080    %1:vgpr(s32) = COPY $vgpr181    %2:vgpr(s32) = G_ATOMICRMW_FADD %0(p3), %1 :: (load store seq_cst (s32), addrspace 3)82 83...84 85---86name:            atomicrmw_fadd_s32_local_gep487legalized:       true88regBankSelected: true89tracksRegLiveness: true90body:             |91  bb.0:92    liveins: $vgpr0, $vgpr193 94    ; GFX8-LABEL: name: atomicrmw_fadd_s32_local_gep495    ; GFX8: liveins: $vgpr0, $vgpr196    ; GFX8-NEXT: {{  $}}97    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr098    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr199    ; GFX8-NEXT: $m0 = S_MOV_B32 -1100    ; GFX8-NEXT: [[DS_ADD_RTN_F32_:%[0-9]+]]:vgpr_32 = DS_ADD_RTN_F32 [[COPY]], [[COPY1]], 4, 0, implicit $m0, implicit $exec :: (load store seq_cst (s32), addrspace 3)101    ; GFX8-NEXT: $vgpr0 = COPY [[DS_ADD_RTN_F32_]]102    ; GFX9-LABEL: name: atomicrmw_fadd_s32_local_gep4103    ; GFX9: liveins: $vgpr0, $vgpr1104    ; GFX9-NEXT: {{  $}}105    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0106    ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1107    ; GFX9-NEXT: [[DS_ADD_RTN_F32_gfx9_:%[0-9]+]]:vgpr_32 = DS_ADD_RTN_F32_gfx9 [[COPY]], [[COPY1]], 4, 0, implicit $exec :: (load store seq_cst (s32), addrspace 3)108    ; GFX9-NEXT: $vgpr0 = COPY [[DS_ADD_RTN_F32_gfx9_]]109    ; GFX6-LABEL: name: atomicrmw_fadd_s32_local_gep4110    ; GFX6: liveins: $vgpr0, $vgpr1111    ; GFX6-NEXT: {{  $}}112    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr0113    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1114    ; GFX6-NEXT: [[C:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 4115    ; GFX6-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p3) = G_PTR_ADD [[COPY]], [[C]](s32)116    ; GFX6-NEXT: $m0 = S_MOV_B32 -1117    ; GFX6-NEXT: [[ATOMICRMW_FADD:%[0-9]+]]:vgpr_32(s32) = G_ATOMICRMW_FADD [[PTR_ADD]](p3), [[COPY1]] :: (load store seq_cst (s32), addrspace 3)118    ; GFX6-NEXT: $vgpr0 = COPY [[ATOMICRMW_FADD]](s32)119    %0:vgpr(p3) = COPY $vgpr0120    %1:vgpr(s32) = COPY $vgpr1121    %2:vgpr(s32) = G_CONSTANT i32 4122    %3:vgpr(p3) = G_PTR_ADD %0, %2123    %4:vgpr(s32) = G_ATOMICRMW_FADD %3(p3), %1 :: (load store seq_cst (s32), addrspace 3)124    $vgpr0 = COPY %4125 126...127