restore OF flag

This commit is contained in:
Andreas Abel
2019-03-06 17:12:10 +01:00
parent def19c2349
commit fe6cc1c675
2 changed files with 35 additions and 11 deletions

View File

@@ -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"