{"action":"created","issue":{"url":"https://api.github.com/repos/tc39/ecmascript_simd/issues/277","labels_url":"https://api.github.com/repos/tc39/ecmascript_simd/issues/277/labels{/name}","comments_url":"https://api.github.com/repos/tc39/ecmascript_simd/issues/277/comments","events_url":"https://api.github.com/repos/tc39/ecmascript_simd/issues/277/events","html_url":"https://github.com/tc39/ecmascript_simd/issues/277","id":104995367,"number":277,"title":"Polyfill canonicalizes in node.js/v8 in ways that could be avoided.","user":{"login":"juj","id":225351,"avatar_url":"https://avatars.githubusercontent.com/u/225351?v=3","gravatar_id":"","url":"https://api.github.com/users/juj","html_url":"https://github.com/juj","followers_url":"https://api.github.com/users/juj/followers","following_url":"https://api.github.com/users/juj/following{/other_user}","gists_url":"https://api.github.com/users/juj/gists{/gist_id}","starred_url":"https://api.github.com/users/juj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/juj/subscriptions","organizations_url":"https://api.github.com/users/juj/orgs","repos_url":"https://api.github.com/users/juj/repos","events_url":"https://api.github.com/users/juj/events{/privacy}","received_events_url":"https://api.github.com/users/juj/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-09-05T01:41:19Z","updated_at":"2015-09-08T07:35:03Z","closed_at":null,"body":"I notice that the polyfill doesnt preserve bits between int32x4->float32x4 conversions due to the bit patterns routing via a int->float->double->float route(?), and the redundant conversion canonicalizes in node.js. Skipping the extra path and going directly int->float lets the polyfill work in node.js without canonicalization.\r\n\r\nHere is a commit to Emscripten https://github.com/juj/emscripten/commit/aa38c731c0d2bf85bfb3ce1a7a581da3aaca4f42  that works around the issue and allows Emscripten to pass all its SSE1 and SSE2 (modulo 64bit int arithmetic due to a LLVM opts breakage) tests using the polyfill in node.js."},"comment":{"url":"https://api.github.com/repos/tc39/ecmascript_simd/issues/comments/138461784","html_url":"https://github.com/tc39/ecmascript_simd/issues/277#issuecomment-138461784","issue_url":"https://api.github.com/repos/tc39/ecmascript_simd/issues/277","id":138461784,"user":{"login":"littledan","id":189835,"avatar_url":"https://avatars.githubusercontent.com/u/189835?v=3","gravatar_id":"","url":"https://api.github.com/users/littledan","html_url":"https://github.com/littledan","followers_url":"https://api.github.com/users/littledan/followers","following_url":"https://api.github.com/users/littledan/following{/other_user}","gists_url":"https://api.github.com/users/littledan/gists{/gist_id}","starred_url":"https://api.github.com/users/littledan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/littledan/subscriptions","organizations_url":"https://api.github.com/users/littledan/orgs","repos_url":"https://api.github.com/users/littledan/repos","events_url":"https://api.github.com/users/littledan/events{/privacy}","received_events_url":"https://api.github.com/users/littledan/received_events","type":"User","site_admin":false},"created_at":"2015-09-08T07:35:03Z","updated_at":"2015-09-08T07:35:03Z","body":"@juj Agreed, and sorry for the misunderstanding on my part. We have come to the conclusion that the spec will indicate that canonicalization is not allowed to happen for SIMD vectors, so we should definitely fix this bug."}}