blob: 5b9e0156e33ab6d3de65d1cbaa65b1bf4ca41ca4 [file] [log] [blame]
// https://issues.dlang.org/show_bug.cgi?id=16703
// { dg-additional-options "-mavx" { target avx_runtime } }
// { dg-do run { target { avx_runtime || vect_sizes_16B_8B } } }
// { dg-skip-if "needs gcc/config.d" { ! d_runtime } }
import core.simd;
float index(float4 f4, size_t i)
{
return f4[i];
}
float[4] slice(float4 f4)
{
return f4[];
}
float slice2(float4 f4, size_t lwr, size_t upr, size_t i)
{
float[] fa = f4[lwr .. upr];
return fa[i];
}
void main()
{
float4 f4 = [1,2,3,4];
assert(index(f4, 0) == 1);
assert(index(f4, 1) == 2);
assert(index(f4, 2) == 3);
assert(index(f4, 3) == 4);
float[4] fsa = slice(f4);
assert(fsa == [1.0f,2,3,4]);
assert(slice2(f4, 1, 3, 0) == 2);
assert(slice2(f4, 1, 3, 1) == 3);
}