brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.5 KiB · 8b86631 Raw
207 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 42# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z13 -run-pass=peephole-opt -o - %s | FileCheck %s3 4---5name:            fold_vgbm_0_copyvr128_to_gr128_virtreg6tracksRegLiveness: true7body:             |8  bb.0:9      liveins: $r2d10    ; CHECK-LABEL: name: fold_vgbm_0_copyvr128_to_gr128_virtreg11    ; CHECK: liveins: $r2d12    ; CHECK-NEXT: {{  $}}13    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gr64bit = COPY $r2d14    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:addr64bit = COPY [[COPY]]15    ; CHECK-NEXT: [[LGHI:%[0-9]+]]:gr64bit = LGHI 016    ; CHECK-NEXT: [[REG_SEQUENCE:%[0-9]+]]:gr128bit = REG_SEQUENCE [[LGHI]], %subreg.subreg_h64, [[LGHI]], %subreg.subreg_l6417    ; CHECK-NEXT: $r0q = COPY [[REG_SEQUENCE]]18    ; CHECK-NEXT: Return implicit $r0q19    %0:gr64bit = COPY $r2d20    %1:addr64bit = COPY %021    %2:vr128bit = VGBM 022    %3:gr128bit = COPY %223    $r0q = COPY %324    Return implicit $r0q25...26 27---28name:            fold_vgbm_0_copyvr128_to_gr128_virtreg_dbg_use29tracksRegLiveness: true30body:             |31  bb.0:32      liveins: $r2d33    ; CHECK-LABEL: name: fold_vgbm_0_copyvr128_to_gr128_virtreg_dbg_use34    ; CHECK: liveins: $r2d35    ; CHECK-NEXT: {{  $}}36    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gr64bit = COPY $r2d37    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:addr64bit = COPY [[COPY]]38    ; CHECK-NEXT: [[LGHI:%[0-9]+]]:gr64bit = LGHI 039    ; CHECK-NEXT: [[REG_SEQUENCE:%[0-9]+]]:gr128bit = REG_SEQUENCE [[LGHI]], %subreg.subreg_h64, [[LGHI]], %subreg.subreg_l6440    ; CHECK-NEXT: DBG_VALUE %2:vr128bit41    ; CHECK-NEXT: $r0q = COPY [[REG_SEQUENCE]]42    ; CHECK-NEXT: Return implicit $r0q43    %0:gr64bit = COPY $r2d44    %1:addr64bit = COPY %045    %2:vr128bit = VGBM 046    %3:gr128bit = COPY %247    DBG_VALUE %248    $r0q = COPY %349    Return implicit $r0q50...51 52---53name:            fold_vgbm_0_copyvr128_to_gr128_virtreg_multi_use54tracksRegLiveness: true55body:             |56  bb.0:57      liveins: $r2d58    ; CHECK-LABEL: name: fold_vgbm_0_copyvr128_to_gr128_virtreg_multi_use59    ; CHECK: liveins: $r2d60    ; CHECK-NEXT: {{  $}}61    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gr64bit = COPY $r2d62    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:addr64bit = COPY [[COPY]]63    ; CHECK-NEXT: [[VGBM:%[0-9]+]]:vr128bit = VGBM 064    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gr128bit = COPY [[VGBM]]65    ; CHECK-NEXT: $r0q = COPY [[COPY2]]66    ; CHECK-NEXT: $r2q = COPY [[COPY2]]67    ; CHECK-NEXT: Return implicit $r0q, implicit $r2q68    %0:gr64bit = COPY $r2d69    %1:addr64bit = COPY %070    %2:vr128bit = VGBM 071    %3:gr128bit = COPY %272    %4:gr128bit = COPY %273    $r0q = COPY %374    $r2q = COPY %475    Return implicit $r0q, implicit $r2q76...77 78---79name:            fold_vgbm_0_copyvr128_to_gr128_physreg80tracksRegLiveness: true81body:             |82  bb.0:83      liveins: $r2d84    ; CHECK-LABEL: name: fold_vgbm_0_copyvr128_to_gr128_physreg85    ; CHECK: liveins: $r2d86    ; CHECK-NEXT: {{  $}}87    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gr64bit = COPY $r2d88    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:addr64bit = COPY [[COPY]]89    ; CHECK-NEXT: [[VGBM:%[0-9]+]]:vr128bit = VGBM 090    ; CHECK-NEXT: $r0q = COPY [[VGBM]]91    ; CHECK-NEXT: Return implicit $r0q92    %0:gr64bit = COPY $r2d93    %1:addr64bit = COPY %094    %2:vr128bit = VGBM 095    $r0q = COPY %296    Return implicit $r0q97...98 99---100name:            no_fold_vgbm_0_copyvr128_to_vr128_virtreg101tracksRegLiveness: true102body:             |103  bb.0:104      liveins: $r2d105    ; CHECK-LABEL: name: no_fold_vgbm_0_copyvr128_to_vr128_virtreg106    ; CHECK: liveins: $r2d107    ; CHECK-NEXT: {{  $}}108    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gr64bit = COPY $r2d109    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:addr64bit = COPY [[COPY]]110    ; CHECK-NEXT: [[VGBM:%[0-9]+]]:vr128bit = VGBM 0111    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vr128bit = COPY [[VGBM]]112    ; CHECK-NEXT: $v0 = COPY [[COPY2]]113    ; CHECK-NEXT: Return implicit $v0114    %0:gr64bit = COPY $r2d115    %1:addr64bit = COPY %0116    %2:vr128bit = VGBM 0117    %3:vr128bit = COPY %2118    $v0 = COPY %3119    Return implicit $v0120...121 122---123name:            no_fold_vgbm_0_copyvr128_to_vr128_physreg124tracksRegLiveness: true125body:             |126  bb.0:127      liveins: $r2d128    ; CHECK-LABEL: name: no_fold_vgbm_0_copyvr128_to_vr128_physreg129    ; CHECK: liveins: $r2d130    ; CHECK-NEXT: {{  $}}131    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gr64bit = COPY $r2d132    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:addr64bit = COPY [[COPY]]133    ; CHECK-NEXT: [[VGBM:%[0-9]+]]:vr128bit = VGBM 0134    ; CHECK-NEXT: $v0 = COPY [[VGBM]]135    ; CHECK-NEXT: Return implicit $v0136    %0:gr64bit = COPY $r2d137    %1:addr64bit = COPY %0138    %2:vr128bit = VGBM 0139    $v0 = COPY %2140    Return implicit $v0141...142 143---144name:            fold_vgbm_1_copyvr128_to_gr128_virtreg145tracksRegLiveness: true146body:             |147  bb.0:148      liveins: $r2d149    ; CHECK-LABEL: name: fold_vgbm_1_copyvr128_to_gr128_virtreg150    ; CHECK: liveins: $r2d151    ; CHECK-NEXT: {{  $}}152    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gr64bit = COPY $r2d153    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:addr64bit = COPY [[COPY]]154    ; CHECK-NEXT: [[VGBM:%[0-9]+]]:vr128bit = VGBM 1155    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gr128bit = COPY [[VGBM]]156    ; CHECK-NEXT: $r0q = COPY [[COPY2]]157    ; CHECK-NEXT: Return implicit $r0q158    %0:gr64bit = COPY $r2d159    %1:addr64bit = COPY %0160    %2:vr128bit = VGBM 1161    %3:gr128bit = COPY %2162    $r0q = COPY %3163    Return implicit $r0q164...165 166---167name:            no_fold_vgbm_0_noncopy_use168tracksRegLiveness: true169body:             |170  bb.0:171      liveins: $r2d172    ; CHECK-LABEL: name: no_fold_vgbm_0_noncopy_use173    ; CHECK: liveins: $r2d174    ; CHECK-NEXT: {{  $}}175    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gr64bit = COPY $r2d176    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:addr64bit = COPY [[COPY]]177    ; CHECK-NEXT: [[VGBM:%[0-9]+]]:vr128bit = VGBM 0178    ; CHECK-NEXT: Return implicit [[VGBM]]179    %0:gr64bit = COPY $r2d180    %1:addr64bit = COPY %0181    %2:vr128bit = VGBM 0182    Return implicit %2183...184 185---186name:            fold_vgbm_0_copyvr128_to_gr64_subreg_h64187tracksRegLiveness: true188body:             |189  bb.0:190      liveins: $r2d191    ; CHECK-LABEL: name: fold_vgbm_0_copyvr128_to_gr64_subreg_h64192    ; CHECK: liveins: $r2d193    ; CHECK-NEXT: {{  $}}194    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gr64bit = COPY $r2d195    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:addr64bit = COPY [[COPY]]196    ; CHECK-NEXT: [[VGBM:%[0-9]+]]:vr128bit = VGBM 0197    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gr64bit = COPY [[VGBM]].subreg_h64198    ; CHECK-NEXT: $r0d = COPY [[COPY2]]199    ; CHECK-NEXT: Return implicit $r0d200    %0:gr64bit = COPY $r2d201    %1:addr64bit = COPY %0202    %2:vr128bit = VGBM 0203    %3:gr64bit = COPY %2.subreg_h64204    $r0d = COPY %3205    Return implicit $r0d206...207