1 /* { dg-do compile } */
2 /* { dg-options "-mfix-r10000" } */
3 /* { dg-final { scan-assembler-times "\tbeql\t" 3 } } */
4 
5 NOMIPS16 int
f1(int * z)6 f1 (int *z)
7 {
8   int result;
9 
10   result = __sync_lock_test_and_set (z, 42);
11   __sync_lock_release (z);
12   return result;
13 }
14 
15 NOMIPS16 short
f2(short * z)16 f2 (short *z)
17 {
18   short result;
19 
20   result = __sync_lock_test_and_set (z, 42);
21   __sync_lock_release (z);
22   return result;
23 }
24 
25 NOMIPS16 char
f3(char * z)26 f3 (char *z)
27 {
28   char result;
29 
30   result = __sync_lock_test_and_set (z, 42);
31   __sync_lock_release (z);
32   return result;
33 }
34