1/* { dg-options "-O2" } */
2/* { dg-do run } */
3
4#if defined __i386__
5#define REG "edi"
6#else
7#define REG "r14"
8#endif
9
10register unsigned long *ds asm(REG);
11
12extern void abort (void);
13
14__attribute__ ((noinline)) void
15test (void)
16{
17  *++ds = 31337;
18}
19
20int
21main ()
22{
23  unsigned long stack[2];
24  stack[0] = 0;
25  stack[1] = 0;
26  ds = stack;
27  test ();
28  if (ds != stack + 1 || *ds != 31337)
29    abort ();
30  return 0;
31}
32