1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-optimized" } */
4 char *my_alloc1 (int len
, int align
) __attribute__((__alloc_align__ (2)));
5 char *my_alloc2 (int align
, int len
) __attribute__((alloc_align (1)));
11 char *p
= my_alloc1 (len
, 32);
12 return ((__INTPTR_TYPE__
) p
) & 31;
19 char *p
= my_alloc2 (32, len
);
20 return ((__INTPTR_TYPE__
) p
) & 31;
27 char *p
= my_alloc1 (len
, 16);
28 return ((__INTPTR_TYPE__
) p
) & 15;
35 char *p
= my_alloc2 (16, len
);
36 return ((__INTPTR_TYPE__
) p
) & 15;
40 test5 (int len
, int align
)
43 char *p
= my_alloc1 (len
, align
);
44 return ((__INTPTR_TYPE__
) p
) & 15;
48 test6 (int len
, int align
)
51 char *p
= my_alloc2 (align
, len
);
52 return ((__INTPTR_TYPE__
) p
) & 15;
55 /* { dg-final { scan-tree-dump-times "return 0" 4 "optimized" } } */