summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gdc.test/runnable/sroa13220.d
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gdc.test/runnable/sroa13220.d')
-rw-r--r--gcc/testsuite/gdc.test/runnable/sroa13220.d103
1 files changed, 0 insertions, 103 deletions
diff --git a/gcc/testsuite/gdc.test/runnable/sroa13220.d b/gcc/testsuite/gdc.test/runnable/sroa13220.d
deleted file mode 100644
index 2cec6665a33..00000000000
--- a/gcc/testsuite/gdc.test/runnable/sroa13220.d
+++ /dev/null
@@ -1,103 +0,0 @@
-/* REQUIRED_ARGS: -O -inline -noboundscheck
- */
-// https://github.com/dlang/pull/13220
-
-version (D_SIMD)
-{
-
-mixin template VectorOps(VectorType, ArrayType: BaseType[N], BaseType, size_t N)
-{
- enum Count = N;
- alias Base = BaseType;
-
- BaseType* ptr() return pure nothrow @nogc
- {
- return array.ptr;
- }
-
- // Unary operators
- VectorType opUnary(string op)() pure nothrow @safe @nogc
- {
- VectorType res = void;
- mixin("res.array[] = " ~ op ~ "array[];");
- return res;
- }
-
- // Binary operators
- VectorType opBinary(string op)(VectorType other) pure const nothrow @safe @nogc
- {
- VectorType res = void;
- mixin("res.array[] = array[] " ~ op ~ " other.array[];");
- return res;
- }
-
- // Assigning a BaseType value
- void opAssign(BaseType e) pure nothrow @safe @nogc
- {
- array[] = e;
- }
-
- // Assigning a static array
- void opAssign(ArrayType v) pure nothrow @safe @nogc
- {
- array[] = v[];
- }
-
- void opOpAssign(string op)(VectorType other) pure nothrow @safe @nogc
- {
- mixin("array[] " ~ op ~ "= other.array[];");
- }
-
- // Assigning a dyn array
- this(ArrayType v) pure nothrow @safe @nogc
- {
- array[] = v[];
- }
-
- // Broadcast constructor
- this(BaseType x) pure nothrow @safe @nogc
- {
- array[] = x;
- }
-
- ref inout(BaseType) opIndex(size_t i) inout pure nothrow @safe @nogc
- {
- return array[i];
- }
-}
-
-// Note: can't be @safe with this signature
-Vec loadUnaligned(Vec)(const(BaseType!Vec)* pvec) @trusted
-{
- // Since this vector is emulated, it doesn't have alignement constraints
- // and as such we can just cast it.
- return *cast(Vec*)(pvec);
-}
-
-private template BaseType(V)
-{
- alias typeof( ( { V v; return v; }()).array[0]) BaseType;
-}
-
-struct int4
-{
- int[4] array;
- mixin VectorOps!(int4, int[4]);
-}
-
-alias __m128i = int4;
-}
-
-int main()
-{
- version (D_SIMD)
- {
- int4 A = [1, 2, 3, 4];
- int4 ia = A;
- ia.ptr[2] = 5;
- int4 C = ia;
- int[4] result = [1, 2, 5, 4];
- assert(C.array == result);
- }
- return 0;
-}