c++: fix explicit/copy problem [PR109247]
[official-gcc.git] / gcc / testsuite / gdc.dg / simd19630.d
blobc29acfee73545803c81dd14dcd2bcc8c6e24243b
1 // https://issues.dlang.org/show_bug.cgi?id=19630
2 // { dg-additional-options "-mavx" { target avx_runtime } }
3 // { dg-do compile { target { avx_runtime || vect_sizes_16B_8B } } }
4 import core.simd;
6 enum fail19630b = int4.init.array[1..2];
7 enum fail19630c = (cast(int[4])int4.init.array)[1..2];
8 enum fail19630d = (cast(int[4])int4.init)[1..2];
9 enum fail19630f = int4(0).array[1..2];
10 enum fail19630g = (cast(int[4])int4(0).array)[1..2];
11 enum fail19630h = (cast(int[4])int4(0))[1..2];
13 enum int[4] v19630b = int4.init.array;
14 enum slice19630b = v19630b[1..2];
15 static assert(slice19630b == [0]);
17 enum int[4] v19630c = cast(int[4])int4.init.array;
18 enum slice19630c = v19630c[1..2];
19 static assert(slice19630c == [0]);
21 enum int[4] v19630d = cast(int[4])int4.init;
22 enum slice19630d = v19630d[1..2];
23 static assert(slice19630d == [0]);
25 enum int[4] v19630f = int4(0).array;
26 enum slice19630f = v19630f[1..2];
27 static assert(slice19630f == [0]);
29 enum int[4] v19630g = cast(int[4])int4(0).array;
30 enum slice19630g = v19630g[1..2];
31 static assert(slice19630g == [0]);
33 enum int[4] v19630h = cast(int[4])int4(0);
34 enum slice19630h = v19630h[1..2];
35 static assert(slice19630h == [0]);
37 immutable int4 v19630i = int4.init;
38 immutable slice19630i = v19630i[1..2];
39 static assert(slice19630i == [0]);
41 immutable int[4] v19630j = int4.init.array;
42 immutable slice19630j = v19630j[1..2];
43 static assert(slice19630j == [0]);
45 immutable int[4] v19630k = cast(int[4])int4.init.array;
46 immutable slice19630k = v19630k[1..2];
47 static assert(slice19630k == [0]);
49 immutable int[4] v19630l = cast(int[4])int4.init;
50 immutable slice19630l = v19630l[1..2];
51 static assert(slice19630l == [0]);
53 immutable int4 v19630m = int4(0);
54 immutable slice19630m = v19630m[1..2];
55 static assert(slice19630m == [0]);
57 immutable int[4] v19630n = int4(0).array;
58 immutable slice19630n = v19630n[1..2];
59 static assert(slice19630n == [0]);
61 immutable int[4] v19630o = cast(int[4])int4(0).array;
62 immutable slice19630o = v19630o[1..2];
63 static assert(slice19630o == [0]);
65 immutable int[4] v19630p = cast(int[4])int4(0);
66 immutable slice19630p = v19630p[1..2];
67 static assert(slice19630p == [0]);