// https://issues.dlang.org/show_bug.cgi?id=13841 // { dg-additional-options "-mavx" { target avx_runtime } } // { dg-do compile { target { avx_runtime || vect_sizes_16B_8B } } } import core.simd; alias TypeTuple(T...) = T; void test13841() { alias Vector16s = TypeTuple!( void16, byte16, short8, int4, long2, ubyte16, ushort8, uint4, ulong2, float4, double2); foreach (V1; Vector16s) { foreach (V2; Vector16s) { V1 v1 = void; V2 v2 = void; static if (is(V1 == V2)) { static assert( is(typeof(true ? v1 : v2) == V1)); } else { static assert(!is(typeof(true ? v1 : v2))); } } } }