1 /* { dg-do compile } */
2 /* { dg-options "-mfix-r10000" } */
3 /* { dg-final { scan-assembler-times "\tbeql\t" 3 } } */
4
5 NOMIPS16 int
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
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
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 }