113 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx908 %s -o - -run-pass machine-cp -verify-machineinstrs | FileCheck -check-prefix=GFX908 %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx90a %s -o - -run-pass machine-cp -verify-machineinstrs | FileCheck -check-prefix=GFX90A %s4 5---6name: propagate_agpr7body: |8 bb.0:9 successors:10 liveins: $agpr011 12 ; GFX908-LABEL: name: propagate_agpr13 ; GFX908: liveins: $agpr014 ; GFX908-NEXT: {{ $}}15 ; GFX908-NEXT: renamable $agpr1 = COPY renamable $agpr0, implicit $exec16 ; GFX908-NEXT: renamable $agpr2 = COPY $agpr0, implicit $exec17 ; GFX908-NEXT: renamable $agpr3 = COPY $agpr0, implicit $exec18 ; GFX908-NEXT: S_ENDPGM 0, implicit $agpr1, implicit $agpr2, implicit $agpr319 ;20 ; GFX90A-LABEL: name: propagate_agpr21 ; GFX90A: liveins: $agpr022 ; GFX90A-NEXT: {{ $}}23 ; GFX90A-NEXT: renamable $agpr1 = COPY renamable $agpr0, implicit $exec24 ; GFX90A-NEXT: renamable $agpr2 = COPY $agpr0, implicit $exec25 ; GFX90A-NEXT: renamable $agpr3 = COPY $agpr0, implicit $exec26 ; GFX90A-NEXT: S_ENDPGM 0, implicit $agpr1, implicit $agpr2, implicit $agpr327 renamable $agpr1 = COPY renamable $agpr0, implicit $exec28 renamable $agpr2 = COPY renamable $agpr1, implicit $exec29 renamable $agpr3 = COPY renamable $agpr2, implicit $exec30 S_ENDPGM 0, implicit $agpr1, implicit $agpr2, implicit $agpr331...32---33name: do_not_propagate_agpr_to_agpr34body: |35 bb.0:36 successors:37 liveins: $agpr038 39 ; GFX908-LABEL: name: do_not_propagate_agpr_to_agpr40 ; GFX908: liveins: $agpr041 ; GFX908-NEXT: {{ $}}42 ; GFX908-NEXT: renamable $vgpr0 = COPY renamable $agpr0, implicit $exec43 ; GFX908-NEXT: renamable $agpr1 = COPY $agpr0, implicit $exec44 ; GFX908-NEXT: renamable $agpr2 = COPY $agpr0, implicit $exec45 ; GFX908-NEXT: S_ENDPGM 0, implicit $vgpr0, implicit $agpr1, implicit $agpr246 ;47 ; GFX90A-LABEL: name: do_not_propagate_agpr_to_agpr48 ; GFX90A: liveins: $agpr049 ; GFX90A-NEXT: {{ $}}50 ; GFX90A-NEXT: renamable $vgpr0 = COPY renamable $agpr0, implicit $exec51 ; GFX90A-NEXT: renamable $agpr1 = COPY $agpr0, implicit $exec52 ; GFX90A-NEXT: renamable $agpr2 = COPY $agpr0, implicit $exec53 ; GFX90A-NEXT: S_ENDPGM 0, implicit $vgpr0, implicit $agpr1, implicit $agpr254 renamable $vgpr0 = COPY renamable $agpr0, implicit $exec55 renamable $agpr1 = COPY renamable $vgpr0, implicit $exec56 renamable $agpr2 = COPY renamable $vgpr0, implicit $exec57 S_ENDPGM 0, implicit $vgpr0, implicit $agpr1, implicit $agpr258...59---60name: propagate_vgpr_to_agpr61body: |62 bb.0:63 successors:64 liveins: $vgpr065 66 ; GFX908-LABEL: name: propagate_vgpr_to_agpr67 ; GFX908: liveins: $vgpr068 ; GFX908-NEXT: {{ $}}69 ; GFX908-NEXT: renamable $agpr0 = COPY renamable $vgpr0, implicit $exec70 ; GFX908-NEXT: renamable $agpr1 = COPY $vgpr0, implicit $exec71 ; GFX908-NEXT: renamable $agpr2 = COPY $vgpr0, implicit $exec72 ; GFX908-NEXT: S_ENDPGM 0, implicit $agpr0, implicit $agpr1, implicit $agpr273 ;74 ; GFX90A-LABEL: name: propagate_vgpr_to_agpr75 ; GFX90A: liveins: $vgpr076 ; GFX90A-NEXT: {{ $}}77 ; GFX90A-NEXT: renamable $agpr0 = COPY renamable $vgpr0, implicit $exec78 ; GFX90A-NEXT: renamable $agpr1 = COPY $vgpr0, implicit $exec79 ; GFX90A-NEXT: renamable $agpr2 = COPY $vgpr0, implicit $exec80 ; GFX90A-NEXT: S_ENDPGM 0, implicit $agpr0, implicit $agpr1, implicit $agpr281 renamable $agpr0 = COPY renamable $vgpr0, implicit $exec82 renamable $agpr1 = COPY renamable $agpr0, implicit $exec83 renamable $agpr2 = COPY renamable $agpr0, implicit $exec84 S_ENDPGM 0, implicit $agpr0, implicit $agpr1, implicit $agpr285...86---87name: propagate_agpr_to_vgpr88body: |89 bb.0:90 successors:91 liveins: $agpr092 93 ; GFX908-LABEL: name: propagate_agpr_to_vgpr94 ; GFX908: liveins: $agpr095 ; GFX908-NEXT: {{ $}}96 ; GFX908-NEXT: renamable $vgpr0 = COPY renamable $agpr0, implicit $exec97 ; GFX908-NEXT: renamable $vgpr1 = COPY $agpr0, implicit $exec98 ; GFX908-NEXT: renamable $vgpr2 = COPY $agpr0, implicit $exec99 ; GFX908-NEXT: S_ENDPGM 0, implicit $vgpr0, implicit $vgpr1, implicit $vgpr2100 ;101 ; GFX90A-LABEL: name: propagate_agpr_to_vgpr102 ; GFX90A: liveins: $agpr0103 ; GFX90A-NEXT: {{ $}}104 ; GFX90A-NEXT: renamable $vgpr0 = COPY renamable $agpr0, implicit $exec105 ; GFX90A-NEXT: renamable $vgpr1 = COPY $agpr0, implicit $exec106 ; GFX90A-NEXT: renamable $vgpr2 = COPY $agpr0, implicit $exec107 ; GFX90A-NEXT: S_ENDPGM 0, implicit $vgpr0, implicit $vgpr1, implicit $vgpr2108 renamable $vgpr0 = COPY renamable $agpr0, implicit $exec109 renamable $vgpr1 = COPY renamable $vgpr0, implicit $exec110 renamable $vgpr2 = COPY renamable $vgpr0, implicit $exec111 S_ENDPGM 0, implicit $vgpr0, implicit $vgpr1, implicit $vgpr2112...113