summaryrefslogtreecommitdiff
path: root/volk/tmpl/volk_machine_xxx.tmpl.c
diff options
context:
space:
mode:
Diffstat (limited to 'volk/tmpl/volk_machine_xxx.tmpl.c')
-rw-r--r--volk/tmpl/volk_machine_xxx.tmpl.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/volk/tmpl/volk_machine_xxx.tmpl.c b/volk/tmpl/volk_machine_xxx.tmpl.c
index 57e652e4c..87204ee99 100644
--- a/volk/tmpl/volk_machine_xxx.tmpl.c
+++ b/volk/tmpl/volk_machine_xxx.tmpl.c
@@ -20,6 +20,7 @@
*/
#set $this_machine = $machine_dict[$which]
+#set $arch_names = map(lambda a: a.name, $this_machine.archs)
#for $arch in $this_machine.archs
#define LV_HAVE_$(arch.name.upper()) 1
@@ -58,30 +59,32 @@ $(' | '.join(['(1 << LV_%s)'%a.name.upper() for a in $archs]))#slurp
#end def
#ifdef LV_HAVE_ORC
-struct volk_machine volk_machine_generic = {
+struct volk_machine volk_machine_$(this_machine.name) = {
$make_arch_have_list($this_machine.archs) | (1 << LV_ORC),
"$this_machine.name",
$this_machine.alignment,
#for $kern in $kernels
+ #set $taglist, $tagdeps = $kern.get_tags($arch_names + ["orc"])
"$kern.name",
- $make_tag_str_list($kern.taglist),
- $make_tag_have_list($kern.tagdeps),
- $make_tag_kern_list($kern.name, $kern.taglist),
- $(len($kern.taglist)),
+ $make_tag_str_list($taglist),
+ $make_tag_have_list($tagdeps),
+ $make_tag_kern_list($kern.name, $taglist),
+ $(len($taglist)),
#end for
};
#else
-struct volk_machine volk_machine_generic = {
+struct volk_machine volk_machine_$(this_machine.name) = {
$make_arch_have_list($this_machine.archs),
"$this_machine.name",
$this_machine.alignment,
#for $kern in $kernels
+ #set $taglist, $tagdeps = $kern.get_tags($arch_names)
"$kern.name",
- $make_tag_str_list($kern.taglist),
- $make_tag_have_list($kern.tagdeps),
- $make_tag_kern_list($kern.name, $kern.taglist),
- $(len($kern.taglist)),
+ $make_tag_str_list($taglist),
+ $make_tag_have_list($tagdeps),
+ $make_tag_kern_list($kern.name, $taglist),
+ $(len($taglist)),
#end for
};