brintos

brintos / llvm-project-archived public Read only

0
0
Text · 11.5 KiB · f4465bb Raw
199 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 42# RUN: llc -mtriple=riscv32 -mattr=+zcmp -x mir -start-before=prologepilog -stop-after=riscv-push-pop-opt -verify-machineinstrs -o - %s \3# RUN: | FileCheck -check-prefixes=CHECK-ZCMP32 %s4# RUN: llc -mtriple=riscv32 -mattr=+save-restore -x mir -start-before=prologepilog -stop-after=riscv-push-pop-opt -verify-machineinstrs -o - %s \5# RUN: | FileCheck -check-prefixes=CHECK-LIBCALL32 %s6# RUN: llc -mtriple=riscv64 -mattr=+zcmp -x mir -start-before=prologepilog -stop-after=riscv-push-pop-opt -verify-machineinstrs -o - %s \7# RUN: | FileCheck -check-prefixes=CHECK-ZCMP64 %s8# RUN: llc -mtriple=riscv64 -mattr=+save-restore -x mir -start-before=prologepilog -stop-after=riscv-push-pop-opt -verify-machineinstrs -o - %s \9# RUN: | FileCheck -check-prefixes=CHECK-LIBCALL64 %s10# RUN: llc -mtriple=riscv32 -x mir -start-before=prologepilog -stop-after=riscv-push-pop-opt -verify-machineinstrs -o - %s \11# RUN: | FileCheck -check-prefixes=CHECK-NO-ZCMP32 %s12# RUN: llc -mtriple=riscv64 -x mir -start-before=prologepilog -stop-after=riscv-push-pop-opt -verify-machineinstrs -o - %s \13# RUN: | FileCheck -check-prefixes=CHECK-NO-ZCMP64 %s14---15name: popret_rvlist516tracksRegLiveness: true17body:                   |18  bb.0:19    ; CHECK-ZCMP32-LABEL: name: popret_rvlist520    ; CHECK-ZCMP32: liveins: $x1, $x821    ; CHECK-ZCMP32-NEXT: {{  $}}22    ; CHECK-ZCMP32-NEXT: frame-setup CM_PUSH 5, 0, implicit-def $x2, implicit $x2, implicit $x1, implicit $x823    ; CHECK-ZCMP32-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 1624    ; CHECK-ZCMP32-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -825    ; CHECK-ZCMP32-NEXT: frame-setup CFI_INSTRUCTION offset $x8, -426    ; CHECK-ZCMP32-NEXT: $x1 = IMPLICIT_DEF27    ; CHECK-ZCMP32-NEXT: $x8 = IMPLICIT_DEF28    ; CHECK-ZCMP32-NEXT: frame-destroy CM_POPRET 5, 0, implicit-def $x2, implicit $x2, implicit-def $x1, implicit-def $x829    ;30    ; CHECK-LIBCALL32-LABEL: name: popret_rvlist531    ; CHECK-LIBCALL32: liveins: $x1, $x832    ; CHECK-LIBCALL32-NEXT: {{  $}}33    ; CHECK-LIBCALL32-NEXT: $x5 = frame-setup PseudoCALLReg target-flags(riscv-call) &__riscv_save_134    ; CHECK-LIBCALL32-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 1635    ; CHECK-LIBCALL32-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -436    ; CHECK-LIBCALL32-NEXT: frame-setup CFI_INSTRUCTION offset $x8, -837    ; CHECK-LIBCALL32-NEXT: $x1 = IMPLICIT_DEF38    ; CHECK-LIBCALL32-NEXT: $x8 = IMPLICIT_DEF39    ; CHECK-LIBCALL32-NEXT: frame-destroy PseudoTAIL target-flags(riscv-call) &__riscv_restore_1, implicit $x240    ;41    ; CHECK-ZCMP64-LABEL: name: popret_rvlist542    ; CHECK-ZCMP64: liveins: $x1, $x843    ; CHECK-ZCMP64-NEXT: {{  $}}44    ; CHECK-ZCMP64-NEXT: frame-setup CM_PUSH 5, 0, implicit-def $x2, implicit $x2, implicit $x1, implicit $x845    ; CHECK-ZCMP64-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 1646    ; CHECK-ZCMP64-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -1647    ; CHECK-ZCMP64-NEXT: frame-setup CFI_INSTRUCTION offset $x8, -848    ; CHECK-ZCMP64-NEXT: $x1 = IMPLICIT_DEF49    ; CHECK-ZCMP64-NEXT: $x8 = IMPLICIT_DEF50    ; CHECK-ZCMP64-NEXT: frame-destroy CM_POPRET 5, 0, implicit-def $x2, implicit $x2, implicit-def $x1, implicit-def $x851    ;52    ; CHECK-LIBCALL64-LABEL: name: popret_rvlist553    ; CHECK-LIBCALL64: liveins: $x1, $x854    ; CHECK-LIBCALL64-NEXT: {{  $}}55    ; CHECK-LIBCALL64-NEXT: $x5 = frame-setup PseudoCALLReg target-flags(riscv-call) &__riscv_save_156    ; CHECK-LIBCALL64-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 1657    ; CHECK-LIBCALL64-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -858    ; CHECK-LIBCALL64-NEXT: frame-setup CFI_INSTRUCTION offset $x8, -1659    ; CHECK-LIBCALL64-NEXT: $x1 = IMPLICIT_DEF60    ; CHECK-LIBCALL64-NEXT: $x8 = IMPLICIT_DEF61    ; CHECK-LIBCALL64-NEXT: frame-destroy PseudoTAIL target-flags(riscv-call) &__riscv_restore_1, implicit $x262    ;63    ; CHECK-NO-ZCMP32-LABEL: name: popret_rvlist564    ; CHECK-NO-ZCMP32: liveins: $x1, $x865    ; CHECK-NO-ZCMP32-NEXT: {{  $}}66    ; CHECK-NO-ZCMP32-NEXT: $x2 = frame-setup ADDI $x2, -1667    ; CHECK-NO-ZCMP32-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 1668    ; CHECK-NO-ZCMP32-NEXT: frame-setup SW killed $x1, $x2, 12 :: (store (s32) into %stack.0)69    ; CHECK-NO-ZCMP32-NEXT: frame-setup SW killed $x8, $x2, 8 :: (store (s32) into %stack.1)70    ; CHECK-NO-ZCMP32-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -471    ; CHECK-NO-ZCMP32-NEXT: frame-setup CFI_INSTRUCTION offset $x8, -872    ; CHECK-NO-ZCMP32-NEXT: $x1 = IMPLICIT_DEF73    ; CHECK-NO-ZCMP32-NEXT: $x8 = IMPLICIT_DEF74    ; CHECK-NO-ZCMP32-NEXT: $x1 = frame-destroy LW $x2, 12 :: (load (s32) from %stack.0)75    ; CHECK-NO-ZCMP32-NEXT: $x8 = frame-destroy LW $x2, 8 :: (load (s32) from %stack.1)76    ; CHECK-NO-ZCMP32-NEXT: frame-destroy CFI_INSTRUCTION restore $x177    ; CHECK-NO-ZCMP32-NEXT: frame-destroy CFI_INSTRUCTION restore $x878    ; CHECK-NO-ZCMP32-NEXT: $x2 = frame-destroy ADDI $x2, 1679    ; CHECK-NO-ZCMP32-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 080    ; CHECK-NO-ZCMP32-NEXT: PseudoRET81    ;82    ; CHECK-NO-ZCMP64-LABEL: name: popret_rvlist583    ; CHECK-NO-ZCMP64: liveins: $x1, $x884    ; CHECK-NO-ZCMP64-NEXT: {{  $}}85    ; CHECK-NO-ZCMP64-NEXT: $x2 = frame-setup ADDI $x2, -1686    ; CHECK-NO-ZCMP64-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 1687    ; CHECK-NO-ZCMP64-NEXT: frame-setup SD killed $x1, $x2, 8 :: (store (s64) into %stack.0)88    ; CHECK-NO-ZCMP64-NEXT: frame-setup SD killed $x8, $x2, 0 :: (store (s64) into %stack.1)89    ; CHECK-NO-ZCMP64-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -890    ; CHECK-NO-ZCMP64-NEXT: frame-setup CFI_INSTRUCTION offset $x8, -1691    ; CHECK-NO-ZCMP64-NEXT: $x1 = IMPLICIT_DEF92    ; CHECK-NO-ZCMP64-NEXT: $x8 = IMPLICIT_DEF93    ; CHECK-NO-ZCMP64-NEXT: $x1 = frame-destroy LD $x2, 8 :: (load (s64) from %stack.0)94    ; CHECK-NO-ZCMP64-NEXT: $x8 = frame-destroy LD $x2, 0 :: (load (s64) from %stack.1)95    ; CHECK-NO-ZCMP64-NEXT: frame-destroy CFI_INSTRUCTION restore $x196    ; CHECK-NO-ZCMP64-NEXT: frame-destroy CFI_INSTRUCTION restore $x897    ; CHECK-NO-ZCMP64-NEXT: $x2 = frame-destroy ADDI $x2, 1698    ; CHECK-NO-ZCMP64-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 099    ; CHECK-NO-ZCMP64-NEXT: PseudoRET100    $x1 = IMPLICIT_DEF101    $x8 = IMPLICIT_DEF102    PseudoRET103...104---105name: popretz_rvlist5106tracksRegLiveness: true107body:                   |108  bb.0:109    ; CHECK-ZCMP32-LABEL: name: popretz_rvlist5110    ; CHECK-ZCMP32: liveins: $x1, $x8111    ; CHECK-ZCMP32-NEXT: {{  $}}112    ; CHECK-ZCMP32-NEXT: frame-setup CM_PUSH 5, 0, implicit-def $x2, implicit $x2, implicit $x1, implicit $x8113    ; CHECK-ZCMP32-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 16114    ; CHECK-ZCMP32-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8115    ; CHECK-ZCMP32-NEXT: frame-setup CFI_INSTRUCTION offset $x8, -4116    ; CHECK-ZCMP32-NEXT: $x1 = IMPLICIT_DEF117    ; CHECK-ZCMP32-NEXT: $x8 = IMPLICIT_DEF118    ; CHECK-ZCMP32-NEXT: frame-destroy CM_POPRETZ 5, 0, implicit-def $x2, implicit-def $x10, implicit $x2, implicit-def $x1, implicit-def $x8119    ;120    ; CHECK-LIBCALL32-LABEL: name: popretz_rvlist5121    ; CHECK-LIBCALL32: liveins: $x1, $x8122    ; CHECK-LIBCALL32-NEXT: {{  $}}123    ; CHECK-LIBCALL32-NEXT: $x5 = frame-setup PseudoCALLReg target-flags(riscv-call) &__riscv_save_1124    ; CHECK-LIBCALL32-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 16125    ; CHECK-LIBCALL32-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4126    ; CHECK-LIBCALL32-NEXT: frame-setup CFI_INSTRUCTION offset $x8, -8127    ; CHECK-LIBCALL32-NEXT: $x1 = IMPLICIT_DEF128    ; CHECK-LIBCALL32-NEXT: $x8 = IMPLICIT_DEF129    ; CHECK-LIBCALL32-NEXT: $x10 = ADDI $x0, 0130    ; CHECK-LIBCALL32-NEXT: frame-destroy PseudoTAIL target-flags(riscv-call) &__riscv_restore_1, implicit $x2, implicit $x10131    ;132    ; CHECK-ZCMP64-LABEL: name: popretz_rvlist5133    ; CHECK-ZCMP64: liveins: $x1, $x8134    ; CHECK-ZCMP64-NEXT: {{  $}}135    ; CHECK-ZCMP64-NEXT: frame-setup CM_PUSH 5, 0, implicit-def $x2, implicit $x2, implicit $x1, implicit $x8136    ; CHECK-ZCMP64-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 16137    ; CHECK-ZCMP64-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -16138    ; CHECK-ZCMP64-NEXT: frame-setup CFI_INSTRUCTION offset $x8, -8139    ; CHECK-ZCMP64-NEXT: $x1 = IMPLICIT_DEF140    ; CHECK-ZCMP64-NEXT: $x8 = IMPLICIT_DEF141    ; CHECK-ZCMP64-NEXT: frame-destroy CM_POPRETZ 5, 0, implicit-def $x2, implicit-def $x10, implicit $x2, implicit-def $x1, implicit-def $x8142    ;143    ; CHECK-LIBCALL64-LABEL: name: popretz_rvlist5144    ; CHECK-LIBCALL64: liveins: $x1, $x8145    ; CHECK-LIBCALL64-NEXT: {{  $}}146    ; CHECK-LIBCALL64-NEXT: $x5 = frame-setup PseudoCALLReg target-flags(riscv-call) &__riscv_save_1147    ; CHECK-LIBCALL64-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 16148    ; CHECK-LIBCALL64-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8149    ; CHECK-LIBCALL64-NEXT: frame-setup CFI_INSTRUCTION offset $x8, -16150    ; CHECK-LIBCALL64-NEXT: $x1 = IMPLICIT_DEF151    ; CHECK-LIBCALL64-NEXT: $x8 = IMPLICIT_DEF152    ; CHECK-LIBCALL64-NEXT: $x10 = ADDI $x0, 0153    ; CHECK-LIBCALL64-NEXT: frame-destroy PseudoTAIL target-flags(riscv-call) &__riscv_restore_1, implicit $x2, implicit $x10154    ;155    ; CHECK-NO-ZCMP32-LABEL: name: popretz_rvlist5156    ; CHECK-NO-ZCMP32: liveins: $x1, $x8157    ; CHECK-NO-ZCMP32-NEXT: {{  $}}158    ; CHECK-NO-ZCMP32-NEXT: $x2 = frame-setup ADDI $x2, -16159    ; CHECK-NO-ZCMP32-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 16160    ; CHECK-NO-ZCMP32-NEXT: frame-setup SW killed $x1, $x2, 12 :: (store (s32) into %stack.0)161    ; CHECK-NO-ZCMP32-NEXT: frame-setup SW killed $x8, $x2, 8 :: (store (s32) into %stack.1)162    ; CHECK-NO-ZCMP32-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4163    ; CHECK-NO-ZCMP32-NEXT: frame-setup CFI_INSTRUCTION offset $x8, -8164    ; CHECK-NO-ZCMP32-NEXT: $x1 = IMPLICIT_DEF165    ; CHECK-NO-ZCMP32-NEXT: $x8 = IMPLICIT_DEF166    ; CHECK-NO-ZCMP32-NEXT: $x10 = ADDI $x0, 0167    ; CHECK-NO-ZCMP32-NEXT: $x1 = frame-destroy LW $x2, 12 :: (load (s32) from %stack.0)168    ; CHECK-NO-ZCMP32-NEXT: $x8 = frame-destroy LW $x2, 8 :: (load (s32) from %stack.1)169    ; CHECK-NO-ZCMP32-NEXT: frame-destroy CFI_INSTRUCTION restore $x1170    ; CHECK-NO-ZCMP32-NEXT: frame-destroy CFI_INSTRUCTION restore $x8171    ; CHECK-NO-ZCMP32-NEXT: $x2 = frame-destroy ADDI $x2, 16172    ; CHECK-NO-ZCMP32-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0173    ; CHECK-NO-ZCMP32-NEXT: PseudoRET implicit $x10174    ;175    ; CHECK-NO-ZCMP64-LABEL: name: popretz_rvlist5176    ; CHECK-NO-ZCMP64: liveins: $x1, $x8177    ; CHECK-NO-ZCMP64-NEXT: {{  $}}178    ; CHECK-NO-ZCMP64-NEXT: $x2 = frame-setup ADDI $x2, -16179    ; CHECK-NO-ZCMP64-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 16180    ; CHECK-NO-ZCMP64-NEXT: frame-setup SD killed $x1, $x2, 8 :: (store (s64) into %stack.0)181    ; CHECK-NO-ZCMP64-NEXT: frame-setup SD killed $x8, $x2, 0 :: (store (s64) into %stack.1)182    ; CHECK-NO-ZCMP64-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8183    ; CHECK-NO-ZCMP64-NEXT: frame-setup CFI_INSTRUCTION offset $x8, -16184    ; CHECK-NO-ZCMP64-NEXT: $x1 = IMPLICIT_DEF185    ; CHECK-NO-ZCMP64-NEXT: $x8 = IMPLICIT_DEF186    ; CHECK-NO-ZCMP64-NEXT: $x10 = ADDI $x0, 0187    ; CHECK-NO-ZCMP64-NEXT: $x1 = frame-destroy LD $x2, 8 :: (load (s64) from %stack.0)188    ; CHECK-NO-ZCMP64-NEXT: $x8 = frame-destroy LD $x2, 0 :: (load (s64) from %stack.1)189    ; CHECK-NO-ZCMP64-NEXT: frame-destroy CFI_INSTRUCTION restore $x1190    ; CHECK-NO-ZCMP64-NEXT: frame-destroy CFI_INSTRUCTION restore $x8191    ; CHECK-NO-ZCMP64-NEXT: $x2 = frame-destroy ADDI $x2, 16192    ; CHECK-NO-ZCMP64-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0193    ; CHECK-NO-ZCMP64-NEXT: PseudoRET implicit $x10194    $x1 = IMPLICIT_DEF195    $x8 = IMPLICIT_DEF196    $x10 = COPY $x0197    PseudoRET implicit $x10198...199