Commit e9d85b36 authored by Julian Kranz's avatar Julian Kranz

X86 RREIL Translator

- Added semantics of: (V)PXOR
parent e4346c09
......@@ -435,14 +435,18 @@ main:
#vpunpckhdq %xmm1, %xmm2, %xmm3
#vpunpckhqdq %xmm1, %xmm2, %xmm3
punpcklbw %mm1, %mm2
punpcklwd %xmm1, %xmm2
punpckldq %mm1, %mm2
punpcklqdq %xmm1, %xmm2
vpunpcklbw %xmm1, %xmm2, %xmm3
vpunpcklwd %xmm1, %xmm2, %xmm3
vpunpckldq %xmm1, %xmm2, %xmm3
vpunpcklqdq %xmm1, %xmm2, %xmm3
#punpcklbw %mm1, %mm2
#punpcklwd %xmm1, %xmm2
#punpckldq %mm1, %mm2
#punpcklqdq %xmm1, %xmm2
#vpunpcklbw %xmm1, %xmm2, %xmm3
#vpunpcklwd %xmm1, %xmm2, %xmm3
#vpunpckldq %xmm1, %xmm2, %xmm3
#vpunpcklqdq %xmm1, %xmm2, %xmm3
pxor %mm1, %mm2
pxor %xmm1, %xmm2
vpxor %xmm1, %xmm2, %xmm3
#vmovd %xmm5, %ebx
......
......@@ -1834,6 +1834,21 @@ val sem-pushf x = do
ps-push size (var temp)
end
val sem-pxor-vpxor-opnd avx-encoded opnd1 opnd2 opnd3 = do
size <- sizeof1 opnd1;
src1 <- read size opnd2;
src2 <- read size opnd3;
dst <- lval size opnd1;
temp <- mktemp;
xorb size temp src1 src2;
write-extend avx-encoded size dst (var temp)
end
val sem-pxor x = sem-pxor-vpxor-opnd '0' x.opnd1 x.opnd1 x.opnd2
val sem-vpxor x = sem-pxor-vpxor-opnd '1' x.opnd1 x.opnd2 x.opnd3
## Q>>
## R>>
......
......@@ -1475,7 +1475,7 @@ val semantics insn =
| PUSHF x: sem-pushf x
| PUSHFD x: sem-pushf x
| PUSHFQ x: sem-pushf x
| PXOR x: sem-undef-arity2 x
| PXOR x: sem-pxor x
| RCL x: sem-undef-arity2 x
| RCPPS x: sem-undef-arity2 x
| RCPSS x: sem-undef-arity2 x
......@@ -2193,7 +2193,10 @@ val semantics insn =
case v of
VA3 x: sem-vpunpckl 16 x
end
| VPXOR x: sem-undef-varity x
| VPXOR v:
case v of
VA3 x: sem-vpxor x
end
| VRCPPS x: sem-undef-varity x
| VRCPSS x: sem-undef-varity x
| VROUNDPD x: sem-undef-varity x
......
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