mirror of
https://github.com/andreas-abel/nanoBench.git
synced 2025-12-16 11:30:07 +01:00
restore OF flag
This commit is contained in:
@@ -515,7 +515,8 @@ void measurement_template_Intel() {
|
||||
".intel_syntax noprefix \n"
|
||||
"push rax \n"
|
||||
"lahf \n"
|
||||
"push rax \n"
|
||||
"seto al \n"
|
||||
"push rax \n"
|
||||
"push rcx \n"
|
||||
"push rdx \n"
|
||||
"push r15 \n"
|
||||
@@ -545,7 +546,8 @@ void measurement_template_Intel() {
|
||||
"pop rdx; lfence \n"
|
||||
"pop rcx; lfence \n"
|
||||
"pop rax; lfence \n"
|
||||
"sahf; lfence \n"
|
||||
"cmp al, -127; lfence \n"
|
||||
"sahf; lfence \n"
|
||||
"pop rax; \n"
|
||||
"lfence \n"
|
||||
".att_syntax noprefix ");
|
||||
@@ -642,6 +644,7 @@ void measurement_template_AMD() {
|
||||
".intel_syntax noprefix \n"
|
||||
"push rax \n"
|
||||
"lahf \n"
|
||||
"seto al \n"
|
||||
"push rax \n"
|
||||
"push rcx \n"
|
||||
"push rdx \n"
|
||||
@@ -682,6 +685,7 @@ void measurement_template_AMD() {
|
||||
"pop rdx; lfence \n"
|
||||
"pop rcx; lfence \n"
|
||||
"pop rax; lfence \n"
|
||||
"cmp al, -127; lfence \n"
|
||||
"sahf; lfence \n"
|
||||
"pop rax; \n"
|
||||
"lfence \n"
|
||||
@@ -807,6 +811,7 @@ void measurement_FF_template_Intel() {
|
||||
".intel_syntax noprefix \n"
|
||||
"push rax \n"
|
||||
"lahf \n"
|
||||
"seto al \n"
|
||||
"push rax \n"
|
||||
"push rcx \n"
|
||||
"push rdx \n"
|
||||
@@ -836,6 +841,7 @@ void measurement_FF_template_Intel() {
|
||||
"pop rdx; lfence \n"
|
||||
"pop rcx; lfence \n"
|
||||
"pop rax; lfence \n"
|
||||
"cmp al, -127; lfence \n"
|
||||
"sahf; lfence \n"
|
||||
"pop rax; \n"
|
||||
"lfence \n"
|
||||
@@ -927,8 +933,9 @@ void measurement_FF_template_AMD() {
|
||||
asm(".quad "STRINGIFY(MAGIC_BYTES_INIT));
|
||||
asm volatile(
|
||||
".intel_syntax noprefix \n"
|
||||
"push rax \n"
|
||||
"push rax \n"
|
||||
"lahf \n"
|
||||
"seto al \n"
|
||||
"push rax \n"
|
||||
"push rdx \n"
|
||||
"push r15 \n"
|
||||
@@ -951,6 +958,7 @@ void measurement_FF_template_AMD() {
|
||||
"pop r15; lfence \n"
|
||||
"pop rdx; lfence \n"
|
||||
"pop rax; lfence \n"
|
||||
"cmp al, -127; lfence \n"
|
||||
"sahf; lfence \n"
|
||||
"pop rax; \n"
|
||||
"lfence \n"
|
||||
@@ -1031,6 +1039,7 @@ void measurement_RDTSC_template() {
|
||||
".intel_syntax noprefix \n"
|
||||
"push rax \n"
|
||||
"lahf \n"
|
||||
"seto al \n"
|
||||
"push rax \n"
|
||||
"push rdx \n"
|
||||
"push r15 \n"
|
||||
@@ -1043,6 +1052,7 @@ void measurement_RDTSC_template() {
|
||||
"pop r15; lfence \n"
|
||||
"pop rdx; lfence \n"
|
||||
"pop rax; lfence \n"
|
||||
"cmp al, -127; lfence \n"
|
||||
"sahf; lfence \n"
|
||||
"pop rax; \n"
|
||||
"lfence \n"
|
||||
|
||||
Reference in New Issue
Block a user