diff --git a/clang/include/clang/Basic/BuiltinsNVPTX.def b/clang/include/clang/Basic/BuiltinsNVPTX.def --- a/clang/include/clang/Basic/BuiltinsNVPTX.def +++ b/clang/include/clang/Basic/BuiltinsNVPTX.def @@ -20,7 +20,9 @@ #pragma push_macro("SM_70") #pragma push_macro("SM_72") #pragma push_macro("SM_75") -#define SM_75 "sm_75" +#pragma push_macro("SM_80") +#define SM_80 "sm_80" +#define SM_75 "sm_75|" SM_80 #define SM_72 "sm_72|" SM_75 #define SM_70 "sm_70|" SM_72 @@ -31,7 +33,9 @@ #pragma push_macro("PTX61") #pragma push_macro("PTX63") #pragma push_macro("PTX64") -#define PTX64 "ptx64" +#pragma push_macro("PTX65") +#define PTX65 "ptx65" +#define PTX64 "ptx64|" PTX65 #define PTX63 "ptx63|" PTX64 #define PTX61 "ptx61|" PTX63 #define PTX60 "ptx60|" PTX61 @@ -721,7 +725,9 @@ #pragma pop_macro("SM_70") #pragma pop_macro("SM_72") #pragma pop_macro("SM_75") +#pragma pop_macro("SM_80") #pragma pop_macro("PTX60") #pragma pop_macro("PTX61") #pragma pop_macro("PTX63") #pragma pop_macro("PTX64") +#pragma pop_macro("PTX65") diff --git a/clang/test/CodeGen/builtins-nvptx-ptx60.cu b/clang/test/CodeGen/builtins-nvptx-ptx60.cu --- a/clang/test/CodeGen/builtins-nvptx-ptx60.cu +++ b/clang/test/CodeGen/builtins-nvptx-ptx60.cu @@ -2,6 +2,10 @@ // RUN: -fcuda-is-device -target-feature +ptx60 \ // RUN: -S -emit-llvm -o - -x cuda %s \ // RUN: | FileCheck -check-prefix=CHECK %s +// RUN: %clang_cc1 -triple nvptx64-unknown-unknown -target-cpu sm_80 \ +// RUN: -fcuda-is-device -target-feature +ptx65 \ +// RUN: -S -emit-llvm -o - -x cuda %s \ +// RUN: | FileCheck -check-prefix=CHECK %s // RUN: %clang_cc1 -triple nvptx-unknown-unknown -target-cpu sm_60 \ // RUN: -fcuda-is-device -S -o /dev/null -x cuda -verify %s