ldc/tests/codegen/simd_alignment.d
Johan Engelen b159de0819 Cherrypick DMD PR #6582. (#2021)
Fix dlang Issue 17237 - Wrong alignment for 256-bit vectors.

dlang/dmd@10eba509d6
2017-03-04 23:50:48 +01:00

27 lines
655 B
D

// RUN: %ldc -c -output-ll -O3 -of=%t.ll %s && FileCheck %s < %t.ll
import core.simd;
struct S17237
{
bool a;
struct
{
bool b;
int8 c;
}
}
int4 globalIntFour;
// CHECK-DAG: globalIntFour{{.*}} = {{.*}} align 16
S17237 globalStruct;
// CHECK-DAG: constant %{{.*}}.S17237 zeroinitializer{{(, comdat)?}}, align 32
// CHECK-DAG: @{{.*}}globalStruct{{.*}}S17237 = {{.*}} zeroinitializer{{(, comdat)?}}, align 32
// CHECK-LABEL: define <8 x i32> @foo(
extern(C) int8 foo(S17237* s)
{
// CHECK: %[[GEP:[0-9]]] = getelementptr {{.*}}S17237* %s_arg
// CHECK: = load {{.*}}<8 x i32>* %[[GEP]], align 32
return s.c;
}