Fix inline ptx escaping for predicates. (#1264)
* Fix inline ptx escaping for predicates. Prevents `error: invalid % escape in inline assembly string` when compiling with clang. * More double-quoting.
This commit is contained in:
parent
f60786b536
commit
b7508e3379
@ -181,11 +181,11 @@ CUTE_HOST_DEVICE uint32_t elect_one_sync()
|
|||||||
uint32_t laneid = 0;
|
uint32_t laneid = 0;
|
||||||
asm volatile(
|
asm volatile(
|
||||||
"{\n"
|
"{\n"
|
||||||
".reg .b32 %rx;\n"
|
".reg .b32 %%rx;\n"
|
||||||
".reg .pred %px;\n"
|
".reg .pred %%px;\n"
|
||||||
" elect.sync %rx|%px, %2;\n"
|
" elect.sync %%rx|%%px, %2;\n"
|
||||||
"@%px mov.s32 %1, 1;\n"
|
"@%%px mov.s32 %1, 1;\n"
|
||||||
" mov.s32 %0, %rx;\n"
|
" mov.s32 %0, %%rx;\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
: "+r"(laneid), "+r"(pred)
|
: "+r"(laneid), "+r"(pred)
|
||||||
: "r"(0xFFFFFFFF));
|
: "r"(0xFFFFFFFF));
|
||||||
@ -211,11 +211,11 @@ elect_one_leader_sync()
|
|||||||
uint32_t laneid = 0;
|
uint32_t laneid = 0;
|
||||||
asm volatile(
|
asm volatile(
|
||||||
"{\n"
|
"{\n"
|
||||||
".reg .b32 %rx;\n"
|
".reg .b32 %%rx;\n"
|
||||||
".reg .pred %px;\n"
|
".reg .pred %%px;\n"
|
||||||
" elect.sync %rx|%px, %2;\n"
|
" elect.sync %%rx|%%px, %2;\n"
|
||||||
"@%px mov.s32 %1, 1;\n"
|
"@%%px mov.s32 %1, 1;\n"
|
||||||
" mov.s32 %0, %rx;\n"
|
" mov.s32 %0, %%rx;\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
: "+r"(laneid), "+r"(pred)
|
: "+r"(laneid), "+r"(pred)
|
||||||
: "r"(0xFFFFFFFF));
|
: "r"(0xFFFFFFFF));
|
||||||
|
Loading…
Reference in New Issue
Block a user