1// REQUIRES: clang-driver 2// REQUIRES: x86-registered-target 3// REQUIRES: amdgpu-registered-target 4 5// RUN: %clang -E -dM -target amdgcn-amd-amdhsa \ 6// RUN: -mcpu=gfx908:xnack+:sramecc- -nogpulib -o - %s 2>&1 \ 7// RUN: | FileCheck -check-prefixes=PROC,ID1 %s 8 9// RUN: %clang -E -dM -target amdgcn-amd-amdpal \ 10// RUN: -mcpu=gfx908:xnack+:sramecc- -nogpulib -o - %s 2>&1 \ 11// RUN: | FileCheck -check-prefixes=PROC,ID1 %s 12 13// RUN: %clang -E -dM -target amdgcn--mesa3d \ 14// RUN: -mcpu=gfx908:xnack+:sramecc- -nogpulib -o - %s 2>&1 \ 15// RUN: | FileCheck -check-prefixes=PROC,ID1 %s 16 17// RUN: %clang -E -dM -target amdgcn-amd-amdhsa \ 18// RUN: -mcpu=gfx908 -nogpulib -o - %s 2>&1 \ 19// RUN: | FileCheck -check-prefixes=PROC,ID2 %s 20 21// RUN: %clang -E -dM -target amdgcn-amd-amdhsa \ 22// RUN: -nogpulib -o - %s 2>&1 \ 23// RUN: | FileCheck -check-prefixes=NONE %s 24 25// PROC-DAG: #define __amdgcn_processor__ "gfx908" 26 27// ID1-DAG: #define __amdgcn_feature_xnack__ 1 28// ID1-DAG: #define __amdgcn_feature_sramecc__ 0 29// ID1-DAG: #define __amdgcn_target_id__ "gfx908:sramecc-:xnack+" 30 31// ID2-DAG: #define __amdgcn_target_id__ "gfx908" 32// ID2-NOT: #define __amdgcn_feature_xnack__ 33// ID2-NOT: #define __amdgcn_feature_sramecc__ 34 35// NONE-NOT: #define __amdgcn_processor__ 36// NONE-NOT: #define __amdgcn_feature_xnack__ 37// NONE-NOT: #define __amdgcn_feature_sramecc__ 38// NONE-NOT: #define __amdgcn_target_id__ 39