brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.1 KiB · 46c801b Raw
180 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=tahiti -run-pass=instruction-select -verify-machineinstrs %s -o -  | FileCheck -check-prefix=WAVE64 %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -run-pass=instruction-select -verify-machineinstrs %s -o -  | FileCheck -check-prefix=WAVE32 %s4 5---6name: class_s32_vcc_sv7legalized: true8regBankSelected: true9tracksRegLiveness: true10 11body: |12  bb.0:13    liveins: $sgpr0, $vgpr014    ; WAVE64-LABEL: name: class_s32_vcc_sv15    ; WAVE64: liveins: $sgpr0, $vgpr016    ; WAVE64-NEXT: {{  $}}17    ; WAVE64-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr018    ; WAVE64-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr019    ; WAVE64-NEXT: [[V_CMP_CLASS_F32_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_CLASS_F32_e64 0, [[COPY]], [[COPY1]], implicit $exec20    ; WAVE64-NEXT: S_ENDPGM 0, implicit [[V_CMP_CLASS_F32_e64_]]21    ; WAVE32-LABEL: name: class_s32_vcc_sv22    ; WAVE32: liveins: $sgpr0, $vgpr023    ; WAVE32-NEXT: {{  $}}24    ; WAVE32-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr025    ; WAVE32-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr026    ; WAVE32-NEXT: [[V_CMP_CLASS_F32_e64_:%[0-9]+]]:sreg_32_xm0_xexec = V_CMP_CLASS_F32_e64 0, [[COPY]], [[COPY1]], implicit $exec27    ; WAVE32-NEXT: S_ENDPGM 0, implicit [[V_CMP_CLASS_F32_e64_]]28    %0:sgpr(s32) = COPY $sgpr029    %1:vgpr(s32) = COPY $vgpr030    %2:vcc(s1) = G_INTRINSIC intrinsic(@llvm.amdgcn.class), %0, %131    S_ENDPGM 0, implicit %232...33 34---35name: class_s32_vcc_vs36legalized: true37regBankSelected: true38tracksRegLiveness: true39 40body: |41  bb.0:42    liveins: $sgpr0, $vgpr043    ; WAVE64-LABEL: name: class_s32_vcc_vs44    ; WAVE64: liveins: $sgpr0, $vgpr045    ; WAVE64-NEXT: {{  $}}46    ; WAVE64-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr047    ; WAVE64-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr048    ; WAVE64-NEXT: [[V_CMP_CLASS_F32_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_CLASS_F32_e64 0, [[COPY]], [[COPY1]], implicit $exec49    ; WAVE64-NEXT: S_ENDPGM 0, implicit [[V_CMP_CLASS_F32_e64_]]50    ; WAVE32-LABEL: name: class_s32_vcc_vs51    ; WAVE32: liveins: $sgpr0, $vgpr052    ; WAVE32-NEXT: {{  $}}53    ; WAVE32-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr054    ; WAVE32-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr055    ; WAVE32-NEXT: [[V_CMP_CLASS_F32_e64_:%[0-9]+]]:sreg_32_xm0_xexec = V_CMP_CLASS_F32_e64 0, [[COPY]], [[COPY1]], implicit $exec56    ; WAVE32-NEXT: S_ENDPGM 0, implicit [[V_CMP_CLASS_F32_e64_]]57    %0:vgpr(s32) = COPY $vgpr058    %1:sgpr(s32) = COPY $sgpr059    %2:vcc(s1) = G_INTRINSIC intrinsic(@llvm.amdgcn.class), %0, %160    S_ENDPGM 0, implicit %261...62 63---64name: class_s32_vcc_vv65legalized: true66regBankSelected: true67tracksRegLiveness: true68 69body: |70  bb.0:71    liveins: $vgpr0, $vgpr172    ; WAVE64-LABEL: name: class_s32_vcc_vv73    ; WAVE64: liveins: $vgpr0, $vgpr174    ; WAVE64-NEXT: {{  $}}75    ; WAVE64-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr076    ; WAVE64-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr177    ; WAVE64-NEXT: [[V_CMP_CLASS_F32_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_CLASS_F32_e64 0, [[COPY]], [[COPY1]], implicit $exec78    ; WAVE64-NEXT: S_ENDPGM 0, implicit [[V_CMP_CLASS_F32_e64_]]79    ; WAVE32-LABEL: name: class_s32_vcc_vv80    ; WAVE32: liveins: $vgpr0, $vgpr181    ; WAVE32-NEXT: {{  $}}82    ; WAVE32-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr083    ; WAVE32-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr184    ; WAVE32-NEXT: [[V_CMP_CLASS_F32_e64_:%[0-9]+]]:sreg_32_xm0_xexec = V_CMP_CLASS_F32_e64 0, [[COPY]], [[COPY1]], implicit $exec85    ; WAVE32-NEXT: S_ENDPGM 0, implicit [[V_CMP_CLASS_F32_e64_]]86    %0:vgpr(s32) = COPY $vgpr087    %1:vgpr(s32) = COPY $vgpr188    %2:vcc(s1) = G_INTRINSIC intrinsic(@llvm.amdgcn.class), %0, %189    S_ENDPGM 0, implicit %290...91 92---93name: class_s64_vcc_sv94legalized: true95regBankSelected: true96tracksRegLiveness: true97 98body: |99  bb.0:100    liveins: $sgpr0_sgpr1, $vgpr0101    ; WAVE64-LABEL: name: class_s64_vcc_sv102    ; WAVE64: liveins: $sgpr0_sgpr1, $vgpr0103    ; WAVE64-NEXT: {{  $}}104    ; WAVE64-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1105    ; WAVE64-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr0106    ; WAVE64-NEXT: [[V_CMP_CLASS_F64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_CLASS_F64_e64 0, [[COPY]], [[COPY1]], implicit $exec107    ; WAVE64-NEXT: S_ENDPGM 0, implicit [[V_CMP_CLASS_F64_e64_]]108    ; WAVE32-LABEL: name: class_s64_vcc_sv109    ; WAVE32: liveins: $sgpr0_sgpr1, $vgpr0110    ; WAVE32-NEXT: {{  $}}111    ; WAVE32-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1112    ; WAVE32-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr0113    ; WAVE32-NEXT: [[V_CMP_CLASS_F64_e64_:%[0-9]+]]:sreg_32_xm0_xexec = V_CMP_CLASS_F64_e64 0, [[COPY]], [[COPY1]], implicit $exec114    ; WAVE32-NEXT: S_ENDPGM 0, implicit [[V_CMP_CLASS_F64_e64_]]115    %0:sgpr(s64) = COPY $sgpr0_sgpr1116    %1:vgpr(s32) = COPY $vgpr0117    %2:vcc(s1) = G_INTRINSIC intrinsic(@llvm.amdgcn.class), %0, %1118    S_ENDPGM 0, implicit %2119...120 121---122name: class_s64_vcc_vs123legalized: true124regBankSelected: true125tracksRegLiveness: true126 127body: |128  bb.0:129    liveins: $sgpr0_sgpr1, $vgpr0130 131    ; WAVE64-LABEL: name: class_s64_vcc_vs132    ; WAVE64: liveins: $sgpr0_sgpr1, $vgpr0133    ; WAVE64-NEXT: {{  $}}134    ; WAVE64-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1135    ; WAVE64-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr0136    ; WAVE64-NEXT: [[V_CMP_CLASS_F64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_CLASS_F64_e64 0, [[COPY]], [[COPY1]], implicit $exec137    ; WAVE64-NEXT: S_ENDPGM 0, implicit [[V_CMP_CLASS_F64_e64_]]138    ; WAVE32-LABEL: name: class_s64_vcc_vs139    ; WAVE32: liveins: $sgpr0_sgpr1, $vgpr0140    ; WAVE32-NEXT: {{  $}}141    ; WAVE32-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1142    ; WAVE32-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr0143    ; WAVE32-NEXT: [[V_CMP_CLASS_F64_e64_:%[0-9]+]]:sreg_32_xm0_xexec = V_CMP_CLASS_F64_e64 0, [[COPY]], [[COPY1]], implicit $exec144    ; WAVE32-NEXT: S_ENDPGM 0, implicit [[V_CMP_CLASS_F64_e64_]]145    %0:vgpr(s64) = COPY $vgpr0_vgpr1146    %1:sgpr(s32) = COPY $sgpr0147    %2:vcc(s1) = G_INTRINSIC intrinsic(@llvm.amdgcn.class), %0, %1148    S_ENDPGM 0, implicit %2149...150 151---152name: class_s64_vcc_vv153legalized: true154regBankSelected: true155tracksRegLiveness: true156 157body: |158  bb.0:159    liveins: $vgpr0_vgpr1, $vgpr2160 161    ; WAVE64-LABEL: name: class_s64_vcc_vv162    ; WAVE64: liveins: $vgpr0_vgpr1, $vgpr2163    ; WAVE64-NEXT: {{  $}}164    ; WAVE64-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1165    ; WAVE64-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr2166    ; WAVE64-NEXT: [[V_CMP_CLASS_F64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_CLASS_F64_e64 0, [[COPY]], [[COPY1]], implicit $exec167    ; WAVE64-NEXT: S_ENDPGM 0, implicit [[V_CMP_CLASS_F64_e64_]]168    ; WAVE32-LABEL: name: class_s64_vcc_vv169    ; WAVE32: liveins: $vgpr0_vgpr1, $vgpr2170    ; WAVE32-NEXT: {{  $}}171    ; WAVE32-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1172    ; WAVE32-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr2173    ; WAVE32-NEXT: [[V_CMP_CLASS_F64_e64_:%[0-9]+]]:sreg_32_xm0_xexec = V_CMP_CLASS_F64_e64 0, [[COPY]], [[COPY1]], implicit $exec174    ; WAVE32-NEXT: S_ENDPGM 0, implicit [[V_CMP_CLASS_F64_e64_]]175    %0:vgpr(s64) = COPY $vgpr0_vgpr1176    %1:vgpr(s32) = COPY $vgpr2177    %2:vcc(s1) = G_INTRINSIC intrinsic(@llvm.amdgcn.class), %0, %1178    S_ENDPGM 0, implicit %2179...180