Hi Simon, that's an interesting project, please keep us updated :)
1) Does v8 codegen emit 64-bit machine instructions for 64-bit wasm > instructions on 64-bit architectures (specifically Android)? I imagine the > speedup from SWAR techniques will be significantly reduced using just > 32-bit registers, perhaps to the level that doesn't make this worthwhile. > Yes, of course we use 64-bit instructions for 64-bit operations (if the binary was compiled for a 64-bit platform). 2) Does v8's codegen currently do any vectorization? If not, are there > plans to add it? In this case the plain C version might be best to stick > with as it would be easier for auto-vectorization to detect and optimize. > No, we do not do any auto-vectorization, and I am not aware of any plan to add this. 3) Can anyone provide tips / links to help with investigating and > optimizing this kind of thing? Any way of flagging wasm functions for > maximum optimization for benchmarking purposes? > For benchmarking, you should disable the baseline compiler (Liftoff). Chrome has a feature flag for that ( chrome://flags/#enable-webassembly-baseline), if you experiment with d8 directly, then add "--no-liftoff --no-wasm-tier-up". If you want to inspect the generated machine code, you can add the "--print-wasm-code" command line flag. This requires a build with then "v8_enable_disassembler" gn flag enabled, which is the default for debug builds. Since compilation happens concurrently, you need to add "--predictable" (or "--single-threaded" or "--wasm-num-compilation-tasks=0") to get readable output. Hope that helps, Clemens -- Clemens Hammacher Software Engineer [email protected] Google Germany GmbH Erika-Mann-Straße 33 80636 München Geschäftsführer: Paul Manicle, Halimah DeLaine Prado Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, dass die E-Mail an die falsche Person gesendet wurde. This e-mail is confidential. If you received this communication by mistake, please don't forward it to anyone else, please erase all copies and attachments, and please let me know that it has gone to the wrong person. -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/CAGO%3DqhCCCzJKpWgD1RxAoQGQ25Z%3Diuyf54AR1pooox8b3yFpoA%40mail.gmail.com.
