brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 5528771 Raw
62 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=aarch64 -mattr=+sve -run-pass=aarch64-expand-pseudo -verify-machineinstrs %s -o - | FileCheck %s3 4# Test the expansion of constructive binary operations into their5# destructive counterparts.6 7 8# EXT_ZZI_CONSTRUCTIVE9 10---11name:            test_ext_zzi_unique12body:             |13  bb.0:14    ; CHECK-LABEL: name: test_ext_zzi_unique15    ; CHECK: BUNDLE implicit-def $z2, implicit killed $z0 {16    ; CHECK-NEXT:   $z2 = MOVPRFX_ZZ $z017    ; CHECK-NEXT:   $z2 = EXT_ZZI internal killed $z2, killed $z0, 118    ; CHECK-NEXT: }19    ; CHECK-NEXT: RET undef $lr, implicit killed $z220    $z2 = EXT_ZZI_CONSTRUCTIVE killed $z0, 121    RET_ReallyLR implicit killed $z222...23 24---25name:            test_ext_zzi_already_destructive26body:             |27  bb.0:28    ; CHECK-LABEL: name: test_ext_zzi_already_destructive29    ; CHECK: $z2 = EXT_ZZI killed $z2, killed $z2, 130    ; CHECK-NEXT: RET undef $lr, implicit killed $z231    $z2 = EXT_ZZI_CONSTRUCTIVE killed $z2, 132    RET_ReallyLR implicit killed $z233...34 35---36name:            test_ext_zzi_unique_implicit_ops37body:             |38  bb.0:39    ; CHECK-LABEL: name: test_ext_zzi_unique_implicit_ops40    ; CHECK: BUNDLE implicit-def $z2, implicit-def $q2, implicit killed $z0, implicit killed $q0 {41    ; CHECK-NEXT:   $z2 = MOVPRFX_ZZ $z0, implicit killed $q042    ; CHECK-NEXT:   $z2 = EXT_ZZI internal killed $z2, killed $z0, 1, implicit-def $q243    ; CHECK-NEXT: }44    ; CHECK-NEXT: RET undef $lr, implicit killed $q245    $z2 = EXT_ZZI_CONSTRUCTIVE killed $z0, 1, implicit-def $q2, implicit killed $q046    RET_ReallyLR implicit killed $q247...48 49---50name:            test_ext_zzi_undef51body:             |52  bb.0:53    ; CHECK-LABEL: name: test_ext_zzi_undef54    ; CHECK: BUNDLE implicit-def $z2, implicit undef $z0 {55    ; CHECK-NEXT:   $z2 = MOVPRFX_ZZ undef $z056    ; CHECK-NEXT:   $z2 = EXT_ZZI internal killed $z2, undef $z0, 157    ; CHECK-NEXT: }58    ; CHECK-NEXT: RET undef $lr, implicit killed $z259    $z2 = EXT_ZZI_CONSTRUCTIVE undef $z0, 160    RET_ReallyLR implicit killed $z261...62