Hi Jakob, Ooops, I had missed your reply, thank you!
Replicating the bot's configuration didn't help, however I found what the problem was yesterday and it appears to be a bug in the x64 backend. If anyone can confirm it that would be great as I'm not familiar with x64. The test was crashing is generated code, when performing a Simd128 slot swap. In this case we emit the following: ~~~ // Use the XOR trick to swap without a temporary. The xorps may read // from or write to an unaligned address, causing a slowdown, but swaps // between slots should be rare. __ Movups(kScratchDoubleReg, src); __ Xorps(kScratchDoubleReg, dst); // scratch contains src ^ dst. __ Movups(src, kScratchDoubleReg); __ Xorps(kScratchDoubleReg, dst); // scratch contains src. __ Movups(dst, kScratchDoubleReg); __ Xorps(kScratchDoubleReg, src); // scratch contains dst. __ Movups(src, kScratchDoubleReg); ~~~ However, if one disables AVX (--no-enable-avx), the above causes a crash. The reason seems to be that if AVX is not supported, we fallback to using the SSE "xorps" instruction instead of "vxorps". And the former doesn't allow for unaligned addresses: ~~~ void TurboAssembler::Xorps(XMMRegister dst, XMMRegister src) { if (CpuFeatures::IsSupported(AVX)) { CpuFeatureScope scope(this, AVX); vxorps(dst, dst, src); } else { xorps(dst, src); } } ~~~ Can anybody confirm this? Thanks, Pierre Jakob Kummerow writes: > Using tools/dev/v8gen.py it should be possible to replicate the bot's exact > build configuration. I haven't done this for Mac in a while though. > > Wild guess: the bot runs OSX 10.9, which might be too old for some fancy > new C++11 features requiring library support? > > On Mon, Sep 4, 2017 at 5:48 AM, Pierre Langlois <pierre.langl...@arm.com> > wrote: > >> Hi all, >> >> For the past few weeks I have been working on some tests for TurboFan's >> code generator. But sadly, it appears the x64 OSX buildbots are not >> happy about them and I am having trouble reproducing the issue >> locally. So far I've built V8 on a Macbook running 10.12.6 and the tests >> are OK as far as I can see. >> >> The CL in question is: >> https://chromium-review.googlesource.com/c/v8/v8/+/645868 >> And the failing bots: >> - https://build.chromium.org/p/tryserver.v8/builders/v8_ >> mac64_rel/builds/151 >> - https://build.chromium.org/p/tryserver.v8/builders/v8_ >> mac64_dbg/builds/138 >> - https://build.chromium.org/p/tryserver.v8/builders/v8_ >> mac64_asan_rel/builds/162 >> >> Is it possible to run the buildbot recipes locally? >> >> For reference, the new tests target the `AssembleMove` and >> `AssembleSwap` methods which generate native code to perform moves >> generated by the gap resolver. In a nutshell, the tests generate stub >> functions which allocate a lot of spill slots, perform a long list of >> randomly generated moves on those slots, and then return. For the time >> being, we only make sure that these functions execute. We've already >> found a few bugs thanks to these tests. >> >> The bots show a segfault, does this ring a bell to anybody? I'm not >> familiar with OSX as a platform, maybe this is doing something forbidden >> on this platform? >> >> Thanks a lot, >> Pierre >> >> -- >> -- >> v8-users mailing list >> v8-users@googlegroups.com >> http://groups.google.com/group/v8-users >> --- >> You received this message because you are subscribed to the Google Groups >> "v8-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to v8-users+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > > -- -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.