blob: 8533ade99b0c72c26a2c02bbc402f3db5a4661db (
plain)
1
2
3
4
5
6
7
8
9
10
|
#include <stdint.h>
#include "liblow.h"
uint64_t cmovznz(uint64_t t, uint64_t z, uint64_t nz) {
asm ("testq %1, %1;" "\n"
"\t" "cmovnzq %3, %0;"
:"=r"(z)
:"r"(t), "0"(z), "r"(nz)
);
return z;
}
|