{"action":"opened","issue":{"url":"https://api.github.com/repos/haskell-works/hw-dsv/issues/47","repository_url":"https://api.github.com/repos/haskell-works/hw-dsv","labels_url":"https://api.github.com/repos/haskell-works/hw-dsv/issues/47/labels{/name}","comments_url":"https://api.github.com/repos/haskell-works/hw-dsv/issues/47/comments","events_url":"https://api.github.com/repos/haskell-works/hw-dsv/issues/47/events","html_url":"https://github.com/haskell-works/hw-dsv/issues/47","id":385054132,"node_id":"MDU6SXNzdWUzODUwNTQxMzI=","number":47,"title":"hw-dsv blows up when attempting to compile","user":{"login":"kozross","id":8463904,"node_id":"MDQ6VXNlcjg0NjM5MDQ=","avatar_url":"https://avatars2.githubusercontent.com/u/8463904?v=4","gravatar_id":"","url":"https://api.github.com/users/kozross","html_url":"https://github.com/kozross","followers_url":"https://api.github.com/users/kozross/followers","following_url":"https://api.github.com/users/kozross/following{/other_user}","gists_url":"https://api.github.com/users/kozross/gists{/gist_id}","starred_url":"https://api.github.com/users/kozross/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kozross/subscriptions","organizations_url":"https://api.github.com/users/kozross/orgs","repos_url":"https://api.github.com/users/kozross/repos","events_url":"https://api.github.com/users/kozross/events{/privacy}","received_events_url":"https://api.github.com/users/kozross/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-11-28T00:59:09Z","updated_at":"2018-11-28T00:59:09Z","closed_at":null,"author_association":"NONE","body":"The error is as follows:\r\n\r\n```\r\nFailed to build hw-dsv-0.3.1.\r\nBuild log (\r\n/home/koz/.cabal/logs/ghc-8.6.2/hw-dsv-0.3.1-a17789adeff1e9f61610dbbb9772a4252b2798baebfc0b69e711310f5300a820.log\r\n):\r\nConfiguring library for hw-dsv-0.3.1..\r\nPreprocessing library for hw-dsv-0.3.1..\r\nBuilding library for hw-dsv-0.3.1..\r\n[ 1 of 13] Compiling HaskellWorks.Data.Dsv.Internal.Bits ( src/HaskellWorks/Data/Dsv/Internal/Bits.hs, dist/build/HaskellWorks/Data/Dsv/Internal/Bits.o )\r\n[ 2 of 13] Compiling HaskellWorks.Data.Dsv.Internal.Broadword ( src/HaskellWorks/Data/Dsv/Internal/Broadword.hs, dist/build/HaskellWorks/Data/Dsv/Internal/Broadword.o )\r\n[ 3 of 13] Compiling HaskellWorks.Data.Dsv.Internal.Char ( src/HaskellWorks/Data/Dsv/Internal/Char.hs, dist/build/HaskellWorks/Data/Dsv/Internal/Char.o )\r\n[ 4 of 13] Compiling HaskellWorks.Data.Dsv.Internal.Char.Word64 ( src/HaskellWorks/Data/Dsv/Internal/Char/Word64.hs, dist/build/HaskellWorks/Data/Dsv/Internal/Char/Word64.o )\r\n[ 5 of 13] Compiling HaskellWorks.Data.Dsv.Internal.Vector ( src/HaskellWorks/Data/Dsv/Internal/Vector.hs, dist/build/HaskellWorks/Data/Dsv/Internal/Vector.o )\r\n[ 6 of 13] Compiling HaskellWorks.Data.Dsv.Lazy.Cursor.Internal ( src/HaskellWorks/Data/Dsv/Lazy/Cursor/Internal.hs, dist/build/HaskellWorks/Data/Dsv/Lazy/Cursor/Internal.o )\r\n[ 7 of 13] Compiling HaskellWorks.Data.Dsv.Lazy.Cursor.Type ( src/HaskellWorks/Data/Dsv/Lazy/Cursor/Type.hs, dist/build/HaskellWorks/Data/Dsv/Lazy/Cursor/Type.o )\r\n[ 8 of 13] Compiling HaskellWorks.Data.Dsv.Lazy.Cursor ( src/HaskellWorks/Data/Dsv/Lazy/Cursor.hs, dist/build/HaskellWorks/Data/Dsv/Lazy/Cursor.o )\r\n[ 9 of 13] Compiling HaskellWorks.Data.Dsv.Strict.Cursor.Type ( src/HaskellWorks/Data/Dsv/Strict/Cursor/Type.hs, dist/build/HaskellWorks/Data/Dsv/Strict/Cursor/Type.o )\r\n[10 of 13] Compiling HaskellWorks.Data.Dsv.Strict.Cursor.Internal.Reference ( src/HaskellWorks/Data/Dsv/Strict/Cursor/Internal/Reference.hs, dist/build/HaskellWorks/Data/Dsv/Strict/Cursor/Internal/Reference.o )\r\n[11 of 13] Compiling HaskellWorks.Data.Dsv.Strict.Cursor.Internal ( src/HaskellWorks/Data/Dsv/Strict/Cursor/Internal.hs, dist/build/HaskellWorks/Data/Dsv/Strict/Cursor/Internal.o )\r\n[12 of 13] Compiling HaskellWorks.Data.Dsv.Strict.Cursor ( src/HaskellWorks/Data/Dsv/Strict/Cursor.hs, dist/build/HaskellWorks/Data/Dsv/Strict/Cursor.o )\r\n[13 of 13] Compiling Paths_hw_dsv     ( dist/build/autogen/Paths_hw_dsv.hs, dist/build/Paths_hw_dsv.o )\r\ncbits/simd.c: In function ‘avx2_cmpeq8’:\r\n\r\ncbits/simd.c:84:24: error:\r\n     error: incompatible types when initializing type ‘__m256’ {aka ‘__vector(8) float’} using type ‘__m256i’ {aka ‘__vector(4) long long int’}\r\n       __m256 v_comparand = _mm256_set1_epi8(byte);\r\n                            ^~~~~~~~~~~~~~~~\r\n   |\r\n84 |   __m256 v_comparand = _mm256_set1_epi8(byte);\r\n   |                        ^\r\n\r\ncbits/simd.c:92:44: error:\r\n     error: incompatible type for argument 1 of ‘_mm256_cmpeq_epi8’\r\n         __m256 v_results_a = _mm256_cmpeq_epi8(v_data_a, v_comparand);\r\n                                                ^~~~~~~~\r\n   |\r\n92 |     __m256 v_results_a = _mm256_cmpeq_epi8(v_data_a, v_comparand);\r\n   |                                            ^\r\nIn file included from /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,\r\n\r\n                 from cbits/simd.c:3:0: error: \r\n\r\n/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:231:28: error:\r\n     note: expected ‘__m256i’ {aka ‘__vector(4) long long int’} but argument is of type ‘__m256’ {aka ‘__vector(8) float’}\r\n     _mm256_cmpeq_epi8 (__m256i __A, __m256i __B)\r\n                        ~~~~~~~~^~~\r\n    |\r\n231 | _mm256_cmpeq_epi8 (__m256i __A, __m256i __B)\r\n    |                            ^\r\n\r\ncbits/simd.c:92:54: error:\r\n     error: incompatible type for argument 2 of ‘_mm256_cmpeq_epi8’\r\n         __m256 v_results_a = _mm256_cmpeq_epi8(v_data_a, v_comparand);\r\n                                                          ^~~~~~~~~~~\r\n   |\r\n92 |     __m256 v_results_a = _mm256_cmpeq_epi8(v_data_a, v_comparand);\r\n   |                                                      ^\r\nIn file included from /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,\r\n\r\n                 from cbits/simd.c:3:0: error: \r\n\r\n/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:231:41: error:\r\n     note: expected ‘__m256i’ {aka ‘__vector(4) long long int’} but argument is of type ‘__m256’ {aka ‘__vector(8) float’}\r\n     _mm256_cmpeq_epi8 (__m256i __A, __m256i __B)\r\n                                     ~~~~~~~~^~~\r\n    |\r\n231 | _mm256_cmpeq_epi8 (__m256i __A, __m256i __B)\r\n    |                                         ^\r\n\r\ncbits/simd.c:93:52: error:\r\n     error: incompatible type for argument 1 of ‘_mm256_movemask_epi8’\r\n         uint32_t mask = (uint32_t)_mm256_movemask_epi8(v_results_a);\r\n                                                        ^~~~~~~~~~~\r\n   |\r\n93 |     uint32_t mask = (uint32_t)_mm256_movemask_epi8(v_results_a);\r\n   |                                                    ^\r\nIn file included from /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,\r\n\r\n                 from cbits/simd.c:3:0: error: \r\n\r\n/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:433:31: error:\r\n     note: expected ‘__m256i’ {aka ‘__vector(4) long long int’} but argument is of type ‘__m256’ {aka ‘__vector(8) float’}\r\n     _mm256_movemask_epi8 (__m256i __A)\r\n                           ~~~~~~~~^~~\r\n    |\r\n433 | _mm256_movemask_epi8 (__m256i __A)\r\n    |                               ^\r\n`gcc' failed in phase `C Compiler'. (Exit code: 1)\r\ncabal: Failed to build hw-dsv-0.3.1 (which is required by\r\ntruth-table-0.1.0.0). See the build log above for details.\r\n```\r\n\r\n``cabal.project`` settings for ``hw-dsv``:\r\n\r\n```\r\npackage hw-dsv\r\n    flags:    +avx2 +sse42 +bmi2\r\n```\r\n\r\nI definitely have the relevant SIMD instructions available:\r\n\r\n```\r\n[koz@Sebastian truth-table]$ cat /proc/cpuinfo | grep -E --only-matching 'sse.*|bmi.*|avx.*|' | head -n 1\r\nsse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx hw_pstate sme ssbd sev ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca\r\n```\r\n"}}
{"actor":{"display_login":"kozross"}}