<grammar>

<machine name="generic">
<archs>generic orc|</archs>
</machine>

<!--
<machine name="mmx">
<archs>generic 32|64 mmx orc|</archs>
</machine>

<machine name="sse">
<archs>generic 32|64| mmx| sse orc|</archs>
</machine>
-->

<machine name="neon">
<archs>generic neon orc|</archs>
</machine>

<!-- trailing | bar means generate without either for MSVC -->
<machine name="sse2">
<archs>generic 32|64| mmx| sse sse2 orc|</archs>
</machine>

<machine name="sse3">
<archs>generic 32|64 mmx sse sse2 sse3 orc|</archs>
</machine>

<machine name="ssse3">
<archs>generic 32|64 mmx sse sse2 sse3 ssse3 orc|</archs>
</machine>

<machine name="sse4_a">
<archs>generic 32|64 mmx sse sse2 sse3 sse4_a popcount orc|</archs>
</machine>

<machine name="sse4_1">
<archs>generic 32|64 mmx sse sse2 sse3 ssse3 sse4_1 orc|</archs>
</machine>

<machine name="sse4_2">
<archs>generic 32|64 mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcount orc|</archs>
</machine>

<!-- trailing | bar means generate without either for MSVC -->
<machine name="avx">
<archs>generic 32|64| mmx| sse sse2 sse3 ssse3 sse4_1 sse4_2 popcount avx orc|</archs>
</machine>

<machine name="altivec">
<archs>generic altivec</archs>
</machine>

</grammar>