[libFuzzer] force proper popcnt instruction
llvm-svn: 279002
diff --git a/llvm/lib/Fuzzer/FuzzerTraceState.cpp b/llvm/lib/Fuzzer/FuzzerTraceState.cpp
index 9eae068..963480e 100644
--- a/llvm/lib/Fuzzer/FuzzerTraceState.cpp
+++ b/llvm/lib/Fuzzer/FuzzerTraceState.cpp
@@ -574,6 +574,7 @@
VP.AddValue((PC & 4095) | (LastSameByte << 12));
}
+__attribute__((target("popcnt")))
static void AddValueForCmp(uintptr_t PC, uint64_t Arg1, uint64_t Arg2) {
VP.AddValue((PC & 4095) | (__builtin_popcountl(Arg1 ^ Arg2) << 12));
}