added nvptx declaration to other target & fixed nvptx64 recognition

This commit is contained in:
Evghenii
2013-11-14 20:12:58 +01:00
parent 7aa37b19a9
commit f1fc3bdfba
7 changed files with 23 additions and 24 deletions

View File

@@ -282,15 +282,5 @@ define double @__max_uniform_double(double, double) nounwind readnone alwaysinli
;; int8/int16 builtins
define_avgs()
;;;;;;; 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
declare_nvptx64()

View File

@@ -385,15 +385,4 @@ declare void @__prefetch_read_uniform_nt(i8 * nocapture) nounwind
;; int8/int16 builtins
define_avgs()
;;;;;;; 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
declare_nvptx64()

View File

@@ -344,3 +344,4 @@ packed_load_and_store(4)
;; prefetch
define_prefetches()
declare_nvptx64()

View File

@@ -274,3 +274,4 @@ define i64 @__popcnt_int64(i64) nounwind readnone alwaysinline {
define_avgs()
declare_nvptx64()

View File

@@ -275,3 +275,5 @@ define i64 @__popcnt_int64(i64) nounwind readonly alwaysinline {
%call = call i64 @llvm.ctpop.i64(i64 %0)
ret i64 %call
}
declare_nvptx64()

View File

@@ -4486,3 +4486,16 @@ define(`define_avgs', `
define_up_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
')

View File

@@ -2331,7 +2331,10 @@ Module::CompileAndOutput(const char *srcFile,
const char *hostStubFileName,
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);
Assert(targets.size() > 1);