| // REQUIRES: x86-registered-target |
| // REQUIRES: nvptx-registered-target |
| // RUN: %clang_cc1 -triple nvptx64-nvidia-cuda -emit-llvm -disable-llvm-optzns -fno-builtin-printf -fcuda-is-device \ |
| // RUN: -o - %s | FileCheck %s |
| |
| #define __device__ __attribute__((device)) |
| |
| extern "C" __device__ int printf(const char *format, ...); |
| |
| // CHECK-LABEL: @_Z4foo1v() |
| __device__ int foo1() { |
| // CHECK: call i32 @vprintf |
| // CHECK-NOT: call i32 (ptr, ...) @printf |
| return __builtin_printf("Hello World\n"); |
| } |
| |
| // CHECK-LABEL: @_Z4foo2v() |
| __device__ int foo2() { |
| // CHECK: call i32 (ptr, ...) @printf |
| return printf("Hello World\n"); |
| } |