Sign in
third-party-mirror
/
mingw-w64
/
049da887b4cd15d0d4f7f6a4d464a6f01f2eb666
/
.
/
mingw-w64-crt
/
intrincs
/
bittests.c
blob: b5cbf893ebbcff352cf6a4363fc8028b91a5d5c2 [
file
] [
log
] [
blame
]
#include
<intrin.h>
unsigned
char
_bittestandset
(
long
*
Base
,
long
Offset
)
{
int
old
=
0
;
__asm__ __volatile__
(
"btsl %2,%1\n\tsbbl %0,%0 "
:
"=r"
(
old
),
"=m"
((*(
volatile
long
*)
Base
))
:
"Ir"
(
Offset
));
return
(
old
!=
0
);
}