]>
Commit | Line | Data |
---|---|---|
79f512ff RB |
1 | /* { dg-do run } */ |
2 | /* { dg-options "-fgimple -O2 -ftree-slp-vectorize" } */ | |
a4bb5c57 | 3 | /* { dg-require-effective-target ptr32plus } */ |
79f512ff RB |
4 | |
5 | struct A | |
6 | { | |
7 | void * a; | |
8 | void * b; | |
9 | }; | |
10 | ||
11 | struct __attribute__((aligned(16))) B | |
12 | { | |
13 | void * pad; | |
14 | void * misaligned; | |
15 | void * pad2; | |
16 | ||
17 | struct A a; | |
18 | }; | |
19 | ||
20 | __attribute__((noclone, noinline)) | |
21 | void __GIMPLE (startwith("slp")) | |
22 | NullB (void * misalignedPtr) | |
23 | { | |
24 | struct B * b; | |
25 | ||
26 | bb_2: | |
21c1e205 | 27 | b_2 = misalignedPtr_1(D) + _Literal (__SIZETYPE__) -__SIZEOF_POINTER__; |
79f512ff RB |
28 | __MEM <struct B> (b_2).a.a = _Literal (void *) 0; |
29 | __MEM <struct B> (b_2).a.b = _Literal (void *) 0; | |
30 | return; | |
31 | ||
32 | } | |
33 | ||
34 | int main() | |
35 | { | |
36 | struct B b; | |
37 | NullB (&b.misaligned); | |
38 | return 0; | |
39 | } |