brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 404836e Raw
32 lines · plain
1// REQUIRES: powerpc-registered-target2// RUN: %clang_cc1 -triple powerpc-unknown-openbsd -fblocks -emit-llvm -o - %s | FileCheck %s3 4#include <stdarg.h>5 6id testObject(va_list ap) {7  return va_arg(ap, id);8}9// CHECK: @testObject10// CHECK: using_regs:11// CHECK-NEXT: getelementptr inbounds nuw %struct.__va_list_tag, ptr %{{[0-9]+}}, i32 0, i32 412// CHECK-NEXT: load ptr, ptr %{{[0-9]+}}, align 413// CHECK-NEXT: mul i8 %numUsedRegs, 414// CHECK-NEXT: getelementptr inbounds i8, ptr %{{[0-9]+}}, i8 %{{[0-9]+}}15// CHECK-NEXT: add i8 %numUsedRegs, 116// CHECK-NEXT: store i8 %{{[0-9]+}}, ptr %gpr, align 417// CHECK-NEXT: br label %cont18 19typedef void (^block)(void);20block testBlock(va_list ap) {21  return va_arg(ap, block);22}23// CHECK: @testBlock24// CHECK: using_regs:25// CHECK-NEXT: getelementptr inbounds nuw %struct.__va_list_tag, ptr %{{[0-9]+}}, i32 0, i32 426// CHECK-NEXT: load ptr, ptr %{{[0-9]+}}, align 427// CHECK-NEXT: mul i8 %numUsedRegs, 428// CHECK-NEXT: getelementptr inbounds i8, ptr %{{[0-9]+}}, i8 %{{[0-9]+}}29// CHECK-NEXT: add i8 %numUsedRegs, 130// CHECK-NEXT: store i8 %{{[0-9]+}}, ptr %gpr, align 431// CHECK-NEXT: br label %cont32