brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.2 KiB · 34db2e3 Raw
89 lines · plain
1; RUN: llc -O0 -mtriple=powerpc64-ibm-aix-xcoff -mcpu=pwr10 -stop-after=prologepilog -verify-machineinstrs < %s | \2; RUN: FileCheck --check-prefix=CHECK %s3; RUN: llc -O0 -mtriple=powerpc64-ibm-aix-xcoff -mcpu=pwr10 -vec-extabi -stop-after=prologepilog -verify-machineinstrs < %s | \4; RUN: FileCheck --check-prefix=CHECK-VEXT %s5 6; CHECK-LABEL: name: foo7; CHECK-NOT: spill-slot8; CHECK-NOT: callee-saved-register: '$v31'9; CHECK-NOT: callee-saved-register: '$v30'10; CHECK-NOT: callee-saved-register: '$v29'11; CHECK-NOT: callee-saved-register: '$v28'12; CHECK-NOT: callee-saved-register: '$v27'13; CHECK-NOT: callee-saved-register: '$v26'14; CHECK-NOT: callee-saved-register: '$v25'15; CHECK-NOT: callee-saved-register: '$v24'16; CHECK-NOT: callee-saved-register: '$v23'17; CHECK-NOT: callee-saved-register: '$v22'18; CHECK-NOT: callee-saved-register: '$v21'19; CHECK-NOT: callee-saved-register: '$v20'20 21; CHECK-VEXT-LABEL: name: foo22; CHECK-VEXT-NOT: spill-slot23; CHECK-VEXT-NOT: callee-saved-register: '$v31'24; CHECK-VEXT-NOT: callee-saved-register: '$v30'25; CHECK-VEXT-NOT: callee-saved-register: '$v29'26; CHECK-VEXT-NOT: callee-saved-register: '$v28'27; CHECK-VEXT-NOT: callee-saved-register: '$v27'28; CHECK-VEXT-NOT: callee-saved-register: '$v26'29; CHECK-VEXT-NOT: callee-saved-register: '$v25'30; CHECK-VEXT-NOT: callee-saved-register: '$v24'31; CHECK-VEXT-NOT: callee-saved-register: '$v23'32; CHECK-VEXT-NOT: callee-saved-register: '$v22'33; CHECK-VEXT-NOT: callee-saved-register: '$v21'34; CHECK-VEXT-NOT: callee-saved-register: '$v20'35define void @foo() {36entry:37  call void @bar(i32 0)38  ret void39}40 41; CHECK-LABEL: name: spill42; CHECK-NOT: spill-slot43; CHECK-NOT: callee-saved-register: '$v31'44; CHECK-NOT: callee-saved-register: '$v30'45; CHECK-NOT: callee-saved-register: '$v29'46; CHECK-NOT: callee-saved-register: '$v28'47; CHECK-NOT: callee-saved-register: '$v27'48; CHECK-NOT: callee-saved-register: '$v26'49; CHECK-NOT: callee-saved-register: '$v25'50; CHECK-NOT: callee-saved-register: '$v24'51; CHECK-NOT: callee-saved-register: '$v23'52; CHECK-NOT: callee-saved-register: '$v22'53; CHECK-NOT: callee-saved-register: '$v21'54; CHECK-NOT: callee-saved-register: '$v20'55 56; CHECK-VEXT-LABEL: name: spill57; CHECK-VEXT: spill-slot58; CHECK-VEXT-NEXT: callee-saved-register: '$v31'59; CHECK-VEXT: spill-slot60; CHECK-VEXT-NEXT: callee-saved-register: '$v30'61; CHECK-VEXT: spill-slot62; CHECK-VEXT-NEXT: callee-saved-register: '$v29'63; CHECK-VEXT: spill-slot64; CHECK-VEXT-NEXT: callee-saved-register: '$v28'65; CHECK-VEXT: spill-slot66; CHECK-VEXT-NEXT: callee-saved-register: '$v27'67; CHECK-VEXT: spill-slot68; CHECK-VEXT-NEXT: callee-saved-register: '$v26'69; CHECK-VEXT: spill-slot70; CHECK-VEXT-NEXT: callee-saved-register: '$v25'71; CHECK-VEXT: spill-slot72; CHECK-VEXT-NEXT: callee-saved-register: '$v24'73; CHECK-VEXT: spill-slot74; CHECK-VEXT-NEXT: callee-saved-register: '$v23'75; CHECK-VEXT: spill-slot76; CHECK-VEXT-NEXT: callee-saved-register: '$v22'77; CHECK-VEXT: spill-slot78; CHECK-VEXT-NEXT: callee-saved-register: '$v21'79; CHECK-VEXT: spill-slot80; CHECK-VEXT-NEXT: callee-saved-register: '$v20'81define void @spill() {82entry:83  call void asm sideeffect "nop", "~{v20},~{v21},~{v22},~{v23},~{v24},~{v25},~{v26},~{v27},~{v28},~{v29},~{v30},~{v31}"()84  call void @bar(i32 0)85  ret void86}87 88declare void @bar(i32)89