blob: dce72d8ab11cba81f066a592f9e4922bd30a8335 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
/* { dg-do compile { target bitint } } */
/* { dg-options "-march=z9-109 -O2" } */
/* { dg-final { check-function-bodies "**" "" "" } } */
/* Verify calling convention. */
struct s_bitint5 {
short a;
unsigned _BitInt(5) b;
char c;
};
static_assert (sizeof (struct s_bitint5) == 4);
/*
** s_bitint5_call:
** iilf %r2,2758168
** jg s_bitint5@PLT
*/
void s_bitint5 (struct s_bitint5 x);
void s_bitint5_call (void) { s_bitint5 ((struct s_bitint5){42, 22wbu, 24}); }
struct s_bitint9 {
short a;
unsigned _BitInt(9) b;
};
static_assert (sizeof (struct s_bitint9) == 4);
/*
** s_bitint9_call:
** iilf %r2,2752934
** jg s_bitint9@PLT
*/
void s_bitint9 (struct s_bitint9 x);
void s_bitint9_call (void) { s_bitint9 ((struct s_bitint9){42, 422wbu}); }
struct s_bitint17 {
int a;
unsigned _BitInt(17) b;
};
static_assert (sizeof (struct s_bitint17) == 8);
/*
** s_bitint17_call:
** llihl %r2,42
** oilf %r2,108198
** jg s_bitint17@PLT
*/
void s_bitint17 (struct s_bitint17 x);
void s_bitint17_call (void) { s_bitint17 ((struct s_bitint17){42, 108198wbu}); }
struct s_bitint33 {
unsigned _BitInt(33) b;
};
static_assert (sizeof (struct s_bitint33) == 8);
/*
** s_bitint33_call:
** llihl %r2,1
** oilf %r2,2795939494
** jg s_bitint33@PLT
*/
void s_bitint33 (struct s_bitint33 x);
void s_bitint33_call (void) { s_bitint33 ((struct s_bitint33){7090906790wbu}); }
|