1/* { dg-do run { target powerpc*-*-* } } */
2/* { dg-options "-O2" } */
3#include <locale.h>
4#include <stdlib.h>
5register int *testreg asm ("r29");
6
7int x;
8int y;
9int *ext_func (int *p) { return p; }
10
11void test_reg_save_restore (int*) __attribute__((noinline));
12void
13test_reg_save_restore (int *p)
14{
15    setlocale (LC_ALL, "C");
16    testreg = ext_func(p);
17}
18main() {
19  testreg = &x;
20  test_reg_save_restore (&y);
21  if (testreg != &y)
22    abort ();
23  return 0;
24}
25