Commit c3d60bb0 authored by Julian Kranz's avatar Julian Kranz

X86 RREIL Translator

- Fixed semantics of: VZEROUPPER
parent 1edf6fd7
......@@ -104,7 +104,7 @@ val rreil-stmts-rev stmts =
val _var x = {id=x,offset=0}
val _var x _offset o = {id=x, offset=o}
val at-offset v o = {id=v.id, offset=o}
val at-offset v o = @{offset=o} v
val var x = SEM_LIN_VAR x
val lin sz l = SEM_LIN {size=sz, opnd1=l}
val address sz addr = {size=sz, address=addr}
......
......@@ -30,7 +30,7 @@ main:
#notq %rcx
#negq %r10
negq %r10
#mulq (%ebx)
......
......@@ -2663,40 +2663,40 @@ val sem-vzeroupper = do
size <- return 128;
mode64 <- mode64?;
xmm0 <- return (semantic-register-of-offset XMM0 size);
xmm0 <- return (at-offset (semantic-register-of XMM0) size);
mov size xmm0 (imm 0);
#xmm1 <- return (semantic-register-of-offset XMM1 size);
#mov size xmm1 (imm 0);
#xmm2 <- return (semantic-register-of-offset XMM2 size);
#mov size xmm2 (imm 0);
#xmm3 <- return (semantic-register-of-offset XMM3 size);
#mov size xmm3 (imm 0);
#xmm4 <- return (semantic-register-of-offset XMM4 size);
#mov size xmm4 (imm 0);
#xmm5 <- return (semantic-register-of-offset XMM5 size);
#mov size xmm5 (imm 0);
#xmm6 <- return (semantic-register-of-offset XMM6 size);
#mov size xmm6 (imm 0);
#xmm7 <- return (semantic-register-of-offset XMM7 size);
#mov size xmm7 (imm 0);
#if mode64 then do
# xmm8 <- return (semantic-register-of-offset XMM8 size);
# mov size xmm8 (imm 0);
# xmm9 <- return (semantic-register-of-offset XMM9 size);
# mov size xmm9 (imm 0);
# xmm10 <- return (semantic-register-of-offset XMM10 size);
# mov size xmm10 (imm 0);
# xmm11 <- return (semantic-register-of-offset XMM11 size);
# mov size xmm11 (imm 0);
# xmm12 <- return (semantic-register-of-offset XMM12 size);
# mov size xmm12 (imm 0);
# xmm13 <- return (semantic-register-of-offset XMM13 size);
# mov size xmm13 (imm 0);
# xmm14 <- return (semantic-register-of-offset XMM14 size);
# mov size xmm14 (imm 0);
# xmm15 <- return (semantic-register-of-offset XMM15 size);
# mov size xmm15 (imm 0)
#end else
xmm1 <- return (at-offset (semantic-register-of XMM1) size);
mov size xmm1 (imm 0);
xmm2 <- return (at-offset (semantic-register-of XMM2) size);
mov size xmm2 (imm 0);
xmm3 <- return (at-offset (semantic-register-of XMM3) size);
mov size xmm3 (imm 0);
xmm4 <- return (at-offset (semantic-register-of XMM4) size);
mov size xmm4 (imm 0);
xmm5 <- return (at-offset (semantic-register-of XMM5) size);
mov size xmm5 (imm 0);
xmm6 <- return (at-offset (semantic-register-of XMM6) size);
mov size xmm6 (imm 0);
xmm7 <- return (at-offset (semantic-register-of XMM7) size);
mov size xmm7 (imm 0);
if mode64 then do
xmm8 <- return (at-offset (semantic-register-of XMM8) size);
mov size xmm8 (imm 0);
xmm9 <- return (at-offset (semantic-register-of XMM9) size);
mov size xmm9 (imm 0);
xmm10 <- return (at-offset (semantic-register-of XMM10) size);
mov size xmm10 (imm 0);
xmm11 <- return (at-offset (semantic-register-of XMM11) size);
mov size xmm11 (imm 0);
xmm12 <- return (at-offset (semantic-register-of XMM12) size);
mov size xmm12 (imm 0);
xmm13 <- return (at-offset (semantic-register-of XMM13) size);
mov size xmm13 (imm 0);
xmm14 <- return (at-offset (semantic-register-of XMM14) size);
mov size xmm14 (imm 0);
xmm15 <- return (at-offset (semantic-register-of XMM15) size);
mov size xmm15 (imm 0)
end else
return void
end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment