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