152 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -run-pass=amdgpu-prelegalizer-combiner -verify-machineinstrs %s -o - | FileCheck %s3 4---5name: test_add_rhs6body: |7 bb.0:8 liveins: $vgpr0, $vgpr19 10 ; CHECK-LABEL: name: test_add_rhs11 ; CHECK: liveins: $vgpr0, $vgpr112 ; CHECK-NEXT: {{ $}}13 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr014 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr115 ; CHECK-NEXT: [[FSUB:%[0-9]+]]:_(s32) = G_FSUB [[COPY]], [[COPY1]]16 ; CHECK-NEXT: $vgpr0 = COPY [[FSUB]](s32)17 %0:_(s32) = COPY $vgpr018 %1:_(s32) = COPY $vgpr119 %2:_(s32) = G_FNEG %120 %3:_(s32) = G_FADD %0, %221 $vgpr0 = COPY %3(s32)22 23...24---25name: test_add_lhs26body: |27 bb.0:28 liveins: $vgpr0, $vgpr129 30 ; CHECK-LABEL: name: test_add_lhs31 ; CHECK: liveins: $vgpr0, $vgpr132 ; CHECK-NEXT: {{ $}}33 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr034 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr135 ; CHECK-NEXT: [[FSUB:%[0-9]+]]:_(s32) = G_FSUB [[COPY1]], [[COPY]]36 ; CHECK-NEXT: $vgpr0 = COPY [[FSUB]](s32)37 %0:_(s32) = COPY $vgpr038 %1:_(s32) = COPY $vgpr139 %2:_(s32) = G_FNEG %040 %3:_(s32) = G_FADD %2, %141 $vgpr0 = COPY %3(s32)42 43...44---45name: test_sub46body: |47 bb.0:48 liveins: $vgpr0, $vgpr149 50 ; CHECK-LABEL: name: test_sub51 ; CHECK: liveins: $vgpr0, $vgpr152 ; CHECK-NEXT: {{ $}}53 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr054 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr155 ; CHECK-NEXT: [[FADD:%[0-9]+]]:_(s32) = G_FADD [[COPY]], [[COPY1]]56 ; CHECK-NEXT: $vgpr0 = COPY [[FADD]](s32)57 %0:_(s32) = COPY $vgpr058 %1:_(s32) = COPY $vgpr159 %2:_(s32) = G_FNEG %160 %3:_(s32) = G_FSUB %0, %261 $vgpr0 = COPY %3(s32)62 63...64---65name: test_mul66body: |67 bb.0:68 liveins: $vgpr0, $vgpr169 70 ; CHECK-LABEL: name: test_mul71 ; CHECK: liveins: $vgpr0, $vgpr172 ; CHECK-NEXT: {{ $}}73 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr074 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr175 ; CHECK-NEXT: [[FMUL:%[0-9]+]]:_(s32) = G_FMUL [[COPY]], [[COPY1]]76 ; CHECK-NEXT: $vgpr0 = COPY [[FMUL]](s32)77 %0:_(s32) = COPY $vgpr078 %1:_(s32) = COPY $vgpr179 %2:_(s32) = G_FNEG %080 %3:_(s32) = G_FNEG %181 %4:_(s32) = G_FMUL %2, %382 $vgpr0 = COPY %4(s32)83 84...85---86name: test_div87body: |88 bb.0:89 liveins: $vgpr0, $vgpr190 91 ; CHECK-LABEL: name: test_div92 ; CHECK: liveins: $vgpr0, $vgpr193 ; CHECK-NEXT: {{ $}}94 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr095 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr196 ; CHECK-NEXT: [[FDIV:%[0-9]+]]:_(s32) = G_FDIV [[COPY]], [[COPY1]]97 ; CHECK-NEXT: $vgpr0 = COPY [[FDIV]](s32)98 %0:_(s32) = COPY $vgpr099 %1:_(s32) = COPY $vgpr1100 %2:_(s32) = G_FNEG %0101 %3:_(s32) = G_FNEG %1102 %4:_(s32) = G_FDIV %2, %3103 $vgpr0 = COPY %4(s32)104 105...106---107name: test_fmad108body: |109 bb.0:110 liveins: $vgpr0, $vgpr1, $vgpr2111 112 ; CHECK-LABEL: name: test_fmad113 ; CHECK: liveins: $vgpr0, $vgpr1, $vgpr2114 ; CHECK-NEXT: {{ $}}115 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0116 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr1117 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $vgpr2118 ; CHECK-NEXT: [[FMAD:%[0-9]+]]:_(s32) = G_FMAD [[COPY]], [[COPY1]], [[COPY2]]119 ; CHECK-NEXT: $vgpr0 = COPY [[FMAD]](s32)120 %0:_(s32) = COPY $vgpr0121 %1:_(s32) = COPY $vgpr1122 %2:_(s32) = COPY $vgpr2123 %3:_(s32) = G_FNEG %0124 %4:_(s32) = G_FNEG %1125 %5:_(s32) = G_FMAD %3, %4, %2126 $vgpr0 = COPY %5(s32)127 128...129---130name: test_fma131body: |132 bb.0:133 liveins: $vgpr0, $vgpr1, $vgpr2134 135 ; CHECK-LABEL: name: test_fma136 ; CHECK: liveins: $vgpr0, $vgpr1, $vgpr2137 ; CHECK-NEXT: {{ $}}138 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0139 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr1140 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $vgpr2141 ; CHECK-NEXT: [[FMA:%[0-9]+]]:_(s32) = G_FMA [[COPY]], [[COPY1]], [[COPY2]]142 ; CHECK-NEXT: $vgpr0 = COPY [[FMA]](s32)143 %0:_(s32) = COPY $vgpr0144 %1:_(s32) = COPY $vgpr1145 %2:_(s32) = COPY $vgpr2146 %3:_(s32) = G_FNEG %0147 %4:_(s32) = G_FNEG %1148 %5:_(s32) = G_FMA %3, %4, %2149 $vgpr0 = COPY %5(s32)150 151...152