<?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 Labels in inline asm, error of compilation in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002042#M30522</link>
    <description>&lt;TABLE&gt;
	&lt;TBODY&gt;
		&lt;TR&gt;
			&lt;TD class="votecell"&gt;
				&lt;DIV class="vote"&gt;
					&lt;DIV class="favoritecount"&gt;&amp;nbsp;&lt;/DIV&gt;
				&lt;/DIV&gt;
			&lt;/TD&gt;
			&lt;TD class="postcell"&gt;
				&lt;DIV&gt;
					&lt;DIV class="post-text" itemprop="description"&gt;
						&lt;P&gt;I try to make inline asm in C code for MIC (Intel Xeon Phi). And I have a problem with instruction jknzd.&lt;/P&gt;

						&lt;P&gt;This is a fragment of my code:&lt;/P&gt;

						&lt;PRE class="lang-c prettyprint prettyprinted" style=""&gt;&lt;CODE&gt;&lt;SPAN class="pln"&gt;   &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;float&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;*&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;A &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;float&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;*)&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;_mm_malloc&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;N &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;*&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;sizeof&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;float&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;),&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="lit"&gt;64&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;);&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
   &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;int32_t&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;*&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;Indx&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;int32_t&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;*)&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;_mm_malloc&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;N &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;*&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;sizeof&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;int32_t&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;),&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="lit"&gt;64&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;);&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;

   __m512i idx &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; __cdecl _mm512_load_epi32&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;Indx&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;[&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;i&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;]);&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
   &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;asm&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
          &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"kxnor %%k1, %%k1\n\t"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
          &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"1:"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"vgatherpf0dps (%0, %1, 4){{%%k1}}\n\t"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
          &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"jknzd 1b, %%k1"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
          &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;   
          &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"r"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;A&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;),&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"x"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;idx&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
          &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"%r8d"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"%k1"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
   &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;);&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;  &lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;

						&lt;P&gt;Compiler is icc-13.0.1, options: -mmic -lrt -O3. When I try to compile, I get this message:&lt;/P&gt;

						&lt;BLOCKQUOTE&gt;
							&lt;P&gt;/tmp/icc1XDD1vas_.s: Assembler messages: /tmp/icc1XDD1vas_.s:237: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rz-sae}' /tmp/icc1XDD1vas_.s:250: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:254: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:260: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:263: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:264: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:360: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rz-sae}' /tmp/icc1XDD1vas_.s:373: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:375: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:378: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:383: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:385: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:398: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rz-sae}' /tmp/icc1XDD1vas_.s:402: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:415: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:417: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:421: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:422: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}'&lt;/P&gt;
						&lt;/BLOCKQUOTE&gt;

						&lt;P&gt;If there is a simple jump, like "jmp 1b" it's ok. What am I doing wrong?&lt;/P&gt;
					&lt;/DIV&gt;
				&lt;/DIV&gt;
			&lt;/TD&gt;
		&lt;/TR&gt;
	&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
    <pubDate>Tue, 15 Jul 2014 12:02:23 GMT</pubDate>
    <dc:creator>Elizaveta_G_</dc:creator>
    <dc:date>2014-07-15T12:02:23Z</dc:date>
    <item>
      <title>Labels in inline asm, error of compilation</title>
      <link>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002042#M30522</link>
      <description>&lt;TABLE&gt;
	&lt;TBODY&gt;
		&lt;TR&gt;
			&lt;TD class="votecell"&gt;
				&lt;DIV class="vote"&gt;
					&lt;DIV class="favoritecount"&gt;&amp;nbsp;&lt;/DIV&gt;
				&lt;/DIV&gt;
			&lt;/TD&gt;
			&lt;TD class="postcell"&gt;
				&lt;DIV&gt;
					&lt;DIV class="post-text" itemprop="description"&gt;
						&lt;P&gt;I try to make inline asm in C code for MIC (Intel Xeon Phi). And I have a problem with instruction jknzd.&lt;/P&gt;

						&lt;P&gt;This is a fragment of my code:&lt;/P&gt;

						&lt;PRE class="lang-c prettyprint prettyprinted" style=""&gt;&lt;CODE&gt;&lt;SPAN class="pln"&gt;   &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;float&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;*&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;A &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;float&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;*)&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;_mm_malloc&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;N &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;*&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;sizeof&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;float&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;),&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="lit"&gt;64&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;);&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
   &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;int32_t&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;*&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;Indx&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;int32_t&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;*)&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;_mm_malloc&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;N &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;*&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;sizeof&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;int32_t&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;),&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="lit"&gt;64&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;);&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;

   __m512i idx &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; __cdecl _mm512_load_epi32&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;Indx&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;[&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;i&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;]);&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
   &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;asm&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
          &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"kxnor %%k1, %%k1\n\t"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
          &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"1:"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"vgatherpf0dps (%0, %1, 4){{%%k1}}\n\t"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
          &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"jknzd 1b, %%k1"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
          &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;   
          &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"r"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;A&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;),&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"x"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;idx&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
          &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"%r8d"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"%k1"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
   &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;);&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;  &lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;

						&lt;P&gt;Compiler is icc-13.0.1, options: -mmic -lrt -O3. When I try to compile, I get this message:&lt;/P&gt;

						&lt;BLOCKQUOTE&gt;
							&lt;P&gt;/tmp/icc1XDD1vas_.s: Assembler messages: /tmp/icc1XDD1vas_.s:237: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rz-sae}' /tmp/icc1XDD1vas_.s:250: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:254: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:260: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:263: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:264: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:360: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rz-sae}' /tmp/icc1XDD1vas_.s:373: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:375: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:378: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:383: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:385: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:398: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rz-sae}' /tmp/icc1XDD1vas_.s:402: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:415: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:417: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:421: Error: invalid char '{' beginning operand 1 &lt;CODE&gt;{rn-sae}' /tmp/icc1XDD1vas_.s:422: Error: invalid char '{' beginning operand 1&lt;/CODE&gt;{rn-sae}'&lt;/P&gt;
						&lt;/BLOCKQUOTE&gt;

						&lt;P&gt;If there is a simple jump, like "jmp 1b" it's ok. What am I doing wrong?&lt;/P&gt;
					&lt;/DIV&gt;
				&lt;/DIV&gt;
			&lt;/TD&gt;
		&lt;/TR&gt;
	&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Tue, 15 Jul 2014 12:02:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002042#M30522</guid>
      <dc:creator>Elizaveta_G_</dc:creator>
      <dc:date>2014-07-15T12:02:23Z</dc:date>
    </item>
    <item>
      <title>If you compile with -S you</title>
      <link>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002043#M30523</link>
      <description>&lt;P&gt;If you compile with -S you should then be able to look at the assembler code (and can feed it to the assembler by hand), which may make things more obvious.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jul 2014 12:34:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002043#M30523</guid>
      <dc:creator>James_C_Intel2</dc:creator>
      <dc:date>2014-07-15T12:34:38Z</dc:date>
    </item>
    <item>
      <title>Quote:James Cownie (Intel)</title>
      <link>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002044#M30524</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;James Cownie (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;If you compile with -S you should then be able to look at the assembler code (and can feed it to the assembler by hand), which may make things more obvious.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Thaks for your reply,&amp;nbsp; it was the first thing that I did. I added intrinsic &lt;EM&gt;__cdecl _mm512_prefetch_i32gather_ps(idx, A, 4, _MM_HINT_T0)&lt;/EM&gt; to my code and compiled it with -S option. And after that I added some lines to my asm inline.&lt;/P&gt;

&lt;P&gt;This is a fragment of intrinsic from assembler code (with option -S):&lt;/P&gt;

&lt;P&gt;..B1.45:&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; # Preds ..B1.45 ..B1.44 Latency 21&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vmovdqa32 (%rdx), %zmm0&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; #73.31 c1&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vprefetch1 1024(%rdx)&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; #71.13 c1&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kxnor&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %k1, %k1&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; #74.25 c5&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vprefetch0 128(%rdx)&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;&amp;nbsp; #71.13 c5&lt;BR /&gt;
	&lt;STRONG&gt;..L35:&lt;/STRONG&gt;&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;&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; #74.25&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;vgatherpf0dps (%rsi,%zmm0,4){%k1}&lt;/STRONG&gt;&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; #74.25&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;jknzd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..L35, %k1&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt; # Prob 50%&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; #74.25&lt;/P&gt;

&lt;P&gt;So I just want to understand how to make labels if i use jknzd.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jul 2014 12:59:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002044#M30524</guid>
      <dc:creator>Elizaveta_G_</dc:creator>
      <dc:date>2014-07-15T12:59:00Z</dc:date>
    </item>
    <item>
      <title>That looks different from the</title>
      <link>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002045#M30525</link>
      <description>&lt;P&gt;That looks different from the code I would expect from your asm, in that it has only {%k1} on the vgather op, whereas your quoted asm appears to generate {{%k1}}. Since the complaint from the assembler was about an invalid '{' that might be relevant.&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;I just want to understand how to make labels if i use jknzd&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;I don't think your problem has anything to do with labels... I think it's bad syntax elsewhere.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jul 2014 13:06:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002045#M30525</guid>
      <dc:creator>James_C_Intel2</dc:creator>
      <dc:date>2014-07-15T13:06:37Z</dc:date>
    </item>
    <item>
      <title>Quote:James Cownie (Intel)</title>
      <link>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002046#M30526</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;James Cownie (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;That looks different from the code I would expect from your asm, in that it has only {%k1} on the vgather op, whereas your quoted asm appears to generate {{%k1}}. Since the complaint from the assembler was about an invalid '{' that might be relevant.&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P&gt;I just want to understand how to make labels if i use jknzd&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;I don't think your problem has anything to do with labels... I think it's bad syntax elsewhere.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;I guess in AT&amp;amp;T there must be double {{ with mask. If i compile my inline asm with -S, I get this:&lt;/P&gt;

&lt;P&gt;..B1.45:&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; # Preds ..B1.45 ..B1.44 Latency 9&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vmovdqa32 (%rcx,%r13), %zmm0&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; #73.31 c1&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addq&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $16, %rsi&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;&amp;nbsp;&amp;nbsp; #71.45 c1&lt;BR /&gt;
	# Begin ASM&lt;BR /&gt;
	&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kxnor %k1, %k1&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; 1:vgatherpf0dps (%rdi, %zmm0, 4){%k1}&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; jknzd 1b, %k1&lt;/STRONG&gt;&lt;BR /&gt;
	# End ASM&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;&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; #75.0&lt;/P&gt;

&lt;P&gt;So there is no problem with {{ around k1.&lt;/P&gt;

&lt;P&gt;Yes, I also think that the problem is with syntax. But I think that I use labels (or jknzd) wrong. Because without jknzd everything is alright.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jul 2014 13:17:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002046#M30526</guid>
      <dc:creator>Elizaveta_G_</dc:creator>
      <dc:date>2014-07-15T13:17:00Z</dc:date>
    </item>
    <item>
      <title>This may relate to a known</title>
      <link>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002047#M30527</link>
      <description>&lt;P&gt;This may relate to a known defect in the assembler (and objdump) from an earlier bintuils release (distributed with MPSS 2.1). You noted using an earlier icc 13.0.1 so you may also be using an earlier MPSS 2.1 release.&lt;/P&gt;

&lt;P&gt;There was defect with the assembler distributed in the buntils component in the MPSS 2.1.3126-14 release timeframe where the assembler and objdump did not accept some valid mnemonics used by the compiler.&lt;/P&gt;

&lt;P&gt;From an associated internal defect reported against the compiler (DPD200241496) , the issue reported was described as:&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Inline code fails on native compiler as shown in the following example:&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;

	&lt;P&gt;&lt;EM&gt;$ icc -mmic -c -O1 report2.c&lt;BR /&gt;
		/tmp/icc2eDt1Bas_.s: Assembler messages:&lt;BR /&gt;
		/tmp/icc2eDt1Bas_.s:78: Error: invalid char '{' beginning operand 1 `{rz-sae}'&lt;BR /&gt;
		/tmp/icc2eDt1Bas_.s:91: Error: invalid char '{' beginning operand 1 `{rn-sae}'&lt;BR /&gt;
		/tmp/icc2eDt1Bas_.s:94: Error: invalid char '{' beginning operand 1 `{rn-sae}'&lt;BR /&gt;
		/tmp/icc2eDt1Bas_.s:98: Error: invalid char '{' beginning operand 1 `{rn-sae}'&lt;BR /&gt;
		/tmp/icc2eDt1Bas_.s:104: Error: invalid char '{' beginning operand 1 `{rn-sae}'&lt;BR /&gt;
		/tmp/icc2eDt1Bas_.s:106: Error: invalid char '{' beginning operand 1 `{rn-sae}'&lt;BR /&gt;
		The customer goes on to say:&amp;nbsp; I believe this has something to do with the use of global labels in the inline assembly.&amp;nbsp; If they are replaced by local labels then the problem disappears.&lt;/EM&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;The compiler developers identified the issue as one with the assembler and objdump and filed an internal defect (HSD# 4117584) (against binutils) where the summary was:&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P&gt;&lt;EM&gt;According to the KNC EAS, the assembler mnemonics for Static Rounding Mode and Suppress All Exceptions (SAE) should be:&lt;BR /&gt;
		&amp;nbsp; Round To Nearest (even) with SAE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , {rn-sae}&lt;BR /&gt;
		&amp;nbsp; Round Down (-INF) with SAE&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; , {rd-sae}&lt;BR /&gt;
		&amp;nbsp; Round Up (+INF) with SAE&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; , {ru-sae}&lt;BR /&gt;
		&amp;nbsp; Round Toward Zero with SAE&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; , {rz-sae}&lt;BR /&gt;
		&amp;nbsp; SAE&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; , {sae}&lt;BR /&gt;
		However, the assembler and objdump do not accept such mnemonics. Instead, they accept something like this: {rn}{sae}, which does not correspond to the EAS.&lt;/EM&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;This defect was fixed in the assembler and objdump in a later MPSS release. According to the internal defect (HSD# 4117584) this was fixed in after the MPSS version 2.1.5889-14.&lt;/P&gt;

&lt;P&gt;I believe these internal reports relate to John’s post &lt;A href="https://software.intel.com/en-us/forums/topic/401328#comment-1743294" target="_blank"&gt;here &lt;/A&gt;where he offers a sed script to repair the affected assembly.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jul 2014 17:00:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002047#M30527</guid>
      <dc:creator>Kevin_D_Intel</dc:creator>
      <dc:date>2014-07-15T17:00:00Z</dc:date>
    </item>
    <item>
      <title>Kevin Davis, Thank you very</title>
      <link>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002048#M30528</link>
      <description>&lt;P&gt;&lt;A href="https://software.intel.com/en-us/user/335686"&gt;Kevin Davis, &lt;/A&gt;&lt;SPAN lang="en"&gt;&lt;SPAN class="hps"&gt;Thank you very much&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;for such a&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;detailed reply! &lt;/SPAN&gt;&lt;/SPAN&gt;I've used the script and everything compiles now.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Jul 2014 09:49:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002048#M30528</guid>
      <dc:creator>Elizaveta_G_</dc:creator>
      <dc:date>2014-07-16T09:49:59Z</dc:date>
    </item>
    <item>
      <title>Excellent!  I am really happy</title>
      <link>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002049#M30529</link>
      <description>&lt;P&gt;Excellent!&amp;nbsp; I am really happy to hear that helped.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Jul 2014 09:55:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Labels-in-inline-asm-error-of-compilation/m-p/1002049#M30529</guid>
      <dc:creator>Kevin_D_Intel</dc:creator>
      <dc:date>2014-07-16T09:55:57Z</dc:date>
    </item>
  </channel>
</rss>

