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
6struct 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};
16typedef struct shared_ptr_struct sptr_t;
17
18sptr_t sptr_1, sptr_2;
19
20void
21copy_sptr (void)
22{
23  sptr_1 = sptr_2;
24}
25
26/* { dg-final { scan-rtl-dump "\\\(set \\\(reg:TI \[0-9\]*" "expand" } } */
27/* { dg-final { scan-rtl-dump "\\\(set \\\(mem/c:TI" "expand" } } */
28/* { dg-final { cleanup-rtl-dump "expand" } } */
29