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