<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Hi Irfan in Intel® ISA Extensions</title>
    <link>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012772#M4912</link>
    <description>&lt;P&gt;Hi Irfan&lt;/P&gt;

&lt;P&gt;Can you post disasesmbly &amp;nbsp;of the code point where the SIGILL is thrown?&lt;/P&gt;

&lt;P&gt;I suspect compiler error maybe somehow related to the opcodes.&lt;/P&gt;</description>
    <pubDate>Mon, 12 May 2014 18:57:58 GMT</pubDate>
    <dc:creator>Bernard</dc:creator>
    <dc:date>2014-05-12T18:57:58Z</dc:date>
    <item>
      <title>SIGILL on AVX instruction</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012770#M4910</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;I have a very simple test program that I'm using to play around with AVX instruction sets. It works perfectly fine on my MacBook Pro, however, the same piece of code will fire off a SIGILL on my Linux workstation. I check cpuid before invoking the instructions and /proc/cpuinfo is also has the AVX flag set. I'm using clang with the -mavx command line switch. The instructions throwing the exception are any _mm256_xxx ones. I'm not using the FMA instructions. /proc/cpuinfo says I have 12 cores of Intel(R) Xeon(R) CPU E5-1660 0 @ 3.30GHz.&lt;/P&gt;

&lt;P&gt;TIA,&lt;/P&gt;

&lt;P&gt;Irfan.&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2014 18:18:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012770#M4910</guid>
      <dc:creator>Irfan_H_</dc:creator>
      <dc:date>2014-05-12T18:18:42Z</dc:date>
    </item>
    <item>
      <title>is the "xsave" cpuid bit set</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012771#M4911</link>
      <description>&lt;P&gt;is the "xsave" cpuid bit set as well?&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2014 18:53:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012771#M4911</guid>
      <dc:creator>MarkC_Intel</dc:creator>
      <dc:date>2014-05-12T18:53:17Z</dc:date>
    </item>
    <item>
      <title>Hi Irfan</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012772#M4912</link>
      <description>&lt;P&gt;Hi Irfan&lt;/P&gt;

&lt;P&gt;Can you post disasesmbly &amp;nbsp;of the code point where the SIGILL is thrown?&lt;/P&gt;

&lt;P&gt;I suspect compiler error maybe somehow related to the opcodes.&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2014 18:57:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012772#M4912</guid>
      <dc:creator>Bernard</dc:creator>
      <dc:date>2014-05-12T18:57:58Z</dc:date>
    </item>
    <item>
      <title>@Iliya,</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012773#M4913</link>
      <description>&lt;P&gt;@Iliya,&lt;/P&gt;

&lt;P&gt;The following is the smallest piece of code that will throw, and it throws at the vpxor instruction, not that O'm&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .file&amp;nbsp;&amp;nbsp; &amp;nbsp;"asm.cpp"&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.section&amp;nbsp;&amp;nbsp; &amp;nbsp;.text.startup,"ax",@progbits&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.align&amp;nbsp;&amp;nbsp; &amp;nbsp;16, 0x90&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.type&amp;nbsp;&amp;nbsp; &amp;nbsp;__cxx_global_var_init,@function&lt;BR /&gt;
	__cxx_global_var_init:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # @__cxx_global_var_init&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.cfi_startproc&lt;BR /&gt;
	# BB#0:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;pushq&amp;nbsp;&amp;nbsp; &amp;nbsp;%rbp&lt;BR /&gt;
	.Ltmp2:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.cfi_def_cfa_offset 16&lt;BR /&gt;
	.Ltmp3:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.cfi_offset %rbp, -16&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;movq&amp;nbsp;&amp;nbsp; &amp;nbsp;%rsp, %rbp&lt;BR /&gt;
	.Ltmp4:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.cfi_def_cfa_register %rbp&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;subq&amp;nbsp;&amp;nbsp; &amp;nbsp;$16, %rsp&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;leaq&amp;nbsp;&amp;nbsp; &amp;nbsp;_ZStL8__ioinit, %rdi&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;callq&amp;nbsp;&amp;nbsp; &amp;nbsp;_ZNSt8ios_base4InitC1Ev&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;leaq&amp;nbsp;&amp;nbsp; &amp;nbsp;_ZNSt8ios_base4InitD1Ev, %rdi&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;leaq&amp;nbsp;&amp;nbsp; &amp;nbsp;_ZStL8__ioinit, %rsi&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;leaq&amp;nbsp;&amp;nbsp; &amp;nbsp;__dso_handle, %rdx&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;callq&amp;nbsp;&amp;nbsp; &amp;nbsp;__cxa_atexit&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;movl&amp;nbsp;&amp;nbsp; &amp;nbsp;%eax, -4(%rbp)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 4-byte Spill&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;addq&amp;nbsp;&amp;nbsp; &amp;nbsp;$16, %rsp&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;popq&amp;nbsp;&amp;nbsp; &amp;nbsp;%rbp&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;ret&lt;BR /&gt;
	.Ltmp5:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.size&amp;nbsp;&amp;nbsp; &amp;nbsp;__cxx_global_var_init, .Ltmp5-__cxx_global_var_init&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.cfi_endproc&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.text&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.globl&amp;nbsp;&amp;nbsp; &amp;nbsp;main&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.align&amp;nbsp;&amp;nbsp; &amp;nbsp;16, 0x90&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.type&amp;nbsp;&amp;nbsp; &amp;nbsp;main,@function&lt;BR /&gt;
	main:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # @main&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.cfi_startproc&lt;BR /&gt;
	# BB#0:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;pushq&amp;nbsp;&amp;nbsp; &amp;nbsp;%rbp&lt;BR /&gt;
	.Ltmp8:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.cfi_def_cfa_offset 16&lt;BR /&gt;
	.Ltmp9:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.cfi_offset %rbp, -16&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;movq&amp;nbsp;&amp;nbsp; &amp;nbsp;%rsp, %rbp&lt;BR /&gt;
	.Ltmp10:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.cfi_def_cfa_register %rbp&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;andq&amp;nbsp;&amp;nbsp; &amp;nbsp;$-32, %rsp&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;subq&amp;nbsp;&amp;nbsp; &amp;nbsp;$224, %rsp&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;movl&amp;nbsp;&amp;nbsp; &amp;nbsp;$0, %eax&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;movl&amp;nbsp;&amp;nbsp; &amp;nbsp;$0, 92(%rsp)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;vmovaps&amp;nbsp;&amp;nbsp; &amp;nbsp;32(%rsp), %ymm0&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;vmovaps&amp;nbsp;&amp;nbsp; &amp;nbsp;%ymm0, 128(%rsp)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;vmovaps&amp;nbsp;&amp;nbsp; &amp;nbsp;%ymm0, 96(%rsp)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;leaq&amp;nbsp;&amp;nbsp; &amp;nbsp;(%rsp), %rcx&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;vmovaps&amp;nbsp;&amp;nbsp; &amp;nbsp;96(%rsp), %ymm0&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;vmovaps&amp;nbsp;&amp;nbsp; &amp;nbsp;128(%rsp), %ymm1&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;vpxor&amp;nbsp;&amp;nbsp; &amp;nbsp;%ymm0, %ymm1, %ymm0&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;vmovaps&amp;nbsp;&amp;nbsp; &amp;nbsp;%ymm0, 32(%rsp)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;movq&amp;nbsp;&amp;nbsp; &amp;nbsp;%rcx, 200(%rsp)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;vmovaps&amp;nbsp;&amp;nbsp; &amp;nbsp;%ymm0, 160(%rsp)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;movq&amp;nbsp;&amp;nbsp; &amp;nbsp;200(%rsp), %rcx&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;vmovups&amp;nbsp;&amp;nbsp; &amp;nbsp;%ymm0, (%rcx)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;movq&amp;nbsp;&amp;nbsp; &amp;nbsp;%rbp, %rsp&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;popq&amp;nbsp;&amp;nbsp; &amp;nbsp;%rbp&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;vzeroupper&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;ret&lt;BR /&gt;
	.Ltmp11:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.size&amp;nbsp;&amp;nbsp; &amp;nbsp;main, .Ltmp11-main&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.cfi_endproc&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.section&amp;nbsp;&amp;nbsp; &amp;nbsp;.text.startup,"ax",@progbits&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.align&amp;nbsp;&amp;nbsp; &amp;nbsp;16, 0x90&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.type&amp;nbsp;&amp;nbsp; &amp;nbsp;_GLOBAL__I_a,@function&lt;BR /&gt;
	_GLOBAL__I_a:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # @_GLOBAL__I_a&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.cfi_startproc&lt;BR /&gt;
	# BB#0:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;pushq&amp;nbsp;&amp;nbsp; &amp;nbsp;%rbp&lt;BR /&gt;
	.Ltmp14:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.cfi_def_cfa_offset 16&lt;BR /&gt;
	.Ltmp15:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.cfi_offset %rbp, -16&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;movq&amp;nbsp;&amp;nbsp; &amp;nbsp;%rsp, %rbp&lt;BR /&gt;
	.Ltmp16:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.cfi_def_cfa_register %rbp&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;callq&amp;nbsp;&amp;nbsp; &amp;nbsp;__cxx_global_var_init&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;popq&amp;nbsp;&amp;nbsp; &amp;nbsp;%rbp&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;ret&lt;BR /&gt;
	.Ltmp17:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.size&amp;nbsp;&amp;nbsp; &amp;nbsp;_GLOBAL__I_a, .Ltmp17-_GLOBAL__I_a&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.cfi_endproc&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.type&amp;nbsp;&amp;nbsp; &amp;nbsp;_ZStL8__ioinit,@object&amp;nbsp; # @_ZStL8__ioinit&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.local&amp;nbsp;&amp;nbsp; &amp;nbsp;_ZStL8__ioinit&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.comm&amp;nbsp;&amp;nbsp; &amp;nbsp;_ZStL8__ioinit,1,1&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.section&amp;nbsp;&amp;nbsp; &amp;nbsp;.ctors,"aw",@progbits&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.align&amp;nbsp;&amp;nbsp; &amp;nbsp;8&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;.quad&amp;nbsp;&amp;nbsp; &amp;nbsp;_GLOBAL__I_a&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.section&amp;nbsp;&amp;nbsp; &amp;nbsp;".note.GNU-stack","",@progbits&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2014 20:14:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012773#M4913</guid>
      <dc:creator>Irfan_H_</dc:creator>
      <dc:date>2014-05-12T20:14:57Z</dc:date>
    </item>
    <item>
      <title>@Mark,</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012774#M4914</link>
      <description>&lt;P&gt;@Mark,&lt;/P&gt;

&lt;P&gt;Yes, the xsave bit is set on my the box that throws SIGILL. I'm reading up on it now from the reference manual.&lt;/P&gt;

&lt;P&gt;Irfan.&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2014 20:16:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012774#M4914</guid>
      <dc:creator>Irfan_H_</dc:creator>
      <dc:date>2014-05-12T20:16:00Z</dc:date>
    </item>
    <item>
      <title>@Iliya,</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012775#M4915</link>
      <description>&lt;P&gt;@Iliya,&lt;/P&gt;

&lt;P&gt;I've posed the disassembly from the smallest working version of a program that will cause the SIGKILL, but it has gone into moderation. It seems like this instruction is where things go wrong:&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vmovaps&amp;nbsp;&amp;nbsp; &amp;nbsp;32(%rsp), %ymm0&lt;/P&gt;

&lt;P&gt;Either that, or at the instruction further down which is vpxor&amp;nbsp;&amp;nbsp; &amp;nbsp;%ymm0, %ymm1, %ymm0&lt;/P&gt;

&lt;P&gt;I cannot tell precisely which one since I do not have access to a debugger on this machine right now.&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2014 21:08:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012775#M4915</guid>
      <dc:creator>Irfan_H_</dc:creator>
      <dc:date>2014-05-12T21:08:52Z</dc:date>
    </item>
    <item>
      <title>Intel Intrinsics guide tells</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012776#M4916</link>
      <description>&lt;P&gt;Intel Intrinsics guide tells that &lt;SPAN class="sig"&gt;&lt;SPAN class="name"&gt;_mm256_xor_si256 (which translates to vpxor equivalent to that in your disassembly) is an AVX2 intruction, it is not available in AVX. &lt;/SPAN&gt;&lt;/SPAN&gt;There is &lt;SPAN class="sig"&gt;&lt;SPAN class="name"&gt;_mm256_setzero_si256 in AVX (which should also translate to vpxor but with the same register as both source operands). I suspect there is a hardware check that both source operands are the same in AVX, and this causes SIGILL.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2014 05:42:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012776#M4916</guid>
      <dc:creator>andysem</dc:creator>
      <dc:date>2014-05-13T05:42:05Z</dc:date>
    </item>
    <item>
      <title>Quote:Irfan H. wrote:</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012777#M4917</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Irfan H. wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;@Iliya,&lt;/P&gt;

&lt;P&gt;I've posed the disassembly from the smallest working version of a program that will cause the SIGKILL, but it has gone into moderation. It seems like this instruction is where things go wrong:&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vmovaps&amp;nbsp;&amp;nbsp; &amp;nbsp;32(%rsp), %ymm0&lt;/P&gt;

&lt;P&gt;Either that, or at the instruction further down which is vpxor&amp;nbsp;&amp;nbsp; &amp;nbsp;%ymm0, %ymm1, %ymm0&lt;/P&gt;

&lt;P&gt;I cannot tell precisely which one since I do not have access to a debugger on this machine right now.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;It looks like it could be related to stack alignment, rsp might not be 32byte aligned for some reason.&lt;/P&gt;

&lt;P&gt;You could try the compiler args for clang "-mstackrealign -mstack-alignment=16", which generate code for 16byte alignment.&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2014 08:30:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012777#M4917</guid>
      <dc:creator>Christopher_H_</dc:creator>
      <dc:date>2014-05-13T08:30:54Z</dc:date>
    </item>
    <item>
      <title>I think, you receive SIGSEGV</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012778#M4918</link>
      <description>&lt;P&gt;I think, you receive SIGSEGV in case of alignment violation.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2014 15:23:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012778#M4918</guid>
      <dc:creator>andysem</dc:creator>
      <dc:date>2014-05-13T15:23:29Z</dc:date>
    </item>
    <item>
      <title>Quote:andysem wrote:Intel</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012779#M4919</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;andysem wrote:&lt;BR /&gt;Intel Intrinsics guide tells that _mm256_xor_si256 (which translates to vpxor equivalent to that in your disassembly) is an AVX2 intruction, it is not available in AVX. &lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;this is clearly the correct explanation since the Xeon(R) CPU E5-1660 lacks AVX2 support, most probably the MacBook of the OP features AVX2, though, is it right Irfan&amp;nbsp;?&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;andysem wrote:&lt;BR /&gt;There is _mm256_setzero_si256 in AVX &lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;when targeting AVX (/QxAVX) the Intel compiler outputs code such as:&amp;nbsp;&lt;FONT face="Lucida Console" size="4"&gt;&lt;FONT face="Lucida Console" size="4"&gt;vxorps ymm0, ymm0, ymm0&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;but &lt;FONT face="Lucida Console" size="4"&gt;&lt;FONT face="Lucida Console" size="4"&gt;vpxor ymm0, ymm0, ymm0 &lt;/FONT&gt;&lt;/FONT&gt;when targeting AVX2 &amp;nbsp;(/QxCORE-AVX2)&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2014 16:39:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012779#M4919</guid>
      <dc:creator>bronxzv</dc:creator>
      <dc:date>2014-05-13T16:39:00Z</dc:date>
    </item>
    <item>
      <title>It seems that question has</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012780#M4920</link>
      <description>&lt;P&gt;It seems that question has been answered already.&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2014 18:15:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012780#M4920</guid>
      <dc:creator>Bernard</dc:creator>
      <dc:date>2014-05-13T18:15:17Z</dc:date>
    </item>
    <item>
      <title>Thank you everyone! I will</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012781#M4921</link>
      <description>&lt;P&gt;Thank you everyone! I will try these. However, one point I'd like to make is that I used _mm256_xor_ps( ) which in the intrinsics guide is definitely listed as AVX and not AVX2. In addition, my cpuid call on my MacBook (where the exact same code works) clearly states that it does not support AVX2. Could this be due to a compiler issue with clang++?&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Irfan.&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2014 18:27:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012781#M4921</guid>
      <dc:creator>Irfan_H_</dc:creator>
      <dc:date>2014-05-13T18:27:51Z</dc:date>
    </item>
    <item>
      <title>Quote:bronxzv wrote:</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012782#M4922</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;bronxzv wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;STRONG&gt;Quote:&lt;/STRONG&gt;&lt;/P&gt;

&lt;BLOCKQUOTE&gt;&lt;EM&gt;andysem&lt;/EM&gt; wrote:There is _mm256_setzero_si256 in AVX&lt;/BLOCKQUOTE&gt;

&lt;P&gt;when targeting AVX (/QxAVX) the Intel compiler outputs code such as:&amp;nbsp;vxorps ymm0, ymm0, ymm0&lt;/P&gt;

&lt;P&gt;but vpxor ymm0, ymm0, ymm0 when targeting AVX2 &amp;nbsp;(/QxCORE-AVX2)&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;That explains it, thanks. I forgot about vxorps.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Irfan H. wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Thank you everyone! I will try these. However, one point I'd like to make is that I used _mm256_xor_ps( ) which in the intrinsics guide is definitely listed as AVX and not AVX2. In addition, my cpuid call on my MacBook (where the exact same code works) clearly states that it does not support AVX2. Could this be due to a compiler issue with clang++?&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;
	&amp;nbsp;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Yes, _mm256_xor_ps is an AVX intrinsic. You can check disassembly of the binary you're running on MacBook to see that it translates to vxorps. If the compiler translates the intrinsic to vpxor then this is definitely a compiler issue.&lt;/P&gt;

&lt;P&gt;Also, make sure you're not using compiler flags enabling AVX2, such as -mavx2 or -march=core-avx2. -march=native is also discouraged.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 14 May 2014 05:58:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/SIGILL-on-AVX-instruction/m-p/1012782#M4922</guid>
      <dc:creator>andysem</dc:creator>
      <dc:date>2014-05-14T05:58:07Z</dc:date>
    </item>
  </channel>
</rss>

