brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.9 KiB · 6e52cb0 Raw
241 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx1150 -verify-machineinstrs -run-pass=si-fold-operands  %s -o - | FileCheck %s3 4---5name:            fmac_fold_inlinable_src0_to_fmamk6tracksRegLiveness: true7body:             |8  bb.0:9    liveins: $sgpr0, $sgpr110 11    ; CHECK-LABEL: name: fmac_fold_inlinable_src0_to_fmamk12    ; CHECK: liveins: $sgpr0, $sgpr113    ; CHECK-NEXT: {{  $}}14    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr015    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr116    ; CHECK-NEXT: %fma:sreg_32 = nofpexcept S_FMAC_F32 1056964608, [[COPY]], [[COPY1]], implicit $mode17    ; CHECK-NEXT: $sgpr0 = COPY %fma18    %0:sreg_32 = COPY $sgpr019    %1:sreg_32 = COPY $sgpr120    %inlinable:sreg_32 = S_MOV_B32 105696460821    %fma:sreg_32 = nofpexcept S_FMAC_F32 %inlinable, %0, %1, implicit $mode22    $sgpr0 = COPY %fma23...24---25name:            fmac_fold_inlinable_src1_to_fmamk26tracksRegLiveness: true27body:             |28  bb.0:29    liveins: $sgpr0, $sgpr130 31    ; CHECK-LABEL: name: fmac_fold_inlinable_src1_to_fmamk32    ; CHECK: liveins: $sgpr0, $sgpr133    ; CHECK-NEXT: {{  $}}34    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr035    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr136    ; CHECK-NEXT: %fma:sreg_32 = nofpexcept S_FMAC_F32 [[COPY]], 1056964608, [[COPY1]], implicit $mode37    ; CHECK-NEXT: $sgpr0 = COPY %fma38    %0:sreg_32 = COPY $sgpr039    %1:sreg_32 = COPY $sgpr140    %inlinable:sreg_32 = S_MOV_B32 105696460841    %fma:sreg_32 = nofpexcept S_FMAC_F32 %0, %inlinable, %1, implicit $mode42    $sgpr0 = COPY %fma43...44---45name:            fmac_fold_inlinable_src2_to_fmaak46tracksRegLiveness: true47body:             |48  bb.0:49    liveins: $sgpr0, $sgpr150 51    ; CHECK-LABEL: name: fmac_fold_inlinable_src2_to_fmaak52    ; CHECK: liveins: $sgpr0, $sgpr153    ; CHECK-NEXT: {{  $}}54    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr055    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr156    ; CHECK-NEXT: %fma:sreg_32 = nofpexcept S_FMAAK_F32 [[COPY]], [[COPY1]], 1056964608, implicit $mode57    ; CHECK-NEXT: $sgpr0 = COPY %fma58    %0:sreg_32 = COPY $sgpr059    %1:sreg_32 = COPY $sgpr160    %inlinable:sreg_32 = S_MOV_B32 105696460861    %fma:sreg_32 = nofpexcept S_FMAC_F32 %0, %1, %inlinable, implicit $mode62    $sgpr0 = COPY %fma63...64---65name:            fmac_fold_noninlinable_src0_to_fmamk66tracksRegLiveness: true67body:             |68  bb.0:69    liveins: $sgpr0, $sgpr170 71    ; CHECK-LABEL: name: fmac_fold_noninlinable_src0_to_fmamk72    ; CHECK: liveins: $sgpr0, $sgpr173    ; CHECK-NEXT: {{  $}}74    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr075    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr176    ; CHECK-NEXT: %fma:sreg_32 = nofpexcept S_FMAC_F32 1234567890, [[COPY]], [[COPY1]], implicit $mode77    ; CHECK-NEXT: $sgpr0 = COPY %fma78    %0:sreg_32 = COPY $sgpr079    %1:sreg_32 = COPY $sgpr180    %noninlinable:sreg_32 = S_MOV_B32 123456789081    %fma:sreg_32 = nofpexcept S_FMAC_F32 %noninlinable, %0, %1, implicit $mode82    $sgpr0 = COPY %fma83...84---85name:            fmac_fold_noninlinable_src1_to_fmamk86tracksRegLiveness: true87body:             |88  bb.0:89    liveins: $sgpr0, $sgpr190 91    ; CHECK-LABEL: name: fmac_fold_noninlinable_src1_to_fmamk92    ; CHECK: liveins: $sgpr0, $sgpr193    ; CHECK-NEXT: {{  $}}94    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr095    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr196    ; CHECK-NEXT: %fma:sreg_32 = nofpexcept S_FMAC_F32 [[COPY]], 1234567890, [[COPY1]], implicit $mode97    ; CHECK-NEXT: $sgpr0 = COPY %fma98    %0:sreg_32 = COPY $sgpr099    %1:sreg_32 = COPY $sgpr1100    %noninlinable:sreg_32 = S_MOV_B32 1234567890101    %fma:sreg_32 = nofpexcept S_FMAC_F32 %0, %noninlinable, %1, implicit $mode102    $sgpr0 = COPY %fma103...104---105name:            fmac_fold_noninlinable_src2_to_fmaak106tracksRegLiveness: true107body:             |108  bb.0:109    liveins: $sgpr0, $sgpr1110 111    ; CHECK-LABEL: name: fmac_fold_noninlinable_src2_to_fmaak112    ; CHECK: liveins: $sgpr0, $sgpr1113    ; CHECK-NEXT: {{  $}}114    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0115    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1116    ; CHECK-NEXT: %fma:sreg_32 = nofpexcept S_FMAAK_F32 [[COPY]], [[COPY1]], 1234567890, implicit $mode117    ; CHECK-NEXT: $sgpr0 = COPY %fma118    %0:sreg_32 = COPY $sgpr0119    %1:sreg_32 = COPY $sgpr1120    %noninlinable:sreg_32 = S_MOV_B32 1234567890121    %fma:sreg_32 = nofpexcept S_FMAC_F32 %0, %1, %noninlinable, implicit $mode122    $sgpr0 = COPY %fma123...124 125---126name:            fmac_fold_inlinable_src2_to_fmaak_noninlinable_src0_to_fmamk127tracksRegLiveness: true128body:             |129  bb.0:130    liveins: $sgpr0131 132    ; CHECK-LABEL: name: fmac_fold_inlinable_src2_to_fmaak_noninlinable_src0_to_fmamk133    ; CHECK: liveins: $sgpr0134    ; CHECK-NEXT: {{  $}}135    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0136    ; CHECK-NEXT: %noninlinable:sreg_32 = S_MOV_B32 1234567890137    ; CHECK-NEXT: %fma:sreg_32 = nofpexcept S_FMAAK_F32 %noninlinable, [[COPY]], 1056964608, implicit $mode138    ; CHECK-NEXT: $sgpr0 = COPY %fma139    %0:sreg_32 = COPY $sgpr0140    %inlinable:sreg_32 = S_MOV_B32 1056964608141    %noninlinable:sreg_32 = S_MOV_B32 1234567890142    %fma:sreg_32 = nofpexcept S_FMAC_F32 %noninlinable, %0, %inlinable, implicit $mode143    $sgpr0 = COPY %fma144...145---146name:            fmac_fold_inlinable_src2_to_fmaak_noninlinable_src1_to_fmamk147tracksRegLiveness: true148body:             |149  bb.0:150    liveins: $sgpr0151 152    ; CHECK-LABEL: name: fmac_fold_inlinable_src2_to_fmaak_noninlinable_src1_to_fmamk153    ; CHECK: liveins: $sgpr0154    ; CHECK-NEXT: {{  $}}155    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0156    ; CHECK-NEXT: %noninlinable:sreg_32 = S_MOV_B32 1234567890157    ; CHECK-NEXT: %fma:sreg_32 = nofpexcept S_FMAAK_F32 [[COPY]], %noninlinable, 1056964608, implicit $mode158    ; CHECK-NEXT: $sgpr0 = COPY %fma159    %0:sreg_32 = COPY $sgpr0160    %inlinable:sreg_32 = S_MOV_B32 1056964608161    %noninlinable:sreg_32 = S_MOV_B32 1234567890162    %fma:sreg_32 = nofpexcept S_FMAC_F32 %0, %noninlinable, %inlinable, implicit $mode163    $sgpr0 = COPY %fma164...165---166name:            fmac_fold_noninlinable_src2_to_fmaak_inlinable_src1167tracksRegLiveness: true168body:             |169  bb.0:170    liveins: $sgpr0171 172    ; CHECK-LABEL: name: fmac_fold_noninlinable_src2_to_fmaak_inlinable_src1173    ; CHECK: liveins: $sgpr0174    ; CHECK-NEXT: {{  $}}175    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0176    ; CHECK-NEXT: %fma:sreg_32 = nofpexcept S_FMAAK_F32 [[COPY]], 1056964608, 1234567890, implicit $mode177    ; CHECK-NEXT: $sgpr0 = COPY %fma178    %0:sreg_32 = COPY $sgpr0179    %noninlinable:sreg_32 = S_MOV_B32 1234567890180    %inlinable:sreg_32 = S_MOV_B32 1056964608181    %fma:sreg_32 = nofpexcept S_FMAC_F32 %0, %inlinable, %noninlinable, implicit $mode182    $sgpr0 = COPY %fma183...184---185name:            fmac_fold_noninlinable_src2_to_fmaak_dont_fold_other_noninlinable186tracksRegLiveness: true187body:             |188  bb.0:189    liveins: $sgpr0190 191    ; CHECK-LABEL: name: fmac_fold_noninlinable_src2_to_fmaak_dont_fold_other_noninlinable192    ; CHECK: liveins: $sgpr0193    ; CHECK-NEXT: {{  $}}194    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0195    ; CHECK-NEXT: %noninlinable2:sreg_32 = S_MOV_B32 1234567891196    ; CHECK-NEXT: %fma:sreg_32 = nofpexcept S_FMAAK_F32 [[COPY]], %noninlinable2, 1234567890, implicit $mode197    ; CHECK-NEXT: $sgpr0 = COPY %fma198    %0:sreg_32 = COPY $sgpr0199    %noninlinable:sreg_32 = S_MOV_B32 1234567890200    %noninlinable2:sreg_32 = S_MOV_B32 1234567891201    %fma:sreg_32 = nofpexcept S_FMAC_F32 %0, %noninlinable2, %noninlinable, implicit $mode202    $sgpr0 = COPY %fma203...204---205name:            fmac_fold_inlinable_src1_to_fmamk_noninlinable_src2_to_fmaak206tracksRegLiveness: true207body:             |208  bb.0:209    liveins: $sgpr0210 211    ; CHECK-LABEL: name: fmac_fold_inlinable_src1_to_fmamk_noninlinable_src2_to_fmaak212    ; CHECK: liveins: $sgpr0213    ; CHECK-NEXT: {{  $}}214    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0215    ; CHECK-NEXT: %fma:sreg_32 = nofpexcept S_FMAAK_F32 [[COPY]], 1056964608, 1234567890, implicit $mode216    ; CHECK-NEXT: $sgpr0 = COPY %fma217    %0:sreg_32 = COPY $sgpr0218    %inlinable:sreg_32 = S_MOV_B32 1056964608219    %noninlinable:sreg_32 = S_MOV_B32 1234567890220    %fma:sreg_32 = nofpexcept S_FMAC_F32 %0, %inlinable, %noninlinable, implicit $mode221    $sgpr0 = COPY %fma222...223---224name:            fmac_fold_same_noninlinable_src0_and_src1_to_fmamk225tracksRegLiveness: true226body:             |227  bb.0:228    liveins: $sgpr0229 230    ; CHECK-LABEL: name: fmac_fold_same_noninlinable_src0_and_src1_to_fmamk231    ; CHECK: liveins: $sgpr0232    ; CHECK-NEXT: {{  $}}233    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0234    ; CHECK-NEXT: %fma:sreg_32 = nofpexcept S_FMAC_F32 1234567890, 1234567890, [[COPY]], implicit $mode235    ; CHECK-NEXT: $sgpr0 = COPY %fma236    %0:sreg_32 = COPY $sgpr0237    %noninlinable:sreg_32 = S_MOV_B32 1234567890238    %fma:sreg_32 = nofpexcept S_FMAC_F32 %noninlinable, %noninlinable, %0, implicit $mode239    $sgpr0 = COPY %fma240...241