summaryrefslogtreecommitdiff
path: root/volk/gen/machines.xml
diff options
context:
space:
mode:
Diffstat (limited to 'volk/gen/machines.xml')
-rw-r--r--volk/gen/machines.xml64
1 files changed, 64 insertions, 0 deletions
diff --git a/volk/gen/machines.xml b/volk/gen/machines.xml
new file mode 100644
index 000000000..b872b9fb1
--- /dev/null
+++ b/volk/gen/machines.xml
@@ -0,0 +1,64 @@
+<grammar>
+
+<machine name="generic">
+<archs>generic</archs>
+</machine>
+
+<!--
+<machine name="mmx">
+<archs>generic 32|64 mmx</archs>
+</machine>
+
+<machine name="sse">
+<archs>generic 32|64 mmx sse</archs>
+</machine>
+-->
+
+<!--
+Create an SSE2 only machine (without 64/32 inline assembly support).
+This machine is intended to support the MSVC compiler on x86/amd64.
+The MSVC compiler has intrinsic support for SSE and SSE2,
+however it does not support the gcc style inline assembly.
+-->
+
+<machine name="neon">
+<archs>generic neon</archs>
+</machine>
+
+<machine name="sse2_only">
+<archs>generic mmx sse sse2</archs>
+</machine>
+
+<machine name="sse2">
+<archs>generic 32|64 mmx sse sse2</archs>
+</machine>
+
+<machine name="sse3">
+<archs>generic 32|64 mmx sse sse2 sse3</archs>
+</machine>
+
+<machine name="ssse3">
+<archs>generic 32|64 mmx sse sse2 sse3 ssse3</archs>
+</machine>
+
+<machine name="sse4_a">
+<archs>generic 32|64 mmx sse sse2 sse3 sse4_a popcount</archs>
+</machine>
+
+<machine name="sse4_1">
+<archs>generic 32|64 mmx sse sse2 sse3 ssse3 sse4_1</archs>
+</machine>
+
+<machine name="sse4_2">
+<archs>generic 32|64 mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcount</archs>
+</machine>
+
+<machine name="avx">
+<archs>generic 32|64 mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcount avx</archs>
+</machine>
+
+<machine name="altivec">
+<archs>generic altivec</archs>
+</machine>
+
+</grammar>