summary refs log tree commit diff stats
path: root/results/scraper/box64/1759
diff options
context:
space:
mode:
Diffstat (limited to 'results/scraper/box64/1759')
-rw-r--r--results/scraper/box64/175937
1 files changed, 37 insertions, 0 deletions
diff --git a/results/scraper/box64/1759 b/results/scraper/box64/1759
new file mode 100644
index 000000000..b50abf184
--- /dev/null
+++ b/results/scraper/box64/1759
@@ -0,0 +1,37 @@
+Error time to purge ymm
+When I try to translate the following code:

+```

+ 8f6088:	c5 f4 58 08          	vaddps (%rax),%ymm1,%ymm1

+  8f608c:	48 83 c0 20          	add    $0x20,%rax

+  8f6090:	48 39 f8             	cmp    %rdi,%rax

+  8f6093:	75 f3                	jne    8f6088 <_ZN3sumclIN5xsimd3avxEfEET0_T_PKS3_j+0x28>

+```

+I get the result:

+```

+0x1008f6088: C5 F4 58 08  VADDPS Gx, Vx, Ex

+0xffff863328a0: 5 emitted opcodes, inst=11, barrier=0 state=0/1(1), set=0/0, use=0, need=0/0, sm=0(0/0), pred=10/14 Q1:XMM1 Q8:YMM1 (Change: V8:->YMM1) ymmUsed=0002 ymm0=(0000/0000+0000-0002=0000) purgeYmm=0002

+3dc00158        LDR Q24, [xRAX]

+4e38d421        VFADD V1.4S, V1.4S, V24.4S

+3dc06c08        LDR Q8, [xEmu, 0x1b0]

+3dc00558        LDR Q24, [xRAX, 0x10]

+4e38d508        VFADD V8.4S, V8.4S, V24.4S

+New Instruction x64:0x1008f608c, native:0xffff863328b4

+0x1008f608c: 48 83 C0 20  ADD Ed, Ib

+0xffff863328b4: 1 emitted opcodes, inst=12, barrier=0 state=3/1(1), set=3F/0, use=0, need=0/0, sm=0(0/0), pred=11 Q1:XMM1 Q8:YMM1

+9100814a        ADD xRAX, xRAX, 0x20

+New Instruction x64:0x1008f6090, native:0xffff863328b8

+0x1008f6090: 48 39 F8  CMP Ed, Gd

+0xffff863328b8: 3 emitted opcodes, inst=13, barrier=0 state=3/1(1), set=3F/8, use=0, need=0/8, sm=0(0/0), pred=12 Q1:XMM1 Q8:YMM1

+eb110145        SUBS x5, xRAX, xRDI

+1a9f17e4        CSET w4,cEQ

+331a009a        BFI wFlags, w4, 6, 1

+New Instruction x64:0x1008f6093, native:0xffff863328c4

+0x1008f6093: 75 F3  JNZ ib

+0xffff863328c4: 4 emitted opcodes, inst=14, barrier=0 state=0/1(1), set=0/0, use=8, need=8/0, sm=0(0/0), pred=13, jmp=11 Q1:XMM1 (Change: V8:YMM1->)

+721a035f        TST wFlags, 0x40

+54fffea0          B.cEQ #+-11i ; 0x400034a42b28

+Purge YMM mask=0002 --------

+3d806c08        STR Q8, [xEmu, 0x1b0]

+---------- Purge YMM

+```

+So I want to say: if JNZ dont store ymm before branch back, it will get Q8 from origin address again!
\ No newline at end of file