/* { dg-do compile } */ /* { dg-options "-mfix-r10000" } */ /* { dg-final { scan-assembler-times "\tbeql\t" 3 } } */ NOMIPS16 int f1 (int *z) { int result; result = __sync_lock_test_and_set (z, 42); __sync_lock_release (z); return result; } NOMIPS16 short f2 (short *z) { short result; result = __sync_lock_test_and_set (z, 42); __sync_lock_release (z); return result; } NOMIPS16 char f3 (char *z) { char result; result = __sync_lock_test_and_set (z, 42); __sync_lock_release (z); return result; }