1 /* Check that 128-bit struct's are represented as TImode values. */
2 /* { dg-do compile { target int128 } } */
3 /* { dg-skip-if "different ABI" { x86_64-*-mingw* } } */
4 /* { dg-options "-O2 -fdump-rtl-expand" } */
5
6 struct shared_ptr_struct
7 {
8 unsigned long long phase:48;
9 unsigned short thread:16;
10 union
11 {
12 void *addr;
13 unsigned long long pad;
14 };
15 };
16 typedef struct shared_ptr_struct sptr_t;
17
18 sptr_t S;
19
20 sptr_t
sptr_result(void)21 sptr_result (void)
22 {
23 return S;
24 }
25 /* { dg-final { scan-rtl-dump "\\\(set \\\(reg:TI \[0-9\]* \\\[ <retval> \\\]\\\)" "expand" } } */
26 /* { dg-final { scan-rtl-dump "\\\(set \\\(reg/i:TI 0 ax\\\)" "expand" } } */
27