// REQUIRES: powerpc-registered-target // RUN: %clang_cc1 -triple powerpc64-unknown-linux-gnu \ // RUN: -emit-llvm %s -o - -target-cpu pwr9 | \ // RUN: FileCheck %s --check-prefix=CHECK-64 // RUN: %clang_cc1 -triple powerpc64le-unknown-linux-gnu \ // RUN: -emit-llvm %s -o - -target-cpu pwr9 | \ // RUN: FileCheck %s --check-prefix=CHECK-64 // RUN: %clang_cc1 -triple powerpc64-unknown-aix \ // RUN: -emit-llvm %s -o - -target-cpu pwr9 | \ // RUN: FileCheck %s --check-prefix=CHECK-64 // RUN: %clang_cc1 -triple powerpc-unknown-linux-gnu \ // RUN: -emit-llvm %s -o - -target-cpu pwr9 | FileCheck %s // RUN: %clang_cc1 -triple powerpcle-unknown-linux-gnu \ // RUN: -emit-llvm %s -o - -target-cpu pwr9 | FileCheck %s // RUN: %clang_cc1 -triple powerpc-unknown-aix \ // RUN: -emit-llvm %s -o - -target-cpu pwr9 | FileCheck %s // The darn class of builtins are Power 9 and up and only darn_32 works in // 32 bit mode. #ifdef __PPC64__ // CHECK-64-LABEL: @testdarn( // CHECK-64: [[TMP0:%.*]] = call i64 @llvm.ppc.darn() // CHECK-64-NEXT: ret i64 [[TMP0]] // long long testdarn(void) { return __darn(); } // CHECK-64-LABEL: @testdarn_raw( // CHECK-64: [[TMP0:%.*]] = call i64 @llvm.ppc.darnraw() // CHECK-64-NEXT: ret i64 [[TMP0]] // long long testdarn_raw(void) { return __darn_raw(); } #endif // CHECK-LABEL: @testdarn_32( // CHECK: [[TMP0:%.*]] = call i32 @llvm.ppc.darn32() // CHECK-NEXT: ret i32 [[TMP0]] // int testdarn_32(void) { return __darn_32(); }