86 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1010 -run-pass=si-fold-operands -verify-machineinstrs -o - %s | FileCheck --check-prefix=GCN %s3 4# Do not fold noninlinable constants in instructions like fmaak and fmamk next5# to kimm16 and kimm32 operands6 7---8name: fmaak_f169tracksRegLiveness: true10body: |11 bb.0:12 liveins: $vgpr013 14 ; GCN-LABEL: name: fmaak_f1615 ; GCN: liveins: $vgpr016 ; GCN-NEXT: {{ $}}17 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr018 ; GCN-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 14950, implicit $exec19 ; GCN-NEXT: [[V_FMAAK_F16_:%[0-9]+]]:vgpr_32 = contract nofpexcept V_FMAAK_F16 [[COPY]], [[V_MOV_B32_e32_]], 11878, implicit $mode, implicit $exec20 ; GCN-NEXT: $vgpr0 = COPY [[V_FMAAK_F16_]]21 %0:vgpr_32 = COPY $vgpr022 %1:vgpr_32 = V_MOV_B32_e32 14950, implicit $exec23 %2:vgpr_32 = contract nofpexcept V_FMAAK_F16 %0, %1, 11878, implicit $mode, implicit $exec24 $vgpr0 = COPY %225...26 27---28name: fmamk_f1629tracksRegLiveness: true30body: |31 bb.0:32 liveins: $vgpr033 34 ; GCN-LABEL: name: fmamk_f1635 ; GCN: liveins: $vgpr036 ; GCN-NEXT: {{ $}}37 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr038 ; GCN-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 14950, implicit $exec39 ; GCN-NEXT: [[V_FMAMK_F16_:%[0-9]+]]:vgpr_32 = contract nofpexcept V_FMAMK_F16 [[COPY]], 11878, [[V_MOV_B32_e32_]], implicit $mode, implicit $exec40 ; GCN-NEXT: $vgpr0 = COPY [[V_FMAMK_F16_]]41 %0:vgpr_32 = COPY $vgpr042 %1:vgpr_32 = V_MOV_B32_e32 14950, implicit $exec43 %2:vgpr_32 = contract nofpexcept V_FMAMK_F16 %0, 11878, %1, implicit $mode, implicit $exec44 $vgpr0 = COPY %245...46 47---48name: fmaak_f3249tracksRegLiveness: true50body: |51 bb.0:52 liveins: $vgpr053 54 ; GCN-LABEL: name: fmaak_f3255 ; GCN: liveins: $vgpr056 ; GCN-NEXT: {{ $}}57 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr058 ; GCN-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 979789416, implicit $exec59 ; GCN-NEXT: [[V_FMAAK_F32_:%[0-9]+]]:vgpr_32 = contract nofpexcept V_FMAAK_F32 [[COPY]], [[V_MOV_B32_e32_]], 778462824, implicit $mode, implicit $exec60 ; GCN-NEXT: $vgpr0 = COPY [[V_FMAAK_F32_]]61 %0:vgpr_32 = COPY $vgpr062 %1:vgpr_32 = V_MOV_B32_e32 979789416, implicit $exec63 %2:vgpr_32 = contract nofpexcept V_FMAAK_F32 %0, %1, 778462824, implicit $mode, implicit $exec64 $vgpr0 = COPY %265...66 67---68name: fmamk_f3269tracksRegLiveness: true70body: |71 bb.0:72 liveins: $vgpr073 74 ; GCN-LABEL: name: fmamk_f3275 ; GCN: liveins: $vgpr076 ; GCN-NEXT: {{ $}}77 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr078 ; GCN-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 979789416, implicit $exec79 ; GCN-NEXT: [[V_FMAMK_F32_:%[0-9]+]]:vgpr_32 = contract nofpexcept V_FMAMK_F32 [[COPY]], 778462824, [[V_MOV_B32_e32_]], implicit $mode, implicit $exec80 ; GCN-NEXT: $vgpr0 = COPY [[V_FMAMK_F32_]]81 %0:vgpr_32 = COPY $vgpr082 %1:vgpr_32 = V_MOV_B32_e32 979789416, implicit $exec83 %2:vgpr_32 = contract nofpexcept V_FMAMK_F32 %0, 778462824, %1, implicit $mode, implicit $exec84 $vgpr0 = COPY %285...86