From e6036d2d0015a480b030dcfc93c053f9a1ec2ebb Mon Sep 17 00:00:00 2001
From: JamieRWright <jwright8@sheffield.ac.uk>
Date: Sat, 22 Jul 2023 11:33:59 +0100
Subject: [PATCH] 3c

---
 BCB/Cheang et al/Figure 3b/Figure_3b.cod      |  61 ------------------
 .../{Figure 3b => Figure_3b}/Figure_3b.bir    |   0
 .../{Figure 3b => Figure_3b}/Figure_3b.c      |   0
 .../{Figure 3b => Figure_3b}/Figure_3b.dll    | Bin
 BCB/Cheang et al/Figure_3c/Figure_3c.c        |  10 +++
 BCB/Cheang et al/Figure_3c/Figure_3c.dll      | Bin 0 -> 32256 bytes
 .../{Figure 3d => Figure_3d}/Figure_3d.bir    |   0
 BCB/Cheang et al/Figure_3d/Figure_3d.c        |  11 ++++
 .../{Figure 3d => Figure_3d}/Figure_3d.dll    | Bin
 9 files changed, 21 insertions(+), 61 deletions(-)
 delete mode 100644 BCB/Cheang et al/Figure 3b/Figure_3b.cod
 rename BCB/Cheang et al/{Figure 3b => Figure_3b}/Figure_3b.bir (100%)
 rename BCB/Cheang et al/{Figure 3b => Figure_3b}/Figure_3b.c (100%)
 rename BCB/Cheang et al/{Figure 3b => Figure_3b}/Figure_3b.dll (100%)
 create mode 100644 BCB/Cheang et al/Figure_3c/Figure_3c.c
 create mode 100644 BCB/Cheang et al/Figure_3c/Figure_3c.dll
 rename BCB/Cheang et al/{Figure 3d => Figure_3d}/Figure_3d.bir (100%)
 create mode 100644 BCB/Cheang et al/Figure_3d/Figure_3d.c
 rename BCB/Cheang et al/{Figure 3d => Figure_3d}/Figure_3d.dll (100%)

diff --git a/BCB/Cheang et al/Figure 3b/Figure_3b.cod b/BCB/Cheang et al/Figure 3b/Figure_3b.cod
deleted file mode 100644
index 18d541f..0000000
--- a/BCB/Cheang et al/Figure 3b/Figure_3b.cod	
+++ /dev/null
@@ -1,61 +0,0 @@
-; Listing generated by Microsoft (R) Optimizing Compiler Version 19.32.31332.0 
-
-include listing.inc
-
-INCLUDELIB MSVCRT
-INCLUDELIB OLDNAMES
-
-PUBLIC	foo
-EXTRN	array1:BYTE
-EXTRN	array2:BYTE
-EXTRN	N:BYTE
-EXTRN	S:BYTE
-EXTRN	__ImageBase:BYTE
-; Function compile flags: /Ogtpy
-; File C:\Users\piano\Documents\PhD\hyperproperties\IsabelleScripts\Relative_Security_Spectre\Kevin Cheang\3b\Figure_3b.c
-;	COMDAT foo
-_TEXT	SEGMENT
-i$ = 8
-foo	PROC						; COMDAT
-
-; 5    :     if (i < N) {
-
-  00000	0f b6 05 00 00
-	00 00		 movzx	 eax, BYTE PTR N
-  00007	3b c8		 cmp	 ecx, eax
-  00009	73 2a		 jae	 SHORT $LN2@foo
-
-; 6    :         _mm_lfence();
-
-  0000b	0f ae e8	 lfence
-  0000e	0f ae e8	 lfence
-
-; 7    :         return array2[array1[i]*S];
-
-  00011	8b c1		 mov	 eax, ecx
-  00013	48 8d 15 00 00
-	00 00		 lea	 rdx, OFFSET FLAT:__ImageBase
-  0001a	0f b6 8c 10 00
-	00 00 00	 movzx	 ecx, BYTE PTR array1[rax+rdx]
-  00022	0f b6 05 00 00
-	00 00		 movzx	 eax, BYTE PTR S
-  00029	0f af c8	 imul	 ecx, eax
-  0002c	0f b6 84 11 00
-	00 00 00	 movzx	 eax, BYTE PTR array2[rcx+rdx]
-
-; 10   : }
-
-  00034	c3		 ret	 0
-$LN2@foo:
-
-; 8    :         }
-; 9    :     return 0;
-
-  00035	32 c0		 xor	 al, al
-
-; 10   : }
-
-  00037	c3		 ret	 0
-foo	ENDP
-_TEXT	ENDS
-END
diff --git a/BCB/Cheang et al/Figure 3b/Figure_3b.bir b/BCB/Cheang et al/Figure_3b/Figure_3b.bir
similarity index 100%
rename from BCB/Cheang et al/Figure 3b/Figure_3b.bir
rename to BCB/Cheang et al/Figure_3b/Figure_3b.bir
diff --git a/BCB/Cheang et al/Figure 3b/Figure_3b.c b/BCB/Cheang et al/Figure_3b/Figure_3b.c
similarity index 100%
rename from BCB/Cheang et al/Figure 3b/Figure_3b.c
rename to BCB/Cheang et al/Figure_3b/Figure_3b.c
diff --git a/BCB/Cheang et al/Figure 3b/Figure_3b.dll b/BCB/Cheang et al/Figure_3b/Figure_3b.dll
similarity index 100%
rename from BCB/Cheang et al/Figure 3b/Figure_3b.dll
rename to BCB/Cheang et al/Figure_3b/Figure_3b.dll
diff --git a/BCB/Cheang et al/Figure_3c/Figure_3c.c b/BCB/Cheang et al/Figure_3c/Figure_3c.c
new file mode 100644
index 0000000..5b57ab3
--- /dev/null
+++ b/BCB/Cheang et al/Figure_3c/Figure_3c.c	
@@ -0,0 +1,10 @@
+#include "../ex_main.h"
+
+__declspec(dllexport)
+uint8_t foo(unsigned i) {
+    if (i < N) {
+    uint8_t v = array1[0];
+    return array2[v*S]+i;
+    }
+    return 0;
+}
\ No newline at end of file
diff --git a/BCB/Cheang et al/Figure_3c/Figure_3c.dll b/BCB/Cheang et al/Figure_3c/Figure_3c.dll
new file mode 100644
index 0000000000000000000000000000000000000000..d4af6ad8148a3842eaed45f0ba2e5896be1289db
GIT binary patch
literal 32256
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

literal 0
HcmV?d00001

diff --git a/BCB/Cheang et al/Figure 3d/Figure_3d.bir b/BCB/Cheang et al/Figure_3d/Figure_3d.bir
similarity index 100%
rename from BCB/Cheang et al/Figure 3d/Figure_3d.bir
rename to BCB/Cheang et al/Figure_3d/Figure_3d.bir
diff --git a/BCB/Cheang et al/Figure_3d/Figure_3d.c b/BCB/Cheang et al/Figure_3d/Figure_3d.c
new file mode 100644
index 0000000..dea41df
--- /dev/null
+++ b/BCB/Cheang et al/Figure_3d/Figure_3d.c	
@@ -0,0 +1,11 @@
+#include "../ex_main.h"
+
+__declspec(dllexport)
+uint8_t foo(unsigned i) {
+    if (i < N) {
+        uint8_t v = array1[i];
+        _mm_lfence();
+        return array2[v*S];
+        }
+    return 0;
+}
\ No newline at end of file
diff --git a/BCB/Cheang et al/Figure 3d/Figure_3d.dll b/BCB/Cheang et al/Figure_3d/Figure_3d.dll
similarity index 100%
rename from BCB/Cheang et al/Figure 3d/Figure_3d.dll
rename to BCB/Cheang et al/Figure_3d/Figure_3d.dll
-- 
GitLab