124 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx1030 -run-pass=machine-cse -verify-machineinstrs %s -o - 2>&1 | FileCheck --check-prefix=GCN %s2 3---4name: test_machine_cse_op_sel_v_add_nc_u165body: |6 ; GCN-LABEL: name: test_machine_cse_op_sel_v_add_nc_u167 ; GCN: %2:vgpr_32 = V_ADD_NC_U16_e64 0, %0, 0, %1, 1, 0, implicit $mode, implicit $exec8 ; GCN-NEXT: DS_WRITE2_B32_gfx9 undef %4:vgpr_32, %2, %2, 0, 1, 0, implicit $exec9 bb.0:10 %0:vgpr_32 = IMPLICIT_DEF11 %1:vgpr_32 = IMPLICIT_DEF12 %2:vgpr_32 = V_ADD_NC_U16_e64 0, %0, 0, %1, 1, 0, implicit $mode, implicit $exec13 %3:vgpr_32 = V_ADD_NC_U16_e64 0, %1, 0, %0, 1, 0, implicit $mode, implicit $exec14 DS_WRITE2_B32_gfx9 undef %4:vgpr_32, %2, %3, 0, 1, 0, implicit $exec15...16 17---18name: test_machine_cse_op_sel_const_v_add_nc_u1619body: |20 ; GCN-LABEL: name: test_machine_cse_op_sel_const_v_add_nc_u1621 ; GCN: %0:vgpr_32 = V_ADD_NC_U16_e64 0, 64, 0, -3, 1, 0, implicit $mode, implicit $exec22 ; GCN-NEXT: DS_WRITE2_B32_gfx9 undef %2:vgpr_32, %0, %0, 0, 1, 0, implicit $exec23 bb.0:24 %1:vgpr_32 = V_ADD_NC_U16_e64 0, 64, 0, -3, 1, 0, implicit $mode, implicit $exec25 %2:vgpr_32 = V_ADD_NC_U16_e64 0, -3, 0, 64, 1, 0, implicit $mode, implicit $exec26 DS_WRITE2_B32_gfx9 undef %4:vgpr_32, %1, %2, 0, 1, 0, implicit $exec27...28 29---30name: test_machine_cse_op_sel_v_fma_f1631tracksRegLiveness: true32body: |33 ; GCN-LABEL: name: test_machine_cse_op_sel_v_fma_f1634 ; GCN: %3:vgpr_32 = nofpexcept V_FMA_F16_e64 0, %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec35 ; GCN-NEXT: DS_WRITE2_B32_gfx9 undef %5:vgpr_32, %3, %3, 0, 1, 0, implicit $exec36 bb.0:37 liveins: $vgpr0, $vgpr1, $vgpr238 %0:vgpr_32 = COPY $vgpr039 %1:vgpr_32 = COPY $vgpr140 %2:vgpr_32 = COPY $vgpr241 %3:vgpr_32 = nofpexcept V_FMA_F16_e64 0, %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec42 %4:vgpr_32 = nofpexcept V_FMA_F16_e64 0, %1, 0, %0, 0, %2, 0, 0, implicit $mode, implicit $exec43 DS_WRITE2_B32_gfx9 undef %5:vgpr_32, %3, %4, 0, 1, 0, implicit $exec44...45 46---47name: test_machine_cse_op_sel_const_v_fma_f1648tracksRegLiveness: true49body: |50 ; GCN-LABEL: name: test_machine_cse_op_sel_const_v_fma_f1651 ; GCN: %1:vgpr_32 = nofpexcept V_FMA_F16_e64 0, 3481272320, 0, 1, 0, %0, 0, 0, implicit $mode, implicit $exec52 ; GCN-NEXT: DS_WRITE2_B32_gfx9 undef %3:vgpr_32, %1, %1, 0, 1, 0, implicit $exec53 bb.0:54 liveins: $vgpr055 %0:vgpr_32 = COPY $vgpr056 %1:vgpr_32 = nofpexcept V_FMA_F16_e64 0, 1, 0, 3481272320, 0, %0, 0, 0, implicit $mode, implicit $exec57 %2:vgpr_32 = nofpexcept V_FMA_F16_e64 0, 3481272320, 0, 1, 0, %0, 0, 0, implicit $mode, implicit $exec58 DS_WRITE2_B32_gfx9 undef %3:vgpr_32, %1, %2, 0, 1, 0, implicit $exec59...60 61---62name: test_machine_cse_op_sel_v_mad_u1663tracksRegLiveness: true64body: |65 ; GCN-LABEL: name: test_machine_cse_op_sel_v_mad_u1666 ; GCN: %3:vgpr_32 = V_MAD_U32_U16_e64 0, %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec67 ; GCN-NEXT: DS_WRITE2_B32_gfx9 undef %5:vgpr_32, %3, %3, 0, 1, 0, implicit $exec68 bb.0:69 liveins: $vgpr0, $vgpr1, $vgpr270 %0:vgpr_32 = COPY $vgpr071 %1:vgpr_32 = COPY $vgpr172 %2:vgpr_32 = COPY $vgpr273 %3:vgpr_32 = V_MAD_U32_U16_e64 0, %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec74 %4:vgpr_32 = V_MAD_U32_U16_e64 0, %1, 0, %0, 0, %2, 0, 0, implicit $mode, implicit $exec75 DS_WRITE2_B32_gfx9 undef %5:vgpr_32, %3, %4, 0, 1, 0, implicit $exec76...77 78---79name: test_machine_cse_op_sel_const_v_mad_u1680tracksRegLiveness: true81body: |82 ; GCN-LABEL: name: test_machine_cse_op_sel_const_v_mad_u1683 ; GCN: %1:vgpr_32 = V_MAD_U32_U16_e64 0, 1, 0, 64, 0, %0, 0, 0, implicit $mode, implicit $exec84 ; GCN-NEXT: DS_WRITE2_B32_gfx9 undef %3:vgpr_32, %1, %1, 0, 1, 0, implicit $exec85 bb.0:86 liveins: $vgpr087 %0:vgpr_32 = COPY $vgpr088 %1:vgpr_32 = V_MAD_U32_U16_e64 0, 1, 0, 64, 0, %0, 0, 0, implicit $mode, implicit $exec89 %2:vgpr_32 = V_MAD_U32_U16_e64 0, 64, 0, 1, 0, %0, 0, 0, implicit $mode, implicit $exec90 DS_WRITE2_B32_gfx9 undef %3:vgpr_32, %1, %2, 0, 1, 0, implicit $exec91...92 93---94name: test_machine_cse_op_sel_v_mad_i1695tracksRegLiveness: true96body: |97 ; GCN-LABEL: name: test_machine_cse_op_sel_v_mad_i1698 ; GCN: %3:vgpr_32 = V_MAD_I32_I16_e64 0, %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec99 ; GCN-NEXT: DS_WRITE2_B32_gfx9 undef %5:vgpr_32, %3, %3, 0, 1, 0, implicit $exec100 bb.0:101 liveins: $vgpr0, $vgpr1, $vgpr2102 %0:vgpr_32 = COPY $vgpr0103 %1:vgpr_32 = COPY $vgpr1104 %2:vgpr_32 = COPY $vgpr2105 %3:vgpr_32 = V_MAD_I32_I16_e64 0, %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec106 %4:vgpr_32 = V_MAD_I32_I16_e64 0, %1, 0, %0, 0, %2, 0, 0, implicit $mode, implicit $exec107 DS_WRITE2_B32_gfx9 undef %5:vgpr_32, %3, %4, 0, 1, 0, implicit $exec108...109 110---111name: test_machine_cse_op_sel_const_v_mad_i16112tracksRegLiveness: true113body: |114 ; GCN-LABEL: name: test_machine_cse_op_sel_const_v_mad_i16115 ; GCN: %1:vgpr_32 = V_MAD_I32_I16_e64 0, 1, 0, 64, 0, %0, 0, 0, implicit $mode, implicit $exec116 ; GCN-NEXT: DS_WRITE2_B32_gfx9 undef %3:vgpr_32, %1, %1, 0, 1, 0, implicit $exec117 bb.0:118 liveins: $vgpr0119 %0:vgpr_32 = COPY $vgpr0120 %1:vgpr_32 = V_MAD_I32_I16_e64 0, 1, 0, 64, 0, %0, 0, 0, implicit $mode, implicit $exec121 %2:vgpr_32 = V_MAD_I32_I16_e64 0, 64, 0, 1, 0, %0, 0, 0, implicit $mode, implicit $exec122 DS_WRITE2_B32_gfx9 undef %3:vgpr_32, %1, %2, 0, 1, 0, implicit $exec123...124