added nvptx declaration to other target & fixed nvptx64 recognition
This commit is contained in:
@@ -282,15 +282,5 @@ define double @__max_uniform_double(double, double) nounwind readnone alwaysinli
|
|||||||
;; int8/int16 builtins
|
;; int8/int16 builtins
|
||||||
|
|
||||||
define_avgs()
|
define_avgs()
|
||||||
|
declare_nvptx64()
|
||||||
;;;;;;; nvptx64
|
|
||||||
|
|
||||||
declare i32 @__tid_x() nounwind readnone alwaysinline
|
|
||||||
declare i32 @__warpsize() nounwind readnone alwaysinline
|
|
||||||
declare i32 @__ctaid_x() nounwind readnone alwaysinline
|
|
||||||
declare i32 @__ctaid_y() nounwind readnone alwaysinline
|
|
||||||
declare i32 @__ctaid_z() nounwind readnone alwaysinline
|
|
||||||
declare i32 @__nctaid_x() nounwind readnone alwaysinline
|
|
||||||
declare i32 @__nctaid_y() nounwind readnone alwaysinline
|
|
||||||
declare i32 @__nctaid_z() nounwind readnone alwaysinline
|
|
||||||
|
|
||||||
|
|||||||
@@ -385,15 +385,4 @@ declare void @__prefetch_read_uniform_nt(i8 * nocapture) nounwind
|
|||||||
;; int8/int16 builtins
|
;; int8/int16 builtins
|
||||||
|
|
||||||
define_avgs()
|
define_avgs()
|
||||||
|
declare_nvptx64()
|
||||||
;;;;;;; nvptx64
|
|
||||||
|
|
||||||
declare i32 @__tid_x() nounwind readnone alwaysinline
|
|
||||||
declare i32 @__warpsize() nounwind readnone alwaysinline
|
|
||||||
declare i32 @__ctaid_x() nounwind readnone alwaysinline
|
|
||||||
declare i32 @__ctaid_y() nounwind readnone alwaysinline
|
|
||||||
declare i32 @__ctaid_z() nounwind readnone alwaysinline
|
|
||||||
declare i32 @__nctaid_x() nounwind readnone alwaysinline
|
|
||||||
declare i32 @__nctaid_y() nounwind readnone alwaysinline
|
|
||||||
declare i32 @__nctaid_z() nounwind readnone alwaysinline
|
|
||||||
|
|
||||||
|
|||||||
@@ -344,3 +344,4 @@ packed_load_and_store(4)
|
|||||||
;; prefetch
|
;; prefetch
|
||||||
|
|
||||||
define_prefetches()
|
define_prefetches()
|
||||||
|
declare_nvptx64()
|
||||||
|
|||||||
@@ -274,3 +274,4 @@ define i64 @__popcnt_int64(i64) nounwind readnone alwaysinline {
|
|||||||
|
|
||||||
define_avgs()
|
define_avgs()
|
||||||
|
|
||||||
|
declare_nvptx64()
|
||||||
|
|||||||
@@ -275,3 +275,5 @@ define i64 @__popcnt_int64(i64) nounwind readonly alwaysinline {
|
|||||||
%call = call i64 @llvm.ctpop.i64(i64 %0)
|
%call = call i64 @llvm.ctpop.i64(i64 %0)
|
||||||
ret i64 %call
|
ret i64 %call
|
||||||
}
|
}
|
||||||
|
|
||||||
|
declare_nvptx64()
|
||||||
|
|||||||
@@ -4486,3 +4486,16 @@ define(`define_avgs', `
|
|||||||
define_up_avgs()
|
define_up_avgs()
|
||||||
define_down_avgs()
|
define_down_avgs()
|
||||||
')
|
')
|
||||||
|
|
||||||
|
define(`declare_nvptx64',
|
||||||
|
`
|
||||||
|
declare i32 @__tid_x() nounwind readnone alwaysinline
|
||||||
|
declare i32 @__warpsize() nounwind readnone alwaysinline
|
||||||
|
declare i32 @__ctaid_x() nounwind readnone alwaysinline
|
||||||
|
declare i32 @__ctaid_y() nounwind readnone alwaysinline
|
||||||
|
declare i32 @__ctaid_z() nounwind readnone alwaysinline
|
||||||
|
declare i32 @__nctaid_x() nounwind readnone alwaysinline
|
||||||
|
declare i32 @__nctaid_y() nounwind readnone alwaysinline
|
||||||
|
declare i32 @__nctaid_z() nounwind readnone alwaysinline
|
||||||
|
')
|
||||||
|
|
||||||
|
|||||||
@@ -2331,7 +2331,10 @@ Module::CompileAndOutput(const char *srcFile,
|
|||||||
const char *hostStubFileName,
|
const char *hostStubFileName,
|
||||||
const char *devStubFileName)
|
const char *devStubFileName)
|
||||||
{
|
{
|
||||||
if (target != NULL && strcmp(target,"nvptx64") >= 0) // NVPTX64
|
char ptxname[] = "nvptx64";
|
||||||
|
for (int k = 0; k < 7; k++)
|
||||||
|
ptxname[k] = target[k];
|
||||||
|
if (target != NULL && strcmp(ptxname,"nvptx64") == 0) // NVPTX64
|
||||||
{
|
{
|
||||||
std::vector<std::string> targets = lExtractTargets(target);
|
std::vector<std::string> targets = lExtractTargets(target);
|
||||||
Assert(targets.size() > 1);
|
Assert(targets.size() > 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user