diff --git a/llvm/test/CodeGen/PowerPC/aix64-patchpoint-regmask.ll b/llvm/test/CodeGen/PowerPC/aix64-patchpoint-regmask.ll new file mode 100644 --- /dev/null +++ b/llvm/test/CodeGen/PowerPC/aix64-patchpoint-regmask.ll @@ -0,0 +1,12 @@ +; RUN: llc -O0 -verify-machineinstrs -mcpu=pwr9 -mtriple powerpc64-ibm-aix-xcoff -print-after=finalize-isel --print-regmask-num-regs=-1 < %s 2>&1 | \ +; RUN: FileCheck %s + +; Error regmask pattern should be fixed: v20:v31 should be reserved in AIX defalut ABI +; CHECK: PATCHPOINT{{[^<]+}}]+}} $v20 $v21 $v22 $v23 $v24 $v25 $v26 $v27 $v28 $v29 $v30 $v31 {{[^>]+}}> +define void @test(i64 %p1, i64 %p2, i64 %p3, i64 %p4) { +entry: + call anyregcc void (i64, i32, ptr, i32, ...) @llvm.experimental.patchpoint.void(i64 13, i32 40, ptr inttoptr (i64 0 to ptr), i32 2, i64 %p1, i64 %p2, i64 %p3, i64 %p4) + ret void +} + +declare void @llvm.experimental.patchpoint.void(i64, i32, ptr, i32, ...)