brintos

brintos / llvm-project-archived public Read only

0
0
Text · 13.7 KiB · a3b2191 Raw
445 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=amdgcn -mcpu=gfx90a -run-pass=si-fold-operands %s -o - | FileCheck -check-prefix=GCN %s3 4---5name: v_mov_b64_pseudo_imm_0_copy_to_areg_646tracksRegLiveness: true7body:             |8  bb.0:9    ; GCN-LABEL: name: v_mov_b64_pseudo_imm_0_copy_to_areg_6410    ; GCN: [[AV_MOV_:%[0-9]+]]:areg_64_align2 = AV_MOV_B64_IMM_PSEUDO 0, implicit $exec11    ; GCN-NEXT: $agpr0_agpr1 = COPY [[AV_MOV_]]12    ; GCN-NEXT: S_ENDPGM 013    %0:vreg_64_align2 = V_MOV_B64_PSEUDO 0, implicit $exec14    %1:areg_64_align2 = COPY %015    $agpr0_agpr1 = COPY %116    S_ENDPGM 017 18...19 20---21name: v_mov_b64_pseudo_imm_neg1_copy_to_areg_6422tracksRegLiveness: true23body:             |24  bb.0:25    ; GCN-LABEL: name: v_mov_b64_pseudo_imm_neg1_copy_to_areg_6426    ; GCN: [[AV_MOV_:%[0-9]+]]:areg_64_align2 = AV_MOV_B64_IMM_PSEUDO -1, implicit $exec27    ; GCN-NEXT: $agpr0_agpr1 = COPY [[AV_MOV_]]28    ; GCN-NEXT: S_ENDPGM 029    %0:vreg_64_align2 = V_MOV_B64_PSEUDO -1, implicit $exec30    %1:areg_64_align2 = COPY %031    $agpr0_agpr1 = COPY %132    S_ENDPGM 033 34...35 36---37name: v_mov_b64_pseudo_literal_copy_to_areg_6438tracksRegLiveness: true39body:             |40  bb.0:41    ; GCN-LABEL: name: v_mov_b64_pseudo_literal_copy_to_areg_6442    ; GCN: [[V_MOV_B:%[0-9]+]]:vreg_64_align2 = V_MOV_B64_PSEUDO 999, implicit $exec43    ; GCN-NEXT: [[COPY:%[0-9]+]]:areg_64_align2 = COPY [[V_MOV_B]]44    ; GCN-NEXT: $agpr0_agpr1 = COPY [[COPY]]45    ; GCN-NEXT: S_ENDPGM 046    %0:vreg_64_align2 = V_MOV_B64_PSEUDO 999, implicit $exec47    %1:areg_64_align2 = COPY %048    $agpr0_agpr1 = COPY %149    S_ENDPGM 050 51...52 53---54name: v_mov_b64_pseudo_imm_0_copy_sub0_to_agpr_3255tracksRegLiveness: true56body:             |57  bb.0:58    ; GCN-LABEL: name: v_mov_b64_pseudo_imm_0_copy_sub0_to_agpr_3259    ; GCN: [[V_ACCVGPR_WRITE_B32_e64_:%[0-9]+]]:agpr_32 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec60    ; GCN-NEXT: $agpr0 = COPY [[V_ACCVGPR_WRITE_B32_e64_]]61    ; GCN-NEXT: S_ENDPGM 062    %0:vreg_64_align2 = V_MOV_B64_PSEUDO 0, implicit $exec63    %1:agpr_32 = COPY %0.sub064    $agpr0 = COPY %165    S_ENDPGM 066 67...68 69---70name: v_mov_b64_pseudo_imm_0_copy_sub1_to_agpr_3271tracksRegLiveness: true72body:             |73  bb.0:74    ; GCN-LABEL: name: v_mov_b64_pseudo_imm_0_copy_sub1_to_agpr_3275    ; GCN: [[V_ACCVGPR_WRITE_B32_e64_:%[0-9]+]]:agpr_32 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec76    ; GCN-NEXT: $agpr0 = COPY [[V_ACCVGPR_WRITE_B32_e64_]]77    ; GCN-NEXT: S_ENDPGM 078    %0:vreg_64_align2 = V_MOV_B64_PSEUDO 0, implicit $exec79    %1:agpr_32 = COPY %0.sub180    $agpr0 = COPY %181    S_ENDPGM 082 83...84 85---86name: v_mov_b64_pseudo_lit_copy_sub0_to_agpr_3287tracksRegLiveness: true88body:             |89  bb.0:90    ; GCN-LABEL: name: v_mov_b64_pseudo_lit_copy_sub0_to_agpr_3291    ; GCN: [[V_MOV_B:%[0-9]+]]:vreg_64_align2 = V_MOV_B64_PSEUDO 4290672329592, implicit $exec92    ; GCN-NEXT: [[V_ACCVGPR_WRITE_B32_e64_:%[0-9]+]]:agpr_32 = V_ACCVGPR_WRITE_B32_e64 [[V_MOV_B]].sub0, implicit $exec93    ; GCN-NEXT: $agpr0 = COPY [[V_ACCVGPR_WRITE_B32_e64_]]94    ; GCN-NEXT: S_ENDPGM 095    %0:vreg_64_align2 = V_MOV_B64_PSEUDO 4290672329592, implicit $exec96    %1:agpr_32 = COPY %0.sub097    $agpr0 = COPY %198    S_ENDPGM 099 100...101 102---103name: v_mov_b64_pseudo_lit_copy_sub1_to_agpr_32104tracksRegLiveness: true105body:             |106  bb.0:107    ; GCN-LABEL: name: v_mov_b64_pseudo_lit_copy_sub1_to_agpr_32108    ; GCN: [[V_MOV_B:%[0-9]+]]:vreg_64_align2 = V_MOV_B64_PSEUDO 4290672329592, implicit $exec109    ; GCN-NEXT: [[V_ACCVGPR_WRITE_B32_e64_:%[0-9]+]]:agpr_32 = V_ACCVGPR_WRITE_B32_e64 [[V_MOV_B]].sub1, implicit $exec110    ; GCN-NEXT: $agpr0 = COPY [[V_ACCVGPR_WRITE_B32_e64_]]111    ; GCN-NEXT: S_ENDPGM 0112    %0:vreg_64_align2 = V_MOV_B64_PSEUDO 4290672329592, implicit $exec113    %1:agpr_32 = COPY %0.sub1114    $agpr0 = COPY %1115    S_ENDPGM 0116 117...118 119 120---121name: v_mov_b64_pseudo_imm_0_copy_to_av_64122tracksRegLiveness: true123body:             |124  bb.0:125    ; GCN-LABEL: name: v_mov_b64_pseudo_imm_0_copy_to_av_64126    ; GCN: [[AV_MOV_:%[0-9]+]]:av_64_align2 = AV_MOV_B64_IMM_PSEUDO 0, implicit $exec127    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]128    %0:vreg_64_align2 = V_MOV_B64_PSEUDO 0, implicit $exec129    %1:av_64_align2 = COPY %0130    S_ENDPGM 0, implicit %1131 132...133 134---135name: s_mov_b32_imm_0_copy_to_agpr_32136tracksRegLiveness: true137body:             |138  bb.0:139    ; GCN-LABEL: name: s_mov_b32_imm_0_copy_to_agpr_32140    ; GCN: [[V_ACCVGPR_WRITE_B32_e64_:%[0-9]+]]:agpr_32 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec141    ; GCN-NEXT: S_ENDPGM 0, implicit [[V_ACCVGPR_WRITE_B32_e64_]]142    %0:sreg_32 = S_MOV_B32 0, implicit $exec143    %1:agpr_32 = COPY %0144    S_ENDPGM 0, implicit %1145 146...147 148---149name: s_mov_b32_imm_neg16_copy_to_agpr_32150tracksRegLiveness: true151body:             |152  bb.0:153    ; GCN-LABEL: name: s_mov_b32_imm_neg16_copy_to_agpr_32154    ; GCN: [[V_ACCVGPR_WRITE_B32_e64_:%[0-9]+]]:agpr_32 = V_ACCVGPR_WRITE_B32_e64 -16, implicit $exec155    ; GCN-NEXT: S_ENDPGM 0, implicit [[V_ACCVGPR_WRITE_B32_e64_]]156    %0:sreg_32 = S_MOV_B32 -16, implicit $exec157    %1:agpr_32 = COPY %0158    S_ENDPGM 0, implicit %1159 160...161 162---163name: s_mov_b32_imm_65_copy_to_agpr_32164tracksRegLiveness: true165body:             |166  bb.0:167    ; GCN-LABEL: name: s_mov_b32_imm_65_copy_to_agpr_32168    ; GCN: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 65, implicit $exec169    ; GCN-NEXT: [[V_ACCVGPR_WRITE_B32_e64_:%[0-9]+]]:agpr_32 = V_ACCVGPR_WRITE_B32_e64 [[S_MOV_B32_]], implicit $exec170    ; GCN-NEXT: S_ENDPGM 0, implicit [[V_ACCVGPR_WRITE_B32_e64_]]171    %0:sreg_32 = S_MOV_B32 65, implicit $exec172    %1:agpr_32 = COPY %0173    S_ENDPGM 0, implicit %1174 175...176 177---178name: s_mov_b32_imm_0_copy_to_av_32179tracksRegLiveness: true180body:             |181  bb.0:182    ; GCN-LABEL: name: s_mov_b32_imm_0_copy_to_av_32183    ; GCN: [[AV_MOV_:%[0-9]+]]:av_32 = AV_MOV_B32_IMM_PSEUDO 0, implicit $exec184    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]185    %0:sreg_32 = S_MOV_B32 0, implicit $exec186    %1:av_32 = COPY %0187    S_ENDPGM 0, implicit %1188 189...190 191---192name: s_mov_b32_imm_neg16_copy_to_av_32193tracksRegLiveness: true194body:             |195  bb.0:196    ; GCN-LABEL: name: s_mov_b32_imm_neg16_copy_to_av_32197    ; GCN: [[AV_MOV_:%[0-9]+]]:av_32 = AV_MOV_B32_IMM_PSEUDO -16, implicit $exec198    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]199    %0:sreg_32 = S_MOV_B32 -16, implicit $exec200    %1:av_32 = COPY %0201    S_ENDPGM 0, implicit %1202 203...204 205---206name: s_mov_b32_imm_65_copy_to_av_32207tracksRegLiveness: true208body:             |209  bb.0:210    ; GCN-LABEL: name: s_mov_b32_imm_65_copy_to_av_32211    ; GCN: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 65, implicit $exec212    ; GCN-NEXT: [[COPY:%[0-9]+]]:av_32 = COPY [[S_MOV_B32_]]213    ; GCN-NEXT: S_ENDPGM 0, implicit [[COPY]]214    %0:sreg_32 = S_MOV_B32 65, implicit $exec215    %1:av_32 = COPY %0216    S_ENDPGM 0, implicit %1217 218...219 220---221name: s_mov_b64_imm_0_copy_to_areg_64222tracksRegLiveness: true223body:             |224  bb.0:225    ; GCN-LABEL: name: s_mov_b64_imm_0_copy_to_areg_64226    ; GCN: [[AV_MOV_:%[0-9]+]]:areg_64 = AV_MOV_B64_IMM_PSEUDO 0, implicit $exec227    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]228    %0:sreg_64 = S_MOV_B64 0, implicit $exec229    %1:areg_64 = COPY %0230    S_ENDPGM 0, implicit %1231 232...233 234---235name: s_mov_b64_imm_0_copy_to_areg_64_align2236tracksRegLiveness: true237body:             |238  bb.0:239    ; GCN-LABEL: name: s_mov_b64_imm_0_copy_to_areg_64_align2240    ; GCN: [[AV_MOV_:%[0-9]+]]:areg_64_align2 = AV_MOV_B64_IMM_PSEUDO 0, implicit $exec241    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]242    %0:sreg_64 = S_MOV_B64 0, implicit $exec243    %1:areg_64_align2 = COPY %0244    S_ENDPGM 0, implicit %1245 246...247 248---249name: s_mov_b64_imm_neg16_copy_to_areg_64250tracksRegLiveness: true251body:             |252  bb.0:253    ; GCN-LABEL: name: s_mov_b64_imm_neg16_copy_to_areg_64254    ; GCN: [[AV_MOV_:%[0-9]+]]:areg_64 = AV_MOV_B64_IMM_PSEUDO -16, implicit $exec255    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]256    %0:sreg_64 = S_MOV_B64 -16, implicit $exec257    %1:areg_64 = COPY %0258    S_ENDPGM 0, implicit %1259 260...261 262---263name: s_mov_b64_imm_neg16_copy_to_areg_64_align2264tracksRegLiveness: true265body:             |266  bb.0:267    ; GCN-LABEL: name: s_mov_b64_imm_neg16_copy_to_areg_64_align2268    ; GCN: [[AV_MOV_:%[0-9]+]]:areg_64_align2 = AV_MOV_B64_IMM_PSEUDO -16, implicit $exec269    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]270    %0:sreg_64 = S_MOV_B64 -16, implicit $exec271    %1:areg_64_align2 = COPY %0272    S_ENDPGM 0, implicit %1273 274...275 276---277name: s_mov_b64_imm_0_copy_to_av_64278tracksRegLiveness: true279body:             |280  bb.0:281    ; GCN-LABEL: name: s_mov_b64_imm_0_copy_to_av_64282    ; GCN: [[AV_MOV_:%[0-9]+]]:av_64 = AV_MOV_B64_IMM_PSEUDO 0, implicit $exec283    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]284    %0:sreg_64 = S_MOV_B64 0, implicit $exec285    %1:av_64 = COPY %0286    S_ENDPGM 0, implicit %1287 288...289 290---291name: s_mov_b64_imm_0_copy_to_av_64_align2292tracksRegLiveness: true293body:             |294  bb.0:295    ; GCN-LABEL: name: s_mov_b64_imm_0_copy_to_av_64_align2296    ; GCN: [[AV_MOV_:%[0-9]+]]:av_64_align2 = AV_MOV_B64_IMM_PSEUDO 0, implicit $exec297    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]298    %0:sreg_64 = S_MOV_B64 0, implicit $exec299    %1:av_64_align2 = COPY %0300    S_ENDPGM 0, implicit %1301 302...303 304---305name: s_mov_b64_imm_neg16_copy_to_av_64306tracksRegLiveness: true307body:             |308  bb.0:309    ; GCN-LABEL: name: s_mov_b64_imm_neg16_copy_to_av_64310    ; GCN: [[AV_MOV_:%[0-9]+]]:av_64 = AV_MOV_B64_IMM_PSEUDO -16, implicit $exec311    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]312    %0:sreg_64 = S_MOV_B64 -16, implicit $exec313    %1:av_64 = COPY %0314    S_ENDPGM 0, implicit %1315 316...317 318---319name: s_mov_b64_imm_neg16_copy_to_av_64_align2320tracksRegLiveness: true321body:             |322  bb.0:323    ; GCN-LABEL: name: s_mov_b64_imm_neg16_copy_to_av_64_align2324    ; GCN: [[AV_MOV_:%[0-9]+]]:av_64_align2 = AV_MOV_B64_IMM_PSEUDO -16, implicit $exec325    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]326    %0:sreg_64 = S_MOV_B64 -16, implicit $exec327    %1:av_64_align2 = COPY %0328    S_ENDPGM 0, implicit %1329 330...331 332---333name: s_mov_b64_imm_pseudo_literal_32_halves_copy_to_areg_64334tracksRegLiveness: true335body:             |336  bb.0:337    ; GCN-LABEL: name: s_mov_b64_imm_pseudo_literal_32_halves_copy_to_areg_64338    ; GCN: [[AV_MOV_:%[0-9]+]]:areg_64 = AV_MOV_B64_IMM_PSEUDO -42949672960, implicit $exec339    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]340    %0:sreg_64 = S_MOV_B64_IMM_PSEUDO 18446744030759878656, implicit $exec341    %1:areg_64 = COPY %0342    S_ENDPGM 0, implicit %1343 344...345 346---347name: s_mov_b64_imm_pseudo_literal_32_halves_copy_to_areg_64_align2348tracksRegLiveness: true349body:             |350  bb.0:351    ; GCN-LABEL: name: s_mov_b64_imm_pseudo_literal_32_halves_copy_to_areg_64_align2352    ; GCN: [[AV_MOV_:%[0-9]+]]:areg_64_align2 = AV_MOV_B64_IMM_PSEUDO -42949672960, implicit $exec353    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]354    %0:sreg_64 = S_MOV_B64_IMM_PSEUDO 18446744030759878656, implicit $exec355    %1:areg_64_align2 = COPY %0356    S_ENDPGM 0, implicit %1357 358...359 360---361name: s_mov_b64_imm_pseudo_inlineimm_32_halves_copy_to_areg_64362tracksRegLiveness: true363body:             |364  bb.0:365    ; GCN-LABEL: name: s_mov_b64_imm_pseudo_inlineimm_32_halves_copy_to_areg_64366    ; GCN: [[AV_MOV_:%[0-9]+]]:areg_64 = AV_MOV_B64_IMM_PSEUDO -21474836480, implicit $exec367    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]368    %0:sreg_64 = S_MOV_B64_IMM_PSEUDO 18446744052234715136, implicit $exec369    %1:areg_64 = COPY %0370    S_ENDPGM 0, implicit %1371 372...373 374---375name: s_mov_b64_imm_pseudo_inlineimm_32_halves_copy_to_areg_64_align2376tracksRegLiveness: true377body:             |378  bb.0:379    ; GCN-LABEL: name: s_mov_b64_imm_pseudo_inlineimm_32_halves_copy_to_areg_64_align2380    ; GCN: [[AV_MOV_:%[0-9]+]]:areg_64_align2 = AV_MOV_B64_IMM_PSEUDO -21474836480, implicit $exec381    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]382    %0:sreg_64 = S_MOV_B64_IMM_PSEUDO 18446744052234715136, implicit $exec383    %1:areg_64_align2 = COPY %0384    S_ENDPGM 0, implicit %1385 386...387 388---389name: s_mov_b64_imm_pseudo_literal_32_halves_copy_to_av_64390tracksRegLiveness: true391body:             |392  bb.0:393    ; GCN-LABEL: name: s_mov_b64_imm_pseudo_literal_32_halves_copy_to_av_64394    ; GCN: [[AV_MOV_:%[0-9]+]]:av_64 = AV_MOV_B64_IMM_PSEUDO -42949672960, implicit $exec395    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]396    %0:sreg_64 = S_MOV_B64_IMM_PSEUDO 18446744030759878656, implicit $exec397    %1:av_64 = COPY %0398    S_ENDPGM 0, implicit %1399 400...401 402---403name: s_mov_b64_imm_pseudo_literal_32_halves_copy_to_av_64_align2404tracksRegLiveness: true405body:             |406  bb.0:407    ; GCN-LABEL: name: s_mov_b64_imm_pseudo_literal_32_halves_copy_to_av_64_align2408    ; GCN: [[AV_MOV_:%[0-9]+]]:av_64_align2 = AV_MOV_B64_IMM_PSEUDO -42949672960, implicit $exec409    ; GCN-NEXT: S_ENDPGM 0, implicit [[AV_MOV_]]410    %0:sreg_64 = S_MOV_B64_IMM_PSEUDO 18446744030759878656, implicit $exec411    %1:av_64_align2 = COPY %0412    S_ENDPGM 0, implicit %1413 414...415 416---417name: s_mov_b64_imm_pseudo_inlineimm_32_halves_copy_to_av_64418tracksRegLiveness: true419body:             |420  bb.0:421    ; GCN-LABEL: name: s_mov_b64_imm_pseudo_inlineimm_32_halves_copy_to_av_64422    ; GCN: [[S_MOV_B:%[0-9]+]]:sreg_64 = S_MOV_B64_IMM_PSEUDO -9223372036854775784, implicit $exec423    ; GCN-NEXT: [[COPY:%[0-9]+]]:av_64 = COPY [[S_MOV_B]]424    ; GCN-NEXT: S_ENDPGM 0, implicit [[COPY]]425    %0:sreg_64 = S_MOV_B64_IMM_PSEUDO -9223372036854775784, implicit $exec426    %1:av_64 = COPY %0427    S_ENDPGM 0, implicit %1428 429...430 431---432name: s_mov_b64_imm_pseudo_inlineimm_32_halves_copy_to_av_64_align2433tracksRegLiveness: true434body:             |435  bb.0:436    ; GCN-LABEL: name: s_mov_b64_imm_pseudo_inlineimm_32_halves_copy_to_av_64_align2437    ; GCN: [[S_MOV_B:%[0-9]+]]:sreg_64 = S_MOV_B64_IMM_PSEUDO -9223372036854775784, implicit $exec438    ; GCN-NEXT: [[COPY:%[0-9]+]]:av_64_align2 = COPY [[S_MOV_B]]439    ; GCN-NEXT: S_ENDPGM 0, implicit [[COPY]]440    %0:sreg_64 = S_MOV_B64_IMM_PSEUDO -9223372036854775784, implicit $exec441    %1:av_64_align2 = COPY %0442    S_ENDPGM 0, implicit %1443 444...445