diff --git a/BCB/Paul Kocher/Example 13/ex13_sol.c b/BCB/Paul Kocher/Example 13/ex13_sol.c
index ca030261ddbda76769fcbfae6fcde44b8ff41e7a..78cacce4fd3223ad0763d413d846bcc7ff1c6fae 100644
--- a/BCB/Paul Kocher/Example 13/ex13_sol.c
+++ b/BCB/Paul Kocher/Example 13/ex13_sol.c
@@ -1,6 +1,6 @@
#include "../ex_main.h"
-__inline int is_x_safe(size_t x) { if (x < array1_size) return 1; return 0; }
+__forceinline int is_x_safe(size_t x) { if (x < array1_size) return 1; return 0; }
__declspec(dllexport)
void victim_function_v13(size_t x) {
diff --git a/BCB/Paul Kocher/Example 13/msvc/ex13.bil b/BCB/Paul Kocher/Example 13/msvc/ex13.bil
index ef1be03a4f70c8fefd1bbfc90d623eca8528d44a..3a179d5e86dc7e71675b22eacaebb670415fc692 100644
Binary files a/BCB/Paul Kocher/Example 13/msvc/ex13.bil and b/BCB/Paul Kocher/Example 13/msvc/ex13.bil differ
diff --git a/BCB/Paul Kocher/Example 13/msvc/ex13.bir b/BCB/Paul Kocher/Example 13/msvc/ex13.bir
index e945f0b6a5cac2c8b5076b150d399658147cb1c2..5beaee0dfe65aa055f4212917d5404238b5e33b7 100644
Binary files a/BCB/Paul Kocher/Example 13/msvc/ex13.bir and b/BCB/Paul Kocher/Example 13/msvc/ex13.bir differ
diff --git a/BCB/Paul Kocher/Example 13/msvc/ex13.cod b/BCB/Paul Kocher/Example 13/msvc/ex13.cod
index e343c33412d0d0337b13e370d0915eef959e06f5..f7047fcbcd015bac2cb72a183e5ab8709d37bc4d 100644
--- a/BCB/Paul Kocher/Example 13/msvc/ex13.cod
+++ b/BCB/Paul Kocher/Example 13/msvc/ex13.cod
@@ -1,90 +1,80 @@
-; Listing generated by Microsoft (R) Optimizing Compiler Version 19.30.30706.0
+; Listing generated by Microsoft (R) Optimizing Compiler Version 19.35.32216.1
include listing.inc
INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
-PUBLIC is_x_safe
PUBLIC victim_function_v13
EXTRN array1_size:QWORD
EXTRN array1:BYTE
EXTRN array2:BYTE
EXTRN temp:BYTE
pdata SEGMENT
-$pdata$victim_function_v13 DD imagerel $LN4
- DD imagerel $LN4+80
+$pdata$victim_function_v13 DD imagerel $LN7
+ DD imagerel $LN7+102
DD imagerel $unwind$victim_function_v13
pdata ENDS
xdata SEGMENT
$unwind$victim_function_v13 DD 010901H
- DD 04209H
+ DD 02209H
xdata ENDS
; Function compile flags: /Odtp
; File B:\Users\Matt\Documents\scratch\spectre-db\BCB\Paul Kocher\Example 13\ex13.c
_TEXT SEGMENT
-x$ = 48
+$T1 = 0
+x$ = 32
victim_function_v13 PROC
-; 4 : void victim_function_v13(size_t x) {
+; 6 : void victim_function_v13(size_t x) {
-$LN4:
+$LN7:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
- 00005 48 83 ec 28 sub rsp, 40 ; 00000028H
+ 00005 48 83 ec 18 sub rsp, 24
-; 5 : if (is_x_safe(x))
+; 3 : __forceinline int is_x_safe(size_t x) { if (x < array1_size) return 1; return 0; }
- 00009 48 8b 4c 24 30 mov rcx, QWORD PTR x$[rsp]
- 0000e e8 00 00 00 00 call is_x_safe
- 00013 85 c0 test eax, eax
- 00015 74 34 je SHORT $LN2@victim_fun
+ 00009 48 8b 05 00 00
+ 00 00 mov rax, QWORD PTR array1_size
+ 00010 48 39 44 24 20 cmp QWORD PTR x$[rsp], rax
+ 00015 73 09 jae SHORT $LN5@victim_fun
+ 00017 c7 04 24 01 00
+ 00 00 mov DWORD PTR $T1[rsp], 1
+ 0001e eb 07 jmp SHORT $LN4@victim_fun
+$LN5@victim_fun:
+ 00020 c7 04 24 00 00
+ 00 00 mov DWORD PTR $T1[rsp], 0
+$LN4@victim_fun:
+
+; 7 : if (is_x_safe(x))
+
+ 00027 83 3c 24 00 cmp DWORD PTR $T1[rsp], 0
+ 0002b 74 34 je SHORT $LN2@victim_fun
-; 6 : temp &= array2[array1[x] * 512];
+; 8 : temp &= array2[array1[x] * 512];
- 00017 48 8d 05 00 00
+ 0002d 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:array1
- 0001e 48 8b 4c 24 30 mov rcx, QWORD PTR x$[rsp]
- 00023 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx]
- 00027 69 c0 00 02 00
+ 00034 48 8b 4c 24 20 mov rcx, QWORD PTR x$[rsp]
+ 00039 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx]
+ 0003d 69 c0 00 02 00
00 imul eax, eax, 512 ; 00000200H
- 0002d 48 98 cdqe
- 0002f 48 8d 0d 00 00
+ 00043 48 98 cdqe
+ 00045 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:array2
- 00036 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
- 0003a 0f b6 0d 00 00
+ 0004c 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
+ 00050 0f b6 0d 00 00
00 00 movzx ecx, BYTE PTR temp
- 00041 23 c8 and ecx, eax
- 00043 8b c1 mov eax, ecx
- 00045 88 05 00 00 00
+ 00057 23 c8 and ecx, eax
+ 00059 8b c1 mov eax, ecx
+ 0005b 88 05 00 00 00
00 mov BYTE PTR temp, al
$LN2@victim_fun:
-; 7 : }
+; 9 : }
- 0004b 48 83 c4 28 add rsp, 40 ; 00000028H
- 0004f c3 ret 0
+ 00061 48 83 c4 18 add rsp, 24
+ 00065 c3 ret 0
victim_function_v13 ENDP
_TEXT ENDS
-; Function compile flags: /Odtp
-; File B:\Users\Matt\Documents\scratch\spectre-db\BCB\Paul Kocher\Example 13\ex13.c
-; COMDAT is_x_safe
-_TEXT SEGMENT
-x$ = 8
-is_x_safe PROC ; COMDAT
-
-; 3 : __inline int is_x_safe(size_t x) { if (x < array1_size) return 1; return 0; }
-
- 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
- 00005 48 8b 05 00 00
- 00 00 mov rax, QWORD PTR array1_size
- 0000c 48 39 44 24 08 cmp QWORD PTR x$[rsp], rax
- 00011 73 07 jae SHORT $LN2@is_x_safe
- 00013 b8 01 00 00 00 mov eax, 1
- 00018 eb 02 jmp SHORT $LN1@is_x_safe
-$LN2@is_x_safe:
- 0001a 33 c0 xor eax, eax
-$LN1@is_x_safe:
- 0001c c3 ret 0
-is_x_safe ENDP
-_TEXT ENDS
END
diff --git a/BCB/Paul Kocher/Example 13/msvc/ex13.dll b/BCB/Paul Kocher/Example 13/msvc/ex13.dll
index 8052e75e74736e761c6243eda0005e1f8b55fb58..496e50bce6ec27b7384aa91afdf8713016eff2f6 100644
Binary files a/BCB/Paul Kocher/Example 13/msvc/ex13.dll and b/BCB/Paul Kocher/Example 13/msvc/ex13.dll differ
diff --git a/BCB/Paul Kocher/Example 13/msvc/ex13_sol.bil b/BCB/Paul Kocher/Example 13/msvc/ex13_sol.bil
index 4b3569f6f23e5ae8a1343f777e9e199d483536ba..ef162167eaf95ff22c4526147c32057fa36c0582 100644
Binary files a/BCB/Paul Kocher/Example 13/msvc/ex13_sol.bil and b/BCB/Paul Kocher/Example 13/msvc/ex13_sol.bil differ
diff --git a/BCB/Paul Kocher/Example 13/msvc/ex13_sol.bir b/BCB/Paul Kocher/Example 13/msvc/ex13_sol.bir
index 94607242af1aeff58c7ebf6535e01265e720b4e2..0945a18d531bec553b02c395919ece3cacae0c21 100644
Binary files a/BCB/Paul Kocher/Example 13/msvc/ex13_sol.bir and b/BCB/Paul Kocher/Example 13/msvc/ex13_sol.bir differ
diff --git a/BCB/Paul Kocher/Example 13/msvc/ex13_sol.cod b/BCB/Paul Kocher/Example 13/msvc/ex13_sol.cod
index 409b422be69e0e4840426c0ca9949800270ac362..b4a36dca0ac6b622e8602d70c0f2093611f297b6 100644
--- a/BCB/Paul Kocher/Example 13/msvc/ex13_sol.cod
+++ b/BCB/Paul Kocher/Example 13/msvc/ex13_sol.cod
@@ -1,100 +1,90 @@
-; Listing generated by Microsoft (R) Optimizing Compiler Version 19.30.30706.0
+; Listing generated by Microsoft (R) Optimizing Compiler Version 19.35.32216.1
include listing.inc
INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
-PUBLIC is_x_safe
PUBLIC victim_function_v13
EXTRN array1_size:QWORD
EXTRN array1:BYTE
EXTRN array2:BYTE
EXTRN temp:BYTE
pdata SEGMENT
-$pdata$victim_function_v13 DD imagerel $LN4
- DD imagerel $LN4+90
+$pdata$victim_function_v13 DD imagerel $LN7
+ DD imagerel $LN7+113
DD imagerel $unwind$victim_function_v13
pdata ENDS
xdata SEGMENT
$unwind$victim_function_v13 DD 010901H
- DD 06209H
+ DD 02209H
xdata ENDS
; Function compile flags: /Odtp
; File B:\Users\Matt\Documents\scratch\spectre-db\BCB\Paul Kocher\Example 13\ex13_sol.c
_TEXT SEGMENT
-v$1 = 32
-x$ = 64
+v$1 = 0
+$T2 = 4
+x$ = 32
victim_function_v13 PROC
; 6 : void victim_function_v13(size_t x) {
-$LN4:
+$LN7:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
- 00005 48 83 ec 38 sub rsp, 56 ; 00000038H
+ 00005 48 83 ec 18 sub rsp, 24
+
+; 3 : __forceinline int is_x_safe(size_t x) { if (x < array1_size) return 1; return 0; }
+
+ 00009 48 8b 05 00 00
+ 00 00 mov rax, QWORD PTR array1_size
+ 00010 48 39 44 24 20 cmp QWORD PTR x$[rsp], rax
+ 00015 73 0a jae SHORT $LN5@victim_fun
+ 00017 c7 44 24 04 01
+ 00 00 00 mov DWORD PTR $T2[rsp], 1
+ 0001f eb 08 jmp SHORT $LN4@victim_fun
+$LN5@victim_fun:
+ 00021 c7 44 24 04 00
+ 00 00 00 mov DWORD PTR $T2[rsp], 0
+$LN4@victim_fun:
; 7 : if (is_x_safe(x)) {
- 00009 48 8b 4c 24 40 mov rcx, QWORD PTR x$[rsp]
- 0000e e8 00 00 00 00 call is_x_safe
- 00013 85 c0 test eax, eax
- 00015 74 3e je SHORT $LN2@victim_fun
+ 00029 83 7c 24 04 00 cmp DWORD PTR $T2[rsp], 0
+ 0002e 74 3c je SHORT $LN2@victim_fun
; 8 : uint8_t v = array1[x] * 512;
- 00017 48 8d 05 00 00
+ 00030 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:array1
- 0001e 48 8b 4c 24 40 mov rcx, QWORD PTR x$[rsp]
- 00023 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx]
- 00027 69 c0 00 02 00
+ 00037 48 8b 4c 24 20 mov rcx, QWORD PTR x$[rsp]
+ 0003c 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx]
+ 00040 69 c0 00 02 00
00 imul eax, eax, 512 ; 00000200H
- 0002d 88 44 24 20 mov BYTE PTR v$1[rsp], al
+ 00046 88 04 24 mov BYTE PTR v$1[rsp], al
; 9 : _mm_lfence();
- 00031 0f ae e8 lfence
+ 00049 0f ae e8 lfence
; 10 : temp &= array2[v];
- 00034 0f b6 44 24 20 movzx eax, BYTE PTR v$1[rsp]
- 00039 48 8d 0d 00 00
+ 0004c 0f b6 04 24 movzx eax, BYTE PTR v$1[rsp]
+ 00050 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:array2
- 00040 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
- 00044 0f b6 0d 00 00
+ 00057 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
+ 0005b 0f b6 0d 00 00
00 00 movzx ecx, BYTE PTR temp
- 0004b 23 c8 and ecx, eax
- 0004d 8b c1 mov eax, ecx
- 0004f 88 05 00 00 00
+ 00062 23 c8 and ecx, eax
+ 00064 8b c1 mov eax, ecx
+ 00066 88 05 00 00 00
00 mov BYTE PTR temp, al
$LN2@victim_fun:
; 11 : }
; 12 : }
- 00055 48 83 c4 38 add rsp, 56 ; 00000038H
- 00059 c3 ret 0
+ 0006c 48 83 c4 18 add rsp, 24
+ 00070 c3 ret 0
victim_function_v13 ENDP
_TEXT ENDS
-; Function compile flags: /Odtp
-; File B:\Users\Matt\Documents\scratch\spectre-db\BCB\Paul Kocher\Example 13\ex13_sol.c
-; COMDAT is_x_safe
-_TEXT SEGMENT
-x$ = 8
-is_x_safe PROC ; COMDAT
-
-; 3 : __inline int is_x_safe(size_t x) { if (x < array1_size) return 1; return 0; }
-
- 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
- 00005 48 8b 05 00 00
- 00 00 mov rax, QWORD PTR array1_size
- 0000c 48 39 44 24 08 cmp QWORD PTR x$[rsp], rax
- 00011 73 07 jae SHORT $LN2@is_x_safe
- 00013 b8 01 00 00 00 mov eax, 1
- 00018 eb 02 jmp SHORT $LN1@is_x_safe
-$LN2@is_x_safe:
- 0001a 33 c0 xor eax, eax
-$LN1@is_x_safe:
- 0001c c3 ret 0
-is_x_safe ENDP
-_TEXT ENDS
END
diff --git a/BCB/Paul Kocher/Example 13/msvc/ex13_sol.dll b/BCB/Paul Kocher/Example 13/msvc/ex13_sol.dll
index e3ec4be48dc52588dbbb3c4e52088e109b51e6e1..db0205f7e979734a5cad411fb46fe66d6367cd21 100644
Binary files a/BCB/Paul Kocher/Example 13/msvc/ex13_sol.dll and b/BCB/Paul Kocher/Example 13/msvc/ex13_sol.dll differ
diff --git a/BCB/Paul Kocher/Example 2/ex02.c b/BCB/Paul Kocher/Example 2/ex02.c
index ee29426b3810056c89c0eac1d718728b580d8c27..33247f4b28f846cffc91ec11f7d5fd5aa913c71b 100644
--- a/BCB/Paul Kocher/Example 2/ex02.c
+++ b/BCB/Paul Kocher/Example 2/ex02.c
@@ -1,12 +1,12 @@
#include "../ex_main.h"
__forceinline void leakByteLocalFunction_v02(uint8_t k) {
- temp &= array2[(k)* 512];
+ temp &= array2[(k)* 512];
}
__declspec(dllexport)
void victim_function_v02(size_t x) {
- if (x < array1_size) {
- leakByteLocalFunction_v02(array1[x]);
- }
+ if (x < array1_size) {
+ leakByteLocalFunction_v02(array1[x]);
+ }
}
diff --git a/BCB/Paul Kocher/Example 2/ex02_optimal.c b/BCB/Paul Kocher/Example 2/ex02_optimal.c
index 39c199023e24074e9154ac6e92c37b04551f948e..d181213a77997ce92a2822669d378bd47403367f 100644
--- a/BCB/Paul Kocher/Example 2/ex02_optimal.c
+++ b/BCB/Paul Kocher/Example 2/ex02_optimal.c
@@ -1,6 +1,6 @@
#include "../ex_main.h"
-void leakByteLocalFunction_v02(uint8_t k) {
+__forceinline void leakByteLocalFunction_v02(uint8_t k) {
uint8_t v = k * 512;
_mm_lfence();
temp &= array2[v];
@@ -9,6 +9,6 @@ void leakByteLocalFunction_v02(uint8_t k) {
__declspec(dllexport)
void optimal_solution_v02(size_t x) {
if (x < array1_size) {
- leakByteLocalFunction(array1[x]);
+ leakByteLocalFunction_v02(array1[x]);
}
}
diff --git a/BCB/Paul Kocher/Example 2/msvc/ex02.bil b/BCB/Paul Kocher/Example 2/msvc/ex02.bil
index 1ae52fb2db9a949eb387cc32b0c77c5fa5e876f0..c62830bedc13be92d53d44ebfd8c70f25d57a288 100644
Binary files a/BCB/Paul Kocher/Example 2/msvc/ex02.bil and b/BCB/Paul Kocher/Example 2/msvc/ex02.bil differ
diff --git a/BCB/Paul Kocher/Example 2/msvc/ex02.bir b/BCB/Paul Kocher/Example 2/msvc/ex02.bir
index ae531fee8878d09c6b171ab81a5f7869950a9c0c..9e44277d78e61dc6108690aeb4fc515629552637 100644
Binary files a/BCB/Paul Kocher/Example 2/msvc/ex02.bir and b/BCB/Paul Kocher/Example 2/msvc/ex02.bir differ
diff --git a/BCB/Paul Kocher/Example 2/msvc/ex02.cod b/BCB/Paul Kocher/Example 2/msvc/ex02.cod
index b7f4dbf7f299093380511a562ac582f5b6b9a542..c955fffd000b73628903e8c8a8799756276c5aab 100644
--- a/BCB/Paul Kocher/Example 2/msvc/ex02.cod
+++ b/BCB/Paul Kocher/Example 2/msvc/ex02.cod
@@ -1,89 +1,75 @@
-; Listing generated by Microsoft (R) Optimizing Compiler Version 19.30.30706.0
+; Listing generated by Microsoft (R) Optimizing Compiler Version 19.35.32216.1
include listing.inc
INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
-PUBLIC leakByteLocalFunction_v02
PUBLIC victim_function_v02
EXTRN array1_size:QWORD
EXTRN array1:BYTE
EXTRN array2:BYTE
EXTRN temp:BYTE
pdata SEGMENT
-$pdata$victim_function_v02 DD imagerel $LN4
- DD imagerel $LN4+49
+$pdata$victim_function_v02 DD imagerel $LN6
+ DD imagerel $LN6+90
DD imagerel $unwind$victim_function_v02
pdata ENDS
xdata SEGMENT
$unwind$victim_function_v02 DD 010901H
- DD 04209H
+ DD 02209H
xdata ENDS
; Function compile flags: /Odtp
; File B:\Users\Matt\Documents\scratch\spectre-db\BCB\Paul Kocher\Example 2\ex02.c
_TEXT SEGMENT
-x$ = 48
+k$ = 0
+x$ = 32
victim_function_v02 PROC
; 8 : void victim_function_v02(size_t x) {
-$LN4:
+$LN6:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
- 00005 48 83 ec 28 sub rsp, 40 ; 00000028H
+ 00005 48 83 ec 18 sub rsp, 24
-; 9 : if (x < array1_size) {
+; 9 : if (x < array1_size) {
00009 48 8b 05 00 00
00 00 mov rax, QWORD PTR array1_size
- 00010 48 39 44 24 30 cmp QWORD PTR x$[rsp], rax
- 00015 73 15 jae SHORT $LN2@victim_fun
+ 00010 48 39 44 24 20 cmp QWORD PTR x$[rsp], rax
+ 00015 73 3e jae SHORT $LN2@victim_fun
-; 10 : leakByteLocalFunction_v02(array1[x]);
+; 10 : leakByteLocalFunction_v02(array1[x]);
- 00017 48 8d 05 00 00
+ 00017 0f ae e8 lfence
+ 0001a 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:array1
- 0001e 48 8b 4c 24 30 mov rcx, QWORD PTR x$[rsp]
- 00023 0f b6 0c 08 movzx ecx, BYTE PTR [rax+rcx]
- 00027 e8 00 00 00 00 call leakByteLocalFunction_v02
-$LN2@victim_fun:
-
-; 11 : }
-; 12 : }
-
- 0002c 48 83 c4 28 add rsp, 40 ; 00000028H
- 00030 c3 ret 0
-victim_function_v02 ENDP
-_TEXT ENDS
-; Function compile flags: /Odtp
-; File B:\Users\Matt\Documents\scratch\spectre-db\BCB\Paul Kocher\Example 2\ex02.c
-_TEXT SEGMENT
-k$ = 8
-leakByteLocalFunction_v02 PROC
-
-; 3 : void leakByteLocalFunction_v02(uint8_t k) {
-
- 00000 88 4c 24 08 mov BYTE PTR [rsp+8], cl
+ 00021 48 8b 4c 24 20 mov rcx, QWORD PTR x$[rsp]
+ 00026 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx]
+ 0002a 88 04 24 mov BYTE PTR k$[rsp], al
-; 4 : temp &= array2[(k)* 512];
+; 4 : temp &= array2[(k)* 512];
- 00004 0f b6 44 24 08 movzx eax, BYTE PTR k$[rsp]
- 00009 69 c0 00 02 00
+ 0002d 0f b6 04 24 movzx eax, BYTE PTR k$[rsp]
+ 00031 69 c0 00 02 00
00 imul eax, eax, 512 ; 00000200H
- 0000f 48 98 cdqe
- 00011 48 8d 0d 00 00
+ 00037 48 98 cdqe
+ 00039 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:array2
- 00018 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
- 0001c 0f b6 0d 00 00
+ 00040 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
+ 00044 0f b6 0d 00 00
00 00 movzx ecx, BYTE PTR temp
- 00023 23 c8 and ecx, eax
- 00025 8b c1 mov eax, ecx
- 00027 88 05 00 00 00
+ 0004b 23 c8 and ecx, eax
+ 0004d 8b c1 mov eax, ecx
+ 0004f 88 05 00 00 00
00 mov BYTE PTR temp, al
+$LN2@victim_fun:
-; 5 : }
+; 11 : }
+; 12 : }
- 0002d c3 ret 0
-leakByteLocalFunction_v02 ENDP
+ 00055 48 83 c4 18 add rsp, 24
+ 00059 c3 ret 0
+victim_function_v02 ENDP
_TEXT ENDS
END
diff --git a/BCB/Paul Kocher/Example 2/msvc/ex02.dll b/BCB/Paul Kocher/Example 2/msvc/ex02.dll
index 12152a0fbba671798d3582af2a6fce1e1c334a01..3d5e15906cf4d06f453ff71fc521e05642c02eb3 100644
Binary files a/BCB/Paul Kocher/Example 2/msvc/ex02.dll and b/BCB/Paul Kocher/Example 2/msvc/ex02.dll differ
diff --git a/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.bil b/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.bil
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..d97e9df4aea7a4c9cb8d8301581b94b12424700e 100644
Binary files a/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.bil and b/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.bil differ
diff --git a/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.bir b/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.bir
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a8508b3f686446917e5ed9dbfc5eac0cdda6b00f 100644
Binary files a/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.bir and b/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.bir differ
diff --git a/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.cod b/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.cod
index 683fb0c5041a9cbc41b7c4c48dfe8008bb58ba8a..9a17cfe66b06ad810d73cb511f038c33121fb20b 100644
--- a/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.cod
+++ b/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.cod
@@ -1,108 +1,84 @@
-; Listing generated by Microsoft (R) Optimizing Compiler Version 19.30.30706.0
+; Listing generated by Microsoft (R) Optimizing Compiler Version 19.35.32216.1
include listing.inc
INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
-PUBLIC leakByteLocalFunction_v02
PUBLIC optimal_solution_v02
-EXTRN leakByteLocalFunction:PROC
EXTRN array1_size:QWORD
EXTRN array1:BYTE
EXTRN array2:BYTE
EXTRN temp:BYTE
pdata SEGMENT
-$pdata$leakByteLocalFunction_v02 DD imagerel $LN3
- DD imagerel $LN3+62
- DD imagerel $unwind$leakByteLocalFunction_v02
-$pdata$optimal_solution_v02 DD imagerel $LN4
- DD imagerel $LN4+51
+$pdata$optimal_solution_v02 DD imagerel $LN6
+ DD imagerel $LN6+100
DD imagerel $unwind$optimal_solution_v02
pdata ENDS
xdata SEGMENT
-$unwind$leakByteLocalFunction_v02 DD 010801H
- DD 02208H
$unwind$optimal_solution_v02 DD 010901H
- DD 04209H
+ DD 02209H
xdata ENDS
; Function compile flags: /Odtp
; File B:\Users\Matt\Documents\scratch\spectre-db\BCB\Paul Kocher\Example 2\ex02_optimal.c
_TEXT SEGMENT
-x$ = 48
+k$ = 0
+v$1 = 8
+x$ = 32
optimal_solution_v02 PROC
; 10 : void optimal_solution_v02(size_t x) {
-$LN4:
+$LN6:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
- 00005 48 83 ec 28 sub rsp, 40 ; 00000028H
+ 00005 48 83 ec 18 sub rsp, 24
; 11 : if (x < array1_size) {
00009 48 8b 05 00 00
00 00 mov rax, QWORD PTR array1_size
- 00010 48 39 44 24 30 cmp QWORD PTR x$[rsp], rax
- 00015 73 17 jae SHORT $LN2@optimal_so
+ 00010 48 39 44 24 20 cmp QWORD PTR x$[rsp], rax
+ 00015 73 48 jae SHORT $LN2@optimal_so
-; 12 : leakByteLocalFunction(array1[x]);
+; 12 : leakByteLocalFunction_v02(array1[x]);
- 00017 48 8d 05 00 00
+ 00017 0f ae e8 lfence
+ 0001a 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:array1
- 0001e 48 8b 4c 24 30 mov rcx, QWORD PTR x$[rsp]
- 00023 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx]
- 00027 8b c8 mov ecx, eax
- 00029 e8 00 00 00 00 call leakByteLocalFunction
-$LN2@optimal_so:
-
-; 13 : }
-; 14 : }
-
- 0002e 48 83 c4 28 add rsp, 40 ; 00000028H
- 00032 c3 ret 0
-optimal_solution_v02 ENDP
-_TEXT ENDS
-; Function compile flags: /Odtp
-; File B:\Users\Matt\Documents\scratch\spectre-db\BCB\Paul Kocher\Example 2\ex02_optimal.c
-_TEXT SEGMENT
-v$ = 0
-k$ = 32
-leakByteLocalFunction_v02 PROC
-
-; 3 : void leakByteLocalFunction_v02(uint8_t k) {
-
-$LN3:
- 00000 88 4c 24 08 mov BYTE PTR [rsp+8], cl
- 00004 48 83 ec 18 sub rsp, 24
+ 00021 48 8b 4c 24 20 mov rcx, QWORD PTR x$[rsp]
+ 00026 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx]
+ 0002a 88 04 24 mov BYTE PTR k$[rsp], al
; 4 : uint8_t v = k * 512;
- 00008 0f b6 44 24 20 movzx eax, BYTE PTR k$[rsp]
- 0000d 69 c0 00 02 00
+ 0002d 0f b6 04 24 movzx eax, BYTE PTR k$[rsp]
+ 00031 69 c0 00 02 00
00 imul eax, eax, 512 ; 00000200H
- 00013 88 04 24 mov BYTE PTR v$[rsp], al
+ 00037 88 44 24 08 mov BYTE PTR v$1[rsp], al
; 5 : _mm_lfence();
- 00016 0f ae e8 lfence
+ 0003b 0f ae e8 lfence
; 6 : temp &= array2[v];
- 00019 0f b6 04 24 movzx eax, BYTE PTR v$[rsp]
- 0001d 48 8d 0d 00 00
+ 0003e 0f b6 44 24 08 movzx eax, BYTE PTR v$1[rsp]
+ 00043 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:array2
- 00024 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
- 00028 0f b6 0d 00 00
+ 0004a 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
+ 0004e 0f b6 0d 00 00
00 00 movzx ecx, BYTE PTR temp
- 0002f 23 c8 and ecx, eax
- 00031 8b c1 mov eax, ecx
- 00033 88 05 00 00 00
+ 00055 23 c8 and ecx, eax
+ 00057 8b c1 mov eax, ecx
+ 00059 88 05 00 00 00
00 mov BYTE PTR temp, al
+$LN2@optimal_so:
-; 7 : }
+; 13 : }
+; 14 : }
- 00039 48 83 c4 18 add rsp, 24
- 0003d c3 ret 0
-leakByteLocalFunction_v02 ENDP
+ 0005f 48 83 c4 18 add rsp, 24
+ 00063 c3 ret 0
+optimal_solution_v02 ENDP
_TEXT ENDS
END
diff --git a/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.dll b/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.dll
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..11f7fe19d6354b1712d06cab1f8cc351194b9a0e 100644
Binary files a/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.dll and b/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.dll differ
diff --git a/README.md b/README.md
index 28f2460ab46d79feabe730724ebdb0ef2271dd3b..82582cda67f8dea695fa990955b643562c3a4e39 100644
--- a/README.md
+++ b/README.md
@@ -71,94 +71,94 @@ docker run [id] bap '/home/BCB/Paul Kocher/Example 15/msvc/ex15.dll' -dbil --opt
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 1/msvc/ex01.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 1/msvc/ex01.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 1/msvc/ex01.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 1/msvc/ex01.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 2/msvc/ex02.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 2/msvc/ex02.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 2/msvc/ex02.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 2/msvc/ex02.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 3/msvc/ex03.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 3/msvc/ex03.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 3/msvc/ex03.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 3/msvc/ex03.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 4/msvc/ex04.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 4/msvc/ex04.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 4/msvc/ex04.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 4/msvc/ex04.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 5/msvc/ex05.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 5/msvc/ex05.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 5/msvc/ex05.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 5/msvc/ex05.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 6/msvc/ex06.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 6/msvc/ex06.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 6/msvc/ex06.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 6/msvc/ex06.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 7/msvc/ex07.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 7/msvc/ex07.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 7/msvc/ex07.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 7/msvc/ex07.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 8/msvc/ex08.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 8/msvc/ex08.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 8/msvc/ex08.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 8/msvc/ex08.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 9/msvc/ex09.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 9/msvc/ex09.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 9/msvc/ex09.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 9/msvc/ex09.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 10/msvc/ex10.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 10/msvc/ex10.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 10/msvc/ex10.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 10/msvc/ex10.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 11/msvc/ex11.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 11/msvc/ex11.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 11/msvc/ex11.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 11/msvc/ex11.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 12/msvc/ex12.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 12/msvc/ex12.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 12/msvc/ex12.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 12/msvc/ex12.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 13/msvc/ex13.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 13/msvc/ex13.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 13/msvc/ex13.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 13/msvc/ex13.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 14/msvc/ex14.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 14/msvc/ex14.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 14/msvc/ex14.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 14/msvc/ex14.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 15/msvc/ex15.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 15/msvc/ex15.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 15/msvc/ex15.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 15/msvc/ex15.bil'
-
-
-
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 1/msvc/ex01-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 1/msvc/ex01-mitigated.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 1/msvc/ex01-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 1/msvc/ex01-mitigated.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 2/msvc/ex02-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 2/msvc/ex02-mitigated.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 2/msvc/ex02-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 2/msvc/ex02-mitigated.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 3/msvc/ex03-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 3/msvc/ex03-mitigated.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 3/msvc/ex03-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 3/msvc/ex03-mitigated.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 4/msvc/ex04-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 4/msvc/ex04-mitigated.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 4/msvc/ex04-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 4/msvc/ex04-mitigated.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 5/msvc/ex05-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 5/msvc/ex05-mitigated.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 5/msvc/ex05-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 5/msvc/ex05-mitigated.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 11/msvc/ex11-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 11/msvc/ex11-mitigated.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 11/msvc/ex11-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 11/msvc/ex11-mitigated.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 12/msvc/ex12-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 12/msvc/ex12-mitigated.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 12/msvc/ex12-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 12/msvc/ex12-mitigated.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 14/msvc/ex14-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 14/msvc/ex14-mitigated.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 14/msvc/ex14-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 14/msvc/ex14-mitigated.bil'
-
-
-
-
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 1/msvc/ex01_optimal.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 1/msvc/ex01_optimal.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 1/msvc/ex01_optimal.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 1/msvc/ex01_optimal.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 2/msvc/ex02_optimal.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 2/msvc/ex02_optimal.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 3/msvc/ex03_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 3/msvc/ex03_sol.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 3/msvc/ex03_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 3/msvc/ex03_sol.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 4/msvc/ex04_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 4/msvc/ex04_sol.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 4/msvc/ex04_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 4/msvc/ex04_sol.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 5/msvc/ex05_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 5/msvc/ex05_sol.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 5/msvc/ex05_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 5/msvc/ex05_sol.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 6/msvc/ex06_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 6/msvc/ex06_sol.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 6/msvc/ex06_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 6/msvc/ex06_sol.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 7/msvc/ex07_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 7/msvc/ex07_sol.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 7/msvc/ex07_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 7/msvc/ex07_sol.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 8/msvc/ex08_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 8/msvc/ex08_sol.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 8/msvc/ex08_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 8/msvc/ex08_sol.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 9/msvc/ex09_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 9/msvc/ex09_sol.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 9/msvc/ex09_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 9/msvc/ex09_sol.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 11/msvc/ex11_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 11/msvc/ex11_sol.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 11/msvc/ex11_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 11/msvc/ex11_sol.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 12/msvc/ex12_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 12/msvc/ex12_sol.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 12/msvc/ex12_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 12/msvc/ex12_sol.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 13/msvc/ex13_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 13/msvc/ex13_sol.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 13/msvc/ex13_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 13/msvc/ex13_sol.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 14/msvc/ex14_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 14/msvc/ex14_sol.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 14/msvc/ex14_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 14/msvc/ex14_sol.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 15/msvc/ex15_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 15/msvc/ex15_sol.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 15/msvc/ex15_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 15/msvc/ex15_sol.bil'
-
-
-
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 7/msvc/ex07_cheang.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 7/msvc/ex07_cheang.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 7/msvc/ex07_cheang.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 7/msvc/ex07_cheang.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 8/msvc/ex08_cheang.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 8/msvc/ex08_cheang.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 8/msvc/ex08_cheang.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 8/msvc/ex08_cheang.bil'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 10/msvc/ex10_cheang.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 10/msvc/ex10_cheang.bir'
-docker run 28fd79167ea1 bap '/home/BCB/Paul Kocher/Example 10/msvc/ex10_cheang.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 10/msvc/ex10_cheang.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 1/msvc/ex01.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 1/msvc/ex01.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 1/msvc/ex01.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 1/msvc/ex01.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 2/msvc/ex02.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 2/msvc/ex02.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 2/msvc/ex02.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 2/msvc/ex02.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 3/msvc/ex03.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 3/msvc/ex03.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 3/msvc/ex03.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 3/msvc/ex03.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 4/msvc/ex04.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 4/msvc/ex04.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 4/msvc/ex04.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 4/msvc/ex04.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 5/msvc/ex05.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 5/msvc/ex05.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 5/msvc/ex05.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 5/msvc/ex05.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 6/msvc/ex06.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 6/msvc/ex06.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 6/msvc/ex06.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 6/msvc/ex06.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 7/msvc/ex07.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 7/msvc/ex07.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 7/msvc/ex07.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 7/msvc/ex07.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 8/msvc/ex08.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 8/msvc/ex08.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 8/msvc/ex08.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 8/msvc/ex08.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 9/msvc/ex09.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 9/msvc/ex09.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 9/msvc/ex09.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 9/msvc/ex09.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 10/msvc/ex10.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 10/msvc/ex10.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 10/msvc/ex10.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 10/msvc/ex10.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 11/msvc/ex11.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 11/msvc/ex11.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 11/msvc/ex11.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 11/msvc/ex11.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 12/msvc/ex12.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 12/msvc/ex12.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 12/msvc/ex12.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 12/msvc/ex12.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 13/msvc/ex13.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 13/msvc/ex13.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 13/msvc/ex13.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 13/msvc/ex13.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 14/msvc/ex14.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 14/msvc/ex14.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 14/msvc/ex14.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 14/msvc/ex14.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 15/msvc/ex15.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 15/msvc/ex15.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 15/msvc/ex15.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 15/msvc/ex15.bil'
+
+
+
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 1/msvc/ex01-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 1/msvc/ex01-mitigated.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 1/msvc/ex01-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 1/msvc/ex01-mitigated.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 2/msvc/ex02-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 2/msvc/ex02-mitigated.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 2/msvc/ex02-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 2/msvc/ex02-mitigated.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 3/msvc/ex03-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 3/msvc/ex03-mitigated.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 3/msvc/ex03-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 3/msvc/ex03-mitigated.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 4/msvc/ex04-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 4/msvc/ex04-mitigated.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 4/msvc/ex04-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 4/msvc/ex04-mitigated.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 5/msvc/ex05-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 5/msvc/ex05-mitigated.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 5/msvc/ex05-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 5/msvc/ex05-mitigated.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 11/msvc/ex11-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 11/msvc/ex11-mitigated.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 11/msvc/ex11-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 11/msvc/ex11-mitigated.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 12/msvc/ex12-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 12/msvc/ex12-mitigated.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 12/msvc/ex12-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 12/msvc/ex12-mitigated.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 14/msvc/ex14-mitigated.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 14/msvc/ex14-mitigated.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 14/msvc/ex14-mitigated.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 14/msvc/ex14-mitigated.bil'
+
+
+
+
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 1/msvc/ex01_optimal.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 1/msvc/ex01_optimal.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 1/msvc/ex01_optimal.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 1/msvc/ex01_optimal.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 2/msvc/ex02_optimal.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 2/msvc/ex02_optimal.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 2/msvc/ex02_optimal.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 3/msvc/ex03_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 3/msvc/ex03_sol.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 3/msvc/ex03_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 3/msvc/ex03_sol.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 4/msvc/ex04_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 4/msvc/ex04_sol.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 4/msvc/ex04_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 4/msvc/ex04_sol.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 5/msvc/ex05_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 5/msvc/ex05_sol.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 5/msvc/ex05_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 5/msvc/ex05_sol.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 6/msvc/ex06_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 6/msvc/ex06_sol.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 6/msvc/ex06_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 6/msvc/ex06_sol.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 7/msvc/ex07_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 7/msvc/ex07_sol.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 7/msvc/ex07_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 7/msvc/ex07_sol.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 8/msvc/ex08_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 8/msvc/ex08_sol.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 8/msvc/ex08_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 8/msvc/ex08_sol.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 9/msvc/ex09_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 9/msvc/ex09_sol.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 9/msvc/ex09_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 9/msvc/ex09_sol.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 11/msvc/ex11_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 11/msvc/ex11_sol.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 11/msvc/ex11_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 11/msvc/ex11_sol.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 12/msvc/ex12_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 12/msvc/ex12_sol.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 12/msvc/ex12_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 12/msvc/ex12_sol.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 13/msvc/ex13_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 13/msvc/ex13_sol.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 13/msvc/ex13_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 13/msvc/ex13_sol.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 14/msvc/ex14_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 14/msvc/ex14_sol.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 14/msvc/ex14_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 14/msvc/ex14_sol.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 15/msvc/ex15_sol.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 15/msvc/ex15_sol.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 15/msvc/ex15_sol.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 15/msvc/ex15_sol.bil'
+
+
+
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 7/msvc/ex07_cheang.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 7/msvc/ex07_cheang.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 7/msvc/ex07_cheang.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 7/msvc/ex07_cheang.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 8/msvc/ex08_cheang.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 8/msvc/ex08_cheang.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 8/msvc/ex08_cheang.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 8/msvc/ex08_cheang.bil'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 10/msvc/ex10_cheang.dll' -dbir --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 10/msvc/ex10_cheang.bir'
+docker run 8183a414c77e06b5da95b8283dbf44c9ea96c27818c0c8ed824b26aa400f7a bap '/home/BCB/Paul Kocher/Example 10/msvc/ex10_cheang.dll' -dbil --optimization-level=3 --bil-enable-intrinsics=llvm:lfence > 'BCB/Paul Kocher/Example 10/msvc/ex10_cheang.bil'