On 02/15/16 13:44, Alexander Monakov wrote:
This patch implements the NVPTX backend part of the transition to
+ static const char template64[] = ENTRY_TEMPLATE ("64", "8", "mad.wide.u32");
+ static const char template32[] = ENTRY_TEMPLATE ("32", "4", "mad.lo.u32 ");
+#undef ENTRY_TEMPLATE
+ const char *template_1 = TARGET_ABI64 ? template64 : template32;
+ const char *template_2 = template_1 + strlen (template64) + 1;
^^^
this looks mighty suspicious -- are you presuming some specific placement of
template64 & template32? (and even then I think it'll only work for TARGET_ABI64)
+ s << ".visible .entry " << name << template_1 << orig << template_2;
+ need_softstack_decl = need_unisimt_decl = true;