Skip to content
Snippets Groups Projects
Commit e6036d2d authored by Jamie Wright's avatar Jamie Wright
Browse files

3c

parent 2414ed57
No related branches found
No related tags found
No related merge requests found
; 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
#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
File added
#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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment