148 lines · plain
1# RUN: llc -mtriple=amdgcn -verify-machineinstrs -run-pass si-optimize-exec-masking %s -o - | FileCheck -check-prefix=GCN %s2 3---4# GCN-LABEL: name: reduce_and_saveexec5# GCN: $exec = S_AND_B64 $exec, killed $vcc6# GCN-NEXT: S_ENDPGM 07name: reduce_and_saveexec8tracksRegLiveness: true9body: |10 bb.0:11 $vcc = IMPLICIT_DEF12 $sgpr0_sgpr1 = S_AND_B64 $exec, killed $vcc, implicit-def $scc13 $exec = COPY killed $sgpr0_sgpr114 S_ENDPGM 015...16---17# GCN-LABEL: name: reduce_and_saveexec_commuted18# GCN: $exec = S_AND_B64 killed $vcc, $exec19# GCN-NEXT: S_ENDPGM 020name: reduce_and_saveexec_commuted21tracksRegLiveness: true22body: |23 bb.0:24 $vcc = IMPLICIT_DEF25 $sgpr0_sgpr1 = S_AND_B64 killed $vcc, $exec, implicit-def $scc26 $exec = COPY killed $sgpr0_sgpr127 S_ENDPGM 028...29---30# GCN-LABEL: name: reduce_and_saveexec_liveout31# GCN: $sgpr0_sgpr1 = S_AND_B64 $exec, killed $vcc32# GCN-NEXT: $exec = COPY33name: reduce_and_saveexec_liveout34tracksRegLiveness: true35body: |36 bb.0:37 $vcc = IMPLICIT_DEF38 $sgpr0_sgpr1 = S_AND_B64 $exec, killed $vcc, implicit-def $scc39 $exec = COPY $sgpr0_sgpr140 S_ENDPGM 041...42---43# GCN-LABEL: name: and_saveexec44# GCN: $sgpr0_sgpr1 = S_AND_SAVEEXEC_B64 $vcc45# GCN-NEXT: S_ENDPGM 046name: and_saveexec47tracksRegLiveness: true48body: |49 bb.0:50 $vcc = IMPLICIT_DEF51 $sgpr0_sgpr1 = COPY $exec52 $sgpr2_sgpr3 = S_AND_B64 $sgpr0_sgpr1, killed $vcc, implicit-def $scc53 $exec = S_MOV_B64_term $sgpr2_sgpr354 S_ENDPGM 055...56---57# GCN-LABEL: name: reduce_or_saveexec58# GCN: $exec = S_OR_B64 $exec, killed $vcc59# GCN-NEXT: S_ENDPGM 060name: reduce_or_saveexec61tracksRegLiveness: true62body: |63 bb.0:64 $vcc = IMPLICIT_DEF65 $sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc66 $exec = COPY killed $sgpr0_sgpr167 S_ENDPGM 068...69---70# GCN-LABEL: name: reduce_xor_saveexec71# GCN: $exec = S_XOR_B64 $exec, killed $vcc72# GCN-NEXT: S_ENDPGM 073name: reduce_xor_saveexec74tracksRegLiveness: true75body: |76 bb.0:77 $vcc = IMPLICIT_DEF78 $sgpr0_sgpr1 = S_XOR_B64 $exec, killed $vcc, implicit-def $scc79 $exec = COPY killed $sgpr0_sgpr180 S_ENDPGM 081...82---83# GCN-LABEL: name: reduce_andn2_saveexec84# GCN: $exec = S_ANDN2_B64 $exec, killed $vcc85# GCN-NEXT: S_ENDPGM 086name: reduce_andn2_saveexec87tracksRegLiveness: true88body: |89 bb.0:90 $vcc = IMPLICIT_DEF91 $sgpr0_sgpr1 = S_ANDN2_B64 $exec, killed $vcc, implicit-def $scc92 $exec = COPY killed $sgpr0_sgpr193 S_ENDPGM 094...95---96# GCN-LABEL: name: reduce_orn2_saveexec97# GCN: $exec = S_ORN2_B64 $exec, killed $vcc98# GCN-NEXT: S_ENDPGM 099name: reduce_orn2_saveexec100tracksRegLiveness: true101body: |102 bb.0:103 $vcc = IMPLICIT_DEF104 $sgpr0_sgpr1 = S_ORN2_B64 $exec, killed $vcc, implicit-def $scc105 $exec = COPY killed $sgpr0_sgpr1106 S_ENDPGM 0107...108---109# GCN-LABEL: name: reduce_nand_saveexec110# GCN: $exec = S_NAND_B64 $exec, killed $vcc111# GCN-NEXT: S_ENDPGM 0112name: reduce_nand_saveexec113tracksRegLiveness: true114body: |115 bb.0:116 $vcc = IMPLICIT_DEF117 $sgpr0_sgpr1 = S_NAND_B64 $exec, killed $vcc, implicit-def $scc118 $exec = COPY killed $sgpr0_sgpr1119 S_ENDPGM 0120...121---122# GCN-LABEL: name: reduce_nor_saveexec123# GCN: $exec = S_NOR_B64 $exec, killed $vcc124# GCN-NEXT: S_ENDPGM 0125name: reduce_nor_saveexec126tracksRegLiveness: true127body: |128 bb.0:129 $vcc = IMPLICIT_DEF130 $sgpr0_sgpr1 = S_NOR_B64 $exec, killed $vcc, implicit-def $scc131 $exec = COPY killed $sgpr0_sgpr1132 S_ENDPGM 0133...134---135# GCN-LABEL: name: reduce_xnor_saveexec136# GCN: $exec = S_XNOR_B64 $exec, killed $vcc137# GCN-NEXT: S_ENDPGM 0138name: reduce_xnor_saveexec139tracksRegLiveness: true140body: |141 bb.0:142 $vcc = IMPLICIT_DEF143 $sgpr0_sgpr1 = S_XNOR_B64 $exec, killed $vcc, implicit-def $scc144 $exec = COPY killed $sgpr0_sgpr1145 S_ENDPGM 0146...147---148