2 /* { dg-do compile } */
3 /* { dg-options "-Os" } */
6 # define AX_REG asm ("rax")
7 # define DI_REG asm ("rdi")
8 # define SI_REG asm ("rsi")
10 # define AX_REG asm ("eax")
11 # define DI_REG asm ("edi")
12 # define SI_REG asm ("esi")
15 __extension__
typedef __SIZE_TYPE__
size_t;
18 foo (unsigned int x
, void *y
)
20 register size_t r AX_REG
;
21 register size_t a1 DI_REG
;
22 register size_t a2 SI_REG
;
25 asm volatile ("" : "=r" (r
), "+r" (a1
), "+r" (a2
) : : "memory");
29 struct T
{ size_t t1
, t2
; unsigned int t3
, t4
, t5
; };
32 bar (size_t x
, unsigned int y
, size_t u
, unsigned int v
)
35 struct T e
= { .t1
= x
, .t2
= u
};