Size: a a a

WebAssembly — русскоговорящее сообщество

2020 December 23

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Я подозреваю что emcc что-то мудрит
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Да,шланг ок и на винде.
Но я видел команды что он пихает и вроде все ок.
источник

К

Константин in WebAssembly — русскоговорящее сообщество
и clang++ тоже ок
источник

К

Константин in WebAssembly — русскоговорящее сообщество
-DEMSCRIPTEN -fignore-exceptions -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -target wasm32-unknown-emscripten -D__EMSCRIPTEN_major__=2 -D__EMSCRIPTEN_minor__=0 -D__EMSCRIPTEN_tiny__=10 -D_LIBCPP_ABI_VERSION=2 -Dunix -D__unix -D__unix__ -Werror=implicit-function-declaration -msimd128
источник

К

Константин in WebAssembly — русскоговорящее сообщество
УУУ, а с --target=wasm32-unknown-unknown emcc чет падает
источник

N

Nikolay in WebAssembly — русскоговорящее сообщество
(шутка про компиляцию "hello horld!" под webassembly)
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Константин
УУУ, а с --target=wasm32-unknown-unknown emcc чет падает
Круть
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Я попробовал клэнгу скормить wasm32-unknown-emscripten, тоже работает
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Значит какой-то флаг супрессит.
Я смог собрать с unknown но все равно нету вектора.
Причем как я вижу из верхней лапши - все ок.
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Флаги -mllvm похоже на результат не влияет, на фре по крайней мере
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Мда... оказывается собирает.
Лан, наверное там нифига не векторизуется.
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
На вскидку не могу сказать что там не так, может кто-то ещё знает
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
вообще это баг (т.к. шланг векторизует, а emcc - нет), стоит пожаловаться на гитхабе
источник

P🍣

Pavel 🍣 in WebAssembly — русскоговорящее сообщество
Константин
Я чекал, оно все валится в em++ или emcc

и emsdk самый последний.

Я сделал проще, взял:

#include <emscripten/bind.h>
using namespace emscripten;

int roll(int from, int to) {
   int res = from;
   for(int i = from; i < 1024*1024 && i < to; i ++) {
       res *= i;
   }
   return res;
}

EMSCRIPTEN_BINDINGS(my_module) {
   function("roll", &roll);
}

и собрал:
emcc test.cpp --bind -s WASM=1 -o test.ns.js -O3
emcc test.cpp --bind -s WASM=1 -o test.s.js -O3 -msimd128 -fno-vectorize

Получил 2 идентичных бинаря

Инструкции тупые и нихрена не работае
https://v8.dev/features/simd
А этот пример? https://v8.dev/features/simd
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Да вот он и не работает
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Я 4 раза его вчера скинул
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Те там оч странно как-то, то векторизует, то нет
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Ща собрал.
У меня есть 3 бинаря - за вчера 2 и сегодня.
Вчерашние 2 одинаковые, этот с симд.
Я уже не понимаю. Собрал ровно так же.
Я правда вчера апстрим дернул, так там не было изменений
источник

P🍣

Pavel 🍣 in WebAssembly — русскоговорящее сообщество
Константин
Ща собрал.
У меня есть 3 бинаря - за вчера 2 и сегодня.
Вчерашние 2 одинаковые, этот с симд.
Я уже не понимаю. Собрал ровно так же.
Я правда вчера апстрим дернул, так там не было изменений
То есть собралось все таки? Робит?
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Нет, то что надо - не собралось
источник