@@ -391,9 +391,33 @@ define void @nonzt0_callee() {
391391 ret void
392392}
393393
394+ define void @new_zt0_callee () "aarch64_new_zt0" {
395+ ; CHECK-LABEL: define void @new_zt0_callee
396+ ; CHECK-SAME: () #[[ATTR4:[0-9]+]] {
397+ ; CHECK-NEXT: call void asm sideeffect "
398+ ; CHECK-NEXT: call void @inlined_body()
399+ ; CHECK-NEXT: ret void
400+ ;
401+ call void asm sideeffect "; inlineasm" , "" ()
402+ call void @inlined_body ()
403+ ret void
404+ }
405+
406+ define void @nonzt0_caller_new_zt0_callee_dont_inline () {
407+ ; CHECK-LABEL: define void @nonzt0_caller_new_zt0_callee_dont_inline
408+ ; CHECK-SAME: () #[[ATTR0]] {
409+ ; CHECK-NEXT: entry:
410+ ; CHECK-NEXT: call void @new_zt0_callee()
411+ ; CHECK-NEXT: ret void
412+ ;
413+ entry:
414+ call void @new_zt0_callee ()
415+ ret void
416+ }
417+
394418define void @shared_zt0_caller_nonzt0_callee_dont_inline () "aarch64_inout_zt0" {
395419; CHECK-LABEL: define void @shared_zt0_caller_nonzt0_callee_dont_inline
396- ; CHECK-SAME: () #[[ATTR4 :[0-9]+]] {
420+ ; CHECK-SAME: () #[[ATTR5 :[0-9]+]] {
397421; CHECK-NEXT: call void @nonzt0_callee()
398422; CHECK-NEXT: ret void
399423;
@@ -403,7 +427,7 @@ define void @shared_zt0_caller_nonzt0_callee_dont_inline() "aarch64_inout_zt0" {
403427
404428define void @shared_zt0_callee () "aarch64_inout_zt0" {
405429; CHECK-LABEL: define void @shared_zt0_callee
406- ; CHECK-SAME: () #[[ATTR4 ]] {
430+ ; CHECK-SAME: () #[[ATTR5 ]] {
407431; CHECK-NEXT: call void asm sideeffect "
408432; CHECK-NEXT: call void @inlined_body()
409433; CHECK-NEXT: ret void
@@ -415,7 +439,7 @@ define void @shared_zt0_callee() "aarch64_inout_zt0" {
415439
416440define void @shared_zt0_caller_shared_zt0_callee_inline () "aarch64_inout_zt0" {
417441; CHECK-LABEL: define void @shared_zt0_caller_shared_zt0_callee_inline
418- ; CHECK-SAME: () #[[ATTR4 ]] {
442+ ; CHECK-SAME: () #[[ATTR5 ]] {
419443; CHECK-NEXT: call void asm sideeffect "
420444; CHECK-NEXT: call void @inlined_body()
421445; CHECK-NEXT: ret void
0 commit comments