{"action":"closed","issue":{"url":"https://api.github.com/repos/VcDevel/Vc/issues/54","labels_url":"https://api.github.com/repos/VcDevel/Vc/issues/54/labels{/name}","comments_url":"https://api.github.com/repos/VcDevel/Vc/issues/54/comments","events_url":"https://api.github.com/repos/VcDevel/Vc/issues/54/events","html_url":"https://github.com/VcDevel/Vc/issues/54","id":112109253,"number":54,"title":"Vc::Memory<SimdArray<T, N>, M> might emit aligned load/store on unaligned address for N != power_of_2","user":{"login":"mattkretz","id":3306474,"avatar_url":"https://avatars.githubusercontent.com/u/3306474?v=3","gravatar_id":"","url":"https://api.github.com/users/mattkretz","html_url":"https://github.com/mattkretz","followers_url":"https://api.github.com/users/mattkretz/followers","following_url":"https://api.github.com/users/mattkretz/following{/other_user}","gists_url":"https://api.github.com/users/mattkretz/gists{/gist_id}","starred_url":"https://api.github.com/users/mattkretz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattkretz/subscriptions","organizations_url":"https://api.github.com/users/mattkretz/orgs","repos_url":"https://api.github.com/users/mattkretz/repos","events_url":"https://api.github.com/users/mattkretz/events{/privacy}","received_events_url":"https://api.github.com/users/mattkretz/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/VcDevel/Vc/labels/bug","name":"bug","color":"fc2929"}],"state":"closed","locked":false,"assignee":{"login":"mattkretz","id":3306474,"avatar_url":"https://avatars.githubusercontent.com/u/3306474?v=3","gravatar_id":"","url":"https://api.github.com/users/mattkretz","html_url":"https://github.com/mattkretz","followers_url":"https://api.github.com/users/mattkretz/followers","following_url":"https://api.github.com/users/mattkretz/following{/other_user}","gists_url":"https://api.github.com/users/mattkretz/gists{/gist_id}","starred_url":"https://api.github.com/users/mattkretz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattkretz/subscriptions","organizations_url":"https://api.github.com/users/mattkretz/orgs","repos_url":"https://api.github.com/users/mattkretz/repos","events_url":"https://api.github.com/users/mattkretz/events{/privacy}","received_events_url":"https://api.github.com/users/mattkretz/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/VcDevel/Vc/milestones/1","html_url":"https://github.com/VcDevel/Vc/milestones/Vc%201.0","labels_url":"https://api.github.com/repos/VcDevel/Vc/milestones/1/labels","id":1188903,"number":1,"title":"Vc 1.0","description":"","creator":{"login":"mattkretz","id":3306474,"avatar_url":"https://avatars.githubusercontent.com/u/3306474?v=3","gravatar_id":"","url":"https://api.github.com/users/mattkretz","html_url":"https://github.com/mattkretz","followers_url":"https://api.github.com/users/mattkretz/followers","following_url":"https://api.github.com/users/mattkretz/following{/other_user}","gists_url":"https://api.github.com/users/mattkretz/gists{/gist_id}","starred_url":"https://api.github.com/users/mattkretz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattkretz/subscriptions","organizations_url":"https://api.github.com/users/mattkretz/orgs","repos_url":"https://api.github.com/users/mattkretz/repos","events_url":"https://api.github.com/users/mattkretz/events{/privacy}","received_events_url":"https://api.github.com/users/mattkretz/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":34,"state":"open","created_at":"2015-07-01T12:28:04Z","updated_at":"2015-10-19T13:19:36Z","due_on":"2015-10-20T22:00:00Z","closed_at":null},"comments":1,"created_at":"2015-10-19T09:40:00Z","updated_at":"2015-10-19T13:19:36Z","closed_at":"2015-10-19T13:19:36Z","body":"`Vc::Memory` pads the end of the memory for a full vector access. But `SimdArray<T, N>` is not suited for such use. The assumption of `Vc::Memory` was that it's type parameter is a `Vector<T>`.\r\n\r\n```\r\nProgram received signal SIGSEGV, Segmentation fault.\r\n0x087ce961 in _mm_store_si128 (__B=..., __P=0xffffbd44) at /home/.opt/gcc-4.9.1/lib/gcc/x86_64-suse-linux-gnu/4.9.1/include/emmintrin.h:706\r\n706       *__P = __B;\r\n(gdb) bt\r\n#0  0x087ce961 in _mm_store_si128 (__B=..., __P=0xffffbd44) at /home/.opt/gcc-4.9.1/lib/gcc/x86_64-suse-linux-gnu/4.9.1/include/emmintrin.h:706\r\n#1  store<Vc_0::LoadStoreFlags::LoadStoreFlags<>, int> (x=..., mem=0xffffbd44) at /home/mkretz/src/Vc/sse/vectorhelper.h:98\r\n#2  store<int, Vc_0::LoadStoreFlags::LoadStoreFlags<>, Vc_0::enable_if_default_type> (flags=..., mem=0xffffbd44, this=0xffffb680) at /home/mkretz/src/Vc/sse/vector.tcc:117\r\n#3  store<Vc_0::LoadStoreFlags::LoadStoreFlags<>, Vc_0::enable_if_default_type> (flags=..., mem=0xffffbd44, this=0xffffb680) at /home/mkretz/src/Vc/sse/../common/storeinterface.h:54\r\n#4  store<int*&, Vc_0::LoadStoreFlags::LoadStoreFlags<>&> (this=0xffffb680) at /home/mkretz/src/Vc/common/simdarray.h:259\r\n#5  store<int, Vc_0::LoadStoreFlags::LoadStoreFlags<>&> (mem=0xffffbd44, this=0xffffb680) at /home/mkretz/src/Vc/common/simdarray.h:646\r\n#6  store<int, Vc_0::LoadStoreFlags::LoadStoreFlags<>&> (mem=0xffffbd44, this=0xffffb680) at /home/mkretz/src/Vc/common/simdarray.h:646\r\n#7  store<int, Vc_0::LoadStoreFlags::LoadStoreFlags<> > (mem=0xffffbd44, this=<optimized out>) at /home/mkretz/src/Vc/common/simdarray.h:646\r\n#8  operator=<Vc_0::SimdArray<int, 17u> > (x=..., this=0xffffbd44) at /home/mkretz/src/Vc/common/memorybase.h:95\r\n#9  Vc_0::Common::Memory<Vc_0::SimdArray<int, 17u, Vc_0::Vector<int, Vc_0::VectorAbi::Sse>, 4u>, 34u, 0u, true>::Memory (this=0xffffbd00) at /home/mkretz/src/Vc/common/memory.h:302\r\n```"}}