annotate gcc/testsuite/gcc.dg/pr31866.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* PR tree-optimization/31866 */
kono
parents:
diff changeset
2 /* { dg-do compile { target alpha*-*-* cris-*-* crisv32-*-* i?86-*-* mmix-*-* powerpc*-*-* rs6000-*-* x86_64-*-* } } */
kono
parents:
diff changeset
3 /* { dg-options "-O2" } */
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 #if defined (__alpha__)
kono
parents:
diff changeset
6 # define REG "$1"
kono
parents:
diff changeset
7 #elif defined (__CRIS__)
kono
parents:
diff changeset
8 # define REG "r10"
kono
parents:
diff changeset
9 #elif defined (__i386__)
kono
parents:
diff changeset
10 # define REG "%eax"
kono
parents:
diff changeset
11 #elif defined (__MMIX__)
kono
parents:
diff changeset
12 # define REG "$8"
kono
parents:
diff changeset
13 #elif defined (__powerpc__) || defined (__PPC__) || defined (__ppc__) \
kono
parents:
diff changeset
14 || defined (__POWERPC__) || defined (PPC) || defined (_IBMR2)
kono
parents:
diff changeset
15 # define REG "6"
kono
parents:
diff changeset
16 #elif defined (__x86_64__)
kono
parents:
diff changeset
17 # define REG "rax"
kono
parents:
diff changeset
18 #endif
kono
parents:
diff changeset
19
kono
parents:
diff changeset
20 long int
kono
parents:
diff changeset
21 foo (void)
kono
parents:
diff changeset
22 {
kono
parents:
diff changeset
23 unsigned long int s;
kono
parents:
diff changeset
24 long int a = (long int) 0;
kono
parents:
diff changeset
25 register long int r asm (REG) = a;
kono
parents:
diff changeset
26 asm ("" : "=r" (s) : "0" (r));
kono
parents:
diff changeset
27 return s;
kono
parents:
diff changeset
28 }