Files
stgsharp/Math/Intel Intrinsics Guide/files/intrinsicsguide.min.js
T

1 line
26 KiB
JavaScript

var data_js="";var perf2_js="";var intrinsics=new Array();var allothertechs=new Array();var allcats=new Array();var ig_show;var shown=0;var showbuffer;var window_height;var ig_matches=0;var techs=new Array();var othertechs=new Array();var ssetechs=new Array();var avxnewtechs=new Array();var avx512techs=new Array();var amxtechs=new Array();var cats=new Array();var search_text="";var highlighted_token=null;var intrin_height=26;var ig_expand=new Array();var delay_timeout=null;var ig_online_URL="https://software.intel.com/content/www/us/en/docs/intrinsics-guide/";var mode="OFFLINE_MODE";jQuery.support.cors=true;function delay(a,b){if(delay_timeout){clearTimeout(delay_timeout)}delay_timeout=setTimeout(function(){delay_timeout=null;if(a){a.apply(this)}},b)}function searchIntrinsic(e){var b=false;if(techs.length){if($.inArray(e.tech,techs)!=-1||(e.alsoKNC&&$.inArray("KNC",techs)!=-1)){b=true}}if(othertechs.length&&e.tech=="Other"){for(var c=0;c<othertechs.length;c++){if($.inArray(othertechs[c],e.cpuids)!=-1){b=true}}}if(ssetechs.length&&e.tech=="SSE_ALL"){for(var c=0;c<ssetechs.length;c++){if($.inArray(ssetechs[c],e.cpuids)!=-1){b=true}}}if(avxnewtechs.length&&e.tech=="AVX_ALL"){for(var c=0;c<avxnewtechs.length;c++){if($.inArray(avxnewtechs[c],e.cpuids)!=-1){b=true}}}if(avx512techs.length&&e.tech=="AVX_512"){for(var c=0;c<avx512techs.length;c++){if($.inArray(avx512techs[c],e.cpuids)!=-1){b=true}}if($.inArray("AVX512VL",avx512techs)==-1){if($.inArray("AVX512VL",e.cpuids)!=-1){}}}if(amxtechs.length&&e.tech=="AMX"){for(var c=0;c<amxtechs.length;c++){if($.inArray(amxtechs[c],e.cpuids)!=-1){b=true}}}if(techs.length>0||othertechs.length>0||ssetechs.length>0||avxnewtechs.length>0||avx512techs.length>0||amxtechs.length>0){if(!b){return false}}if(cats.length){var f=false;for(var c=0;c<cats.length;c++){if($.inArray(cats[c],e.categories)!=-1){f=true}}if(!f){return false}}if(search_text.length!=0){var a=search_text.split("*");var d=0;var g=0;for(var c=0;c<a.length;c++){g=e._text.indexOf(a[c],d);if(g<0){return false}d=g}}return true}function search(){$("#intrinsics_list").css("min-height","");var b="";search_text=search_text.toLowerCase();if(techs.length==0&&othertechs.length==0&&ssetechs.length==0&&avxnewtechs.length==0&&avx512techs.length==0&&amxtechs.length==0&&cats.length==0&&search_text.length==0){ig_matches=intrinsics.length;shown=0;var a=0;for(var c=0;c<intrinsics.length;c++){var d=intrinsics[c];a++;d.match=true;if(a<ig_show){shown++;d.shown=true;d.newlyshown=true;b+=d._html}else{d.shown=false}}}else{ig_matches=0;shown=0;var a=0;for(var c=0;c<intrinsics.length;c++){var d=intrinsics[c];if(searchIntrinsic(d)){a++;d.match=true;ig_matches++;if(a<ig_show){shown++;d.shown=true;d.newlyshown=true;b+=d._html}else{d.shown=false}}else{d.match=false;d.shown=false}}}document.getElementById("intrinsics_list").innerHTML=b;postProcessHTML();$("#intrinsics_list").css("min-height",(ig_matches*intrin_height)+"px")}function updateHash(h,d){var f="";var j=false;if(window.location.hash!=""){var c=window.location.hash.replace("#","").split("&");for(var g=0;g<c.length;g++){var b=c[g].split("=");var a=b[0];var e=b[1];if(a==h){e=d;j=true}if(e!=""){if(f!=""){f+="&"}f+=a+"="+encodeURIComponent(e)}}}if(!j&&d!=""){if(f!=""){f+="&"}f+=h+"="+encodeURIComponent(d)}f=f.replace(/%2C/g,",");window.location.hash=f}function getHash(d){var b=window.location.hash.replace("#","").split("&");for(var c=0;c<b.length;c++){var a=b[c].split("=");var e=a[0];var f=a[1];if(e==d){return decodeURIComponent(f)}}return""}function parseTechs(a){if(a){if($(a).parent().hasClass("othertech")){$("#techs").find(".Other").find("input").prop("checked",false)}if($(a).parent().hasClass("Other")){$(".othertech").find("input").each(function(){$(this).prop("checked",false)})}if($(a).parent().hasClass("ssetech")){$("#techs").find(".SSE_ALL").find("input").prop("checked",false)}if($(a).parent().hasClass("SSE_ALL")){$(".ssetech").find("input").each(function(){$(this).prop("checked",false)})}if($(a).parent().hasClass("avxnewtech")){$("#techs").find(".AVX_ALL").find("input").prop("checked",false)}if($(a).parent().hasClass("AVX_ALL")){$(".avxnewtech").find("input").each(function(){$(this).prop("checked",false)})}if($(a).parent().hasClass("avx512tech")){$("#techs").find(".AVX_512").find("input").prop("checked",false)}if($(a).parent().hasClass("AVX_512")){$(".avx512tech").find("input").each(function(){$(this).prop("checked",false)})}if($(a).parent().hasClass("amxtech")){$("#techs").find(".AMX").find("input").prop("checked",false)}if($(a).parent().hasClass("AMX")){$(".amxtech").find("input").each(function(){$(this).prop("checked",false)})}}techs.length=0;techs=new Array();$(".tech").find("input").each(function(){if($(this).is(":checked")){var b=$(this).parent().attr("class").replace("tech","").replace(" ","");techs.push(b)}});othertechs.length=0;othertechs=new Array();$(".othertech").find("input").each(function(){if($(this).is(":checked")){var b=$(this).parent().attr("class").replace("othertech","").replace(" ","");othertechs.push(b)}});if(othertechs.length!=0){$(".Other").find("input").prop("indeterminate",true)}else{$(".Other").find("input").prop("indeterminate",false)}ssetechs.length=0;ssetechs=new Array();$(".ssetech").find("input").each(function(){if($(this).is(":checked")){var b=$(this).parent().attr("class").replace("ssetech","").replace(" ","");ssetechs.push(b)}});if(ssetechs.length!=0){$(".SSE_ALL").find("input").prop("indeterminate",true)}else{$(".SSE_ALL").find("input").prop("indeterminate",false)}avxnewtechs.length=0;avxnewtechs=new Array();$(".avxnewtech").find("input").each(function(){if($(this).is(":checked")){var b=$(this).parent().attr("class").replace("avxnewtech","").replace(" ","");avxnewtechs.push(b)}});if(avxnewtechs.length!=0){$(".AVX_ALL").find("input").prop("indeterminate",true)}else{$(".AVX_ALL").find("input").prop("indeterminate",false)}avx512techs.length=0;avx512techs=new Array();$(".avx512tech").find("input").each(function(){if($(this).is(":checked")){var b=$(this).parent().attr("class").replace("avx512tech","").replace(" ","");avx512techs.push(b)}});if(avx512techs.length!=0){$(".AVX_512").find("input").prop("indeterminate",true)}else{$(".AVX_512").find("input").prop("indeterminate",false)}amxtechs.length=0;amxtechs=new Array();$(".amxtech").find("input").each(function(){if($(this).is(":checked")){var b=$(this).parent().attr("class").replace("amxtech","").replace(" ","");amxtechs.push(b)}});if(amxtechs.length!=0){$(".AMX").find("input").prop("indeterminate",true)}else{$(".AMX").find("input").prop("indeterminate",false)}updateHash("techs",techs.join(","));updateHash("othertechs",othertechs.join(","));updateHash("ssetechs",ssetechs.join(","));updateHash("avxnewtechs",avxnewtechs.join(","));updateHash("avx512techs",avx512techs.join(","));updateHash("amxtechs",amxtechs.join(","));search()}function parseCategories(){cats.length=0;cats=new Array();$(".category").find("input").each(function(){if($(this).is(":checked")){var a=$(this).parent().find("span").html();cats.push(a)}});updateHash("cats",cats.join(","));search()}$("#ig_search").focus(function(){var a=$("#ig_search").val();if(a=="Search Intel Intrinsics"){$("#ig_search").css("color","#000000").val("")}});$("#ig_search").blur(function(){var a=$("#ig_search").val();if(a==""){$("#ig_search").css("color","#aaaaaa").val("Search Intel Intrinsics")}});$("#ig_search").on("input",function(){search_text=$("#ig_search").val();updateHash("text",search_text);if(search_text!=""){$("#ig_clear").show();delay(search(),50)}else{$("#ig_clear").hide();search()}});$("#ig_clear").click(function(){search_text="";$("#ig_search").css("color","#aaaaaa").val("Search Intel Intrinsics");$("#ig_clear").hide();var b=$("#ig_search").width();var c=parseInt($("#ig_search").css("padding-left").replace("px",""));var a=30;$("#ig_search").css("padding-left",a+"px");updateHash("text","");search()});$(".tech").find("input").click(function(){parseTechs(this)});$(".ssetech").find("input").click(function(){parseTechs(this)});$(".avxnewtech").find("input").click(function(){parseTechs(this)});$(".avx512tech").find("input").click(function(){parseTechs(this)});$(".amxtech").find("input").click(function(){parseTechs(this)});var othershow_timeout=null;var otherhover_timeout=null;$("#other_techs").hover(function(){if(otherhover_timeout){clearTimeout(otherhover_timeout)}},function(){otherhover_timeout=setTimeout(function(){$("#other_techs").slideUp(200);otherhover_timeout=null},300)});$("#techs").find(".Other").hover(function(){if(otherhover_timeout){clearTimeout(otherhover_timeout)}othershow_timeout=setTimeout(function(){$("#other_techs").slideDown(200);othershow_timeout=null},300)},function(){if(othershow_timeout){clearTimeout(othershow_timeout)}otherhover_timeout=setTimeout(function(){$("#other_techs").slideUp(200);otherhover_timeout=null},300)});var sseshow_timeout=null;var ssehover_timeout=null;$("#sse_techs").hover(function(){if(ssehover_timeout){clearTimeout(ssehover_timeout)}},function(){ssehover_timeout=setTimeout(function(){$("#sse_techs").slideUp(200);ssehover_timeout=null},300)});$("#techs").find(".SSE_ALL").hover(function(){if(ssehover_timeout){clearTimeout(ssehover_timeout)}sseshow_timeout=setTimeout(function(){$("#sse_techs").slideDown(200);sseshow_timeout=null},300)},function(){if(sseshow_timeout){clearTimeout(sseshow_timeout)}ssehover_timeout=setTimeout(function(){$("#sse_techs").slideUp(200);ssehover_timeout=null},300)});var avxnewshow_timeout=null;var avxnewhover_timeout=null;$("#avxnew_techs").hover(function(){if(avxnewhover_timeout){clearTimeout(avxnewhover_timeout)}},function(){avxnewhover_timeout=setTimeout(function(){$("#avxnew_techs").slideUp(200);avxnewhover_timeout=null},300)});$("#techs").find(".AVX_ALL").hover(function(){if(avxnewhover_timeout){clearTimeout(avxnewhover_timeout)}avxnewshow_timeout=setTimeout(function(){$("#avxnew_techs").slideDown(200);avxnewshow_timeout=null},300)},function(){if(avxnewshow_timeout){clearTimeout(avxnewshow_timeout)}avxnewhover_timeout=setTimeout(function(){$("#avxnew_techs").slideUp(200);avxnewhover_timeout=null},300)});var avx512show_timeout=null;var avx512hover_timeout=null;$("#avx512_techs").hover(function(){if(avx512hover_timeout){clearTimeout(avx512hover_timeout)}},function(){avx512hover_timeout=setTimeout(function(){$("#avx512_techs").slideUp(200);avx512hover_timeout=null},300)});$("#techs").find(".AVX_512").hover(function(){if(avx512hover_timeout){clearTimeout(avx512hover_timeout)}avx512show_timeout=setTimeout(function(){$("#avx512_techs").slideDown(200);avx512hover_timeout=null},300)},function(){if(avx512show_timeout){clearTimeout(avx512show_timeout)}avx512hover_timeout=setTimeout(function(){$("#avx512_techs").slideUp(200);avx512hover_timeout=null},300)});var amxshow_timeout=null;var amxhover_timeout=null;$("#amx_techs").hover(function(){if(amxhover_timeout){clearTimeout(amxhover_timeout)}},function(){amxhover_timeout=setTimeout(function(){$("#amx_techs").slideUp(200);amxhover_timeout=null},300)});$("#techs").find(".AMX").hover(function(){if(amxhover_timeout){clearTimeout(amxhover_timeout)}amxshow_timeout=setTimeout(function(){$("#amx_techs").slideDown(200);amxshow_timeout=null},300)},function(){if(amxshow_timeout){clearTimeout(amxshow_timeout)}amxhover_timeout=setTimeout(function(){$("#amx_techs").slideUp(200);amxhover_timeout=null},300)});var popbox_timeout=null;$(".popbox").hover(function(){if(popbox_timeout){clearTimeout(popbox_timeout)}},function(){popbox_timeout=setTimeout(function(){$(".popbox").hide();popbox_timeout=null},300)});function noteOver(){$(".popbox").hide();if(popbox_timeout){clearTimeout(popbox_timeout)}var f=$(this);var b=$(".popbox."+f.attr("note-type"));var g=f.offset();var d=g.top+f.height()+5;var c=g.left+(f.width()/2)-(b.width()/2);b.css({top:d+"px",left:c+"px"}).show();var a=f.text().replace("(v)","");$(".base").html(a)}function noteOut(){popbox_timeout=setTimeout(function(){$(".popbox").hide();popbox_timeout=null},300)}function postProcessHTML(){for(var a=0;a<intrinsics.length;a++){var b=intrinsics[a];if(b.newlyshown){b.newlyshown=false;b.elem=$("#"+b.id);b.elem.find(".signature").click(function(){var e=$(this).parent();var d=e.find(".details");if(d.css("display")=="none"){d.slideDown(200);e.find(".instruction_note").on("mouseover",noteOver);e.find(".instruction_note").on("mouseout",noteOut);ig_expand.push(e.attr("id"));updateHash("ig_expand",ig_expand.join(","))}else{d.slideUp(200);e.find(".instruction_note").off("mouseenter mouseout");var c=ig_expand.indexOf(e.attr("id"));if(c>-1){ig_expand.splice(c,1)}updateHash("ig_expand",ig_expand.join(","))}})}}}function windowScroll(){if($(".intrinsic").length){var f=$(window).scrollTop();var e=$(".intrinsic").last().offset().top;if(f+window_height+showbuffer>e){var a=0;var b="";var c=Math.ceil((f+window_height+showbuffer-e)/intrin_height)+3;$("#intrinsics_list").css("min-height",(ig_matches*intrin_height)+"px");for(var d=0;d<intrinsics.length&&a<c;d++){var g=intrinsics[d];if(g.match&&!g.shown){a++;shown++;g.shown=true;g.newlyshown=true;b+=g._html}}$("#intrinsics_list").append(b);delay(postProcessHTML(),100)}}}$(window).scroll(windowScroll);function windowSize(){window_height=$(window).height();var a=Math.ceil(window_height/intrin_height);ig_show=a*2;showbuffer=a*intrin_height}$(window).resize(function(){windowSize();windowScroll()});function initialPass(a){$(a).find("intrinsic").each(function(){var c=$(this);var b=c.attr("name").toLowerCase();var d;if(b.indexOf("_mm")>=0||b.indexOf("_m_")>=0){d=b.substring(b.indexOf("_",1)+1);if(d.indexOf("mask_")==0||d.indexOf("maskz_")==0||d.indexOf("mask2_")==0||d.indexOf("mask3_")==0||d.indexOf("mmask_")==0){d=d.substring(d.indexOf("_",1)+1)}}else{d=b.substring(b.indexOf("_")+1);if(d.charAt(0)=="_"){d=d.substring(b.indexOf("_")+1)}}c.base=d;intrinsics.push(c)});intrinsics.sort(function(d,c){var e=d.base.localeCompare(c.base);if(e==0){e=d.attr("name").localeCompare(c.attr("name"))}return e})}function renderPass(){var f=getHash("showall")!="";if(f){ig_show=intrinsics.length}var g="";for(s=0;s<intrinsics.length;s++){$intrinsic=intrinsics[s];$intrinsic.header=$intrinsic.find("header").text();var u=$intrinsic.attr("name");var o=$intrinsic.find("instruction");$intrinsic.alsoKNC=false;$intrinsic.tech=$intrinsic.attr("tech").replace(".","_").replace("-","_").replace(" ","_");if($intrinsic.tech.indexOf("/KNC")>=0){$intrinsic.tech=$intrinsic.tech.replace("/KNC","");$intrinsic.alsoKNC=true}$intrinsic.categories=new Array();$intrinsic.find("category").each(function(){var i=$(this).text();$intrinsic.categories.push(i);if($.inArray(i,allcats)==-1){allcats.push(i)}});var d="";$intrinsic.cpuids=new Array();$intrinsic.find("CPUID").each(function(){var A=$(this).text();$intrinsic.cpuids.push(A.replace(".","_").replace("-","_").replace(" ","_").replace("/KNCNI",""));if($intrinsic.tech=="Other"){if(A!="AVX512F"&&A!="AVX512VL"){if($.inArray(A,allothertechs)==-1){allothertechs.push(A)}}}if(A.indexOf("/")>=0){var t=A.split("/");var j=$intrinsic.attr("tech").split("/");A="";for(var l=0;l<t.length;l++){if(A!=""){A+=", "}A+="<span class='cpuid'>"+t[l]+"</span> for "+j[l]}if(d!=""){d+=", "}d+=A}else{if(d!=""){d+=" + "}d+="<span class='cpuid'>"+A+"</span>"}});$intrinsic.cpuid=d;var n="<span class='sig'><span class='rettype'>"+$intrinsic.find("return").attr("type")+"</span> <span class='name'>"+u+"</span> (";var r=0;$intrinsic.find("parameter").each(function(){var j=$(this);if(r>0){n+=", "}n+="<span class='param_type'>"+j.attr("type")+"</span>";var i=j.attr("varname");if(i){n+=" <span class='param_name'>"+i+"</span>"}r++});n+=")</span>";$intrinsic.signature=n;var q=$intrinsic.find("description").first().text();if(q.indexOf("_note]")>0){q=q.replace(/\[round_note\]/g,"<br />Rounding is done according to the \"rounding[3:0]\" parameter, which can be one of:<div class='desc_note'> (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and suppress exceptions\n (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and suppress exceptions\n (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress exceptions\n (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress exceptions\n _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see _MM_SET_ROUNDING_MODE</div>");q=q.replace(/\[sae_note\]/g,'<br />Exceptions can be suppressed by passing "_MM_FROUND_NO_EXC" in the "sae" parameter.');q=q.replace(/\[round_imm_note\]/g,"<br />Rounding is done according to the \"imm8[2:0]\" parameter, which can be one of:<div class='desc_note'> _MM_FROUND_TO_NEAREST_INT // round to nearest\n _MM_FROUND_TO_NEG_INF // round down\n _MM_FROUND_TO_POS_INF // round up\n _MM_FROUND_TO_ZERO // truncate\n _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see _MM_SET_ROUNDING_MODE</div>");q=q.replace(/\[round2_note\]/g,"<br />Rounding is done according to the \"rounding[3:0]\" parameter, which can be one of:<div class='desc_note'> (_MM_FROUND_TO_NEAREST_INT) // round to nearest\n (_MM_FROUND_TO_NEG_INF) // round down\n (_MM_FROUND_TO_POS_INFC) // round up\n (_MM_FROUND_TO_ZERO) // truncate\n _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see _MM_SET_ROUNDING_MODE\n (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and suppress exceptions\n (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and suppress exceptions\n (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress exceptions\n (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress exceptions\n (_MM_FROUND_CUR_DIRECTION |_MM_FROUND_NO_EXC) // use MXCSR.RC and suppress exceptions; see _MM_SET_ROUNDING_MODE</div>");q=q.replace(/\[strcmp_note\]/g,"<br />\"imm\" can be a combination of:<div class='desc_note'> _SIDD_UBYTE_OPS // unsigned 8-bit characters\n _SIDD_UWORD_OPS // unsigned 16-bit characters\n _SIDD_SBYTE_OPS // signed 8-bit characters\n _SIDD_SWORD_OPS // signed 16-bit characters\n _SIDD_CMP_EQUAL_ANY // compare equal any\n _SIDD_CMP_RANGES // compare ranges\n _SIDD_CMP_EQUAL_EACH // compare equal each\n _SIDD_CMP_EQUAL_ORDERED // compare equal ordered\n _SIDD_NEGATIVE_POLARITY // negate results\n _SIDD_MASKED_NEGATIVE_POLARITY // negate results only before end of string\n _SIDD_LEAST_SIGNIFICANT // index only: return last significant bit\n _SIDD_MOST_SIGNIFICANT // index only: return most significant bit\n _SIDD_BIT_MASK // mask only: return bit mask\n _SIDD_UNIT_MASK // mask only: return byte/word mask</div>");q=q.replace(/\[getmant_note\]/g,"<br />The mantissa is normalized to the interval specified by \"interv\", which can take the following values:<div class='desc_note'> _MM_MANT_NORM_1_2 // interval [1, 2)\n _MM_MANT_NORM_p5_2 // interval [0.5, 2)\n _MM_MANT_NORM_p5_1 // interval [0.5, 1)\n _MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)</div>The sign is determined by \"sc\" which can take the following values:<div class='desc_note'> _MM_MANT_SIGN_src // sign = sign(src)\n _MM_MANT_SIGN_zero // sign = 0\n _MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1</div>");q=q.replace(/\[fpclass_note\]/g,"<br />\"imm\" can be a combination of:<div class='desc_note'> 0x01 // QNaN\n 0x02 // Positive Zero\n 0x04 // Negative Zero\n 0x08 // Positive Infinity\n 0x10 // Negative Infinity\n 0x20 // Denormal\n 0x40 // Negative\n 0x80 // SNaN</div>");q=q.replace(/\[max_float_note\]/g,'<br />"dst" does not follow the IEEE Standard for Floating-Point Arithmetic (IEEE 754) maximum value when inputs are NaN or signed-zero values.');q=q.replace(/\[min_float_note\]/g,'<br />"dst" does not follow the IEEE Standard for Floating-Point Arithmetic (IEEE 754) minimum value when inputs are NaN or signed-zero values.')}q=q.replace(/\"([^\"]+)\"/g,"<span class='desc_var $1'>$1</span>");$intrinsic.description=q;var h="";var b=$intrinsic.find("operation");if(b){h=$.trim(b.last().text()).replace(/\\\n/g,"\n")}$intrinsic.instructions=new Array();var v="";var x=0;o.each(function(){if(x==0){v=$(this).attr("name").toLowerCase()}if(x==1){v+=",..."}var i={name:$(this).attr("name").toLowerCase(),form:$(this).attr("form"),xed:$(this).attr("xed")};$intrinsic.instructions.push(i);x++});var e=v;var a="";if($intrinsic.attr("sequence")){v="Sequence";e="...";a="sequence"}$intrinsic.instruction=e;$intrinsic.id=s;var c="<div class='intrinsic "+$intrinsic.tech+"' id='"+$intrinsic.id+"'>";if($intrinsic.alsoKNC){c+="<div class='alsoKNC'></div>"}if(e!=""){c+="<div class='instruction'>"+e+"</div>"}c+="<div class='signature'>"+n+"</div><div class='details'><h1>Synopsis</h1><div class='synopsis'>"+n+"<br />#include &lt;"+$intrinsic.header+"&gt;<br />";if(o.length>0||$intrinsic.attr("sequence")){c+="Instruction: ";var m=0;o.each(function(){if(m>0){c+="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"}if(a!=""){c+="<span class='instruction_note' note-type='"+a+"'>"+$(this).attr("name").toLowerCase()+"</span>"}else{c+=$(this).attr("name").toLowerCase()}if($(this).attr("form")){c+=" "+$(this).attr("form")}c+="<br />";m++});if($intrinsic.attr("sequence")){c+="<span class='instruction_note' note-type='"+a+"'>Sequence</span>";c+="<br />"}}if(d){c+="CPUID Flags: "+d}c+="</div><h1>Description</h1><div class='description'>"+q+"</div>";if(h!=""){c+="<h1>Operation</h1><div class='operation'>"+h+"</div>"}var z=[];if($intrinsic.instructions.length>0){var w=$intrinsic.instructions[0].xed;if(w&&perf2_js[w]){z=z.concat(perf2_js[w])}}if(z.length>0){c+="<br /><h1>Latency and Throughput</h1><table class='performance'><tr><th>Architecture</th><th>Latency</th><th>Throughput (CPI)</th></tr>";for(var r=0;r<z.length;r++){for(var y in z[r]){var p=z[r][y].l;var k=z[r][y].t;if(!p){p="-"}if(!k){k="-"}c+="<tr><td>"+y+"</td><td>"+p+"</td><td>"+k+"</td></tr>"}}c+="</table>"}c+="</div></div>";$intrinsic._html=c;$intrinsic.match=true;$intrinsic.shown=false;$intrinsic.newlyshown=false;if(s<ig_show){g+=c;$intrinsic.shown=true;$intrinsic.newlyshown=true;shown++}}ig_matches=intrinsics.length;document.getElementById("intrinsics_list").innerHTML=g;postProcessHTML();$("#intrinsics_list").css("min-height",($("#intrinsics_list").height()+(ig_matches-shown)*intrin_height)+"px");allothertechs.sort();for(var s=0;s<allothertechs.length;s++){$("#other_techs").append("<div class='"+allothertechs[s].replace(".","_").replace("-","_").replace(" ","_")+" othertech'><input type='checkbox' /> "+allothertechs[s]+"</div>")}allcats.sort();for(var s=0;s<allcats.length;s++){$("#categories").append("<div class='category'><input type='checkbox' /> <span>"+allcats[s]+"</span></div>")}$(".othertech").find("input").click(function(){parseTechs(this)});$(".category").find("input").click(function(){parseCategories()})}function finalPass(){for(d=0;d<intrinsics.length;d++){j=intrinsics[d];j._text=($(j.signature).text()+"\n"+j.header+"\n"+j.instruction+"\n"+$(j.cpuid).text()+"\n"+$("<div>"+j.description+"</div>").text()).toLowerCase()}var l=getHash("text");if(l!=""){$("#ig_search").val(l);$("#ig_search").css("color","#000000");search_text=$("#ig_search").val();$("#ig_clear").show()}var f=getHash("techs");if(f!=""){_techs=f.split(",");$(".tech").each(function(){var i=$(this).attr("class").replace("tech","").replace(" ","");if($.inArray(i,_techs)>=0){$(this).find("input").each(function(){$(this).prop("checked",true)})}})}var h=getHash("ssetechs");if(h!=""){_ssetechs=h.split(",");$(".ssetech").each(function(){var i=$(this).attr("class").replace("ssetech","").replace(" ","");if($.inArray(i,h)>=0){$(this).find("input").each(function(){$(this).prop("checked",true)})}})}var g=getHash("avxnewtechs");if(g!=""){_avxnewtechs=g.split(",");$(".avxnewtech").each(function(){var i=$(this).attr("class").replace("avxnewtech","").replace(" ","");if($.inArray(i,g)>=0){$(this).find("input").each(function(){$(this).prop("checked",true)})}})}var c=getHash("avx512techs");if(c!=""){_avx512techs=c.split(",");$(".avx512tech").each(function(){var i=$(this).attr("class").replace("avx512tech","").replace(" ","");if($.inArray(i,_avx512techs)>=0){$(this).find("input").each(function(){$(this).prop("checked",true)})}})}var e=getHash("amxtechs");if(e!=""){_amxtechs=e.split(",");$(".amxtech").each(function(){var i=$(this).attr("class").replace("amxtech","").replace(" ","");if($.inArray(i,_amxtechs)>=0){$(this).find("input").each(function(){$(this).prop("checked",true)})}})}var a=getHash("othertechs");if(a!=""){_othertechs=a.split(",");$(".othertech").each(function(){var i=$(this).attr("class").replace("othertech","").replace(" ","");if($.inArray(i,_othertechs)>=0){$(this).find("input").each(function(){$(this).prop("checked",true)})}})}parseTechs();var k=getHash("cats");if(k!=""){_cats=k.split(",");$(".category").each(function(){var i=$(this).find("span").html();if($.inArray(i,_cats)>=0){$(this).find("input").each(function(){$(this).prop("checked",true)})}})}parseCategories();var b=getHash("ig_expand");if(b!=""){ig_expand=b.split(",");for(var d=0;d<ig_expand.length;d++){var j=$("#"+ig_expand[d]);j.find(".details").slideDown(200);j.find(".instruction_note").on("mouseover",noteOver);j.find(".instruction_note").on("mouseout",noteOut)}}}$(window).load(function(){$("#other_techs").hide();$("#sse_techs").hide();$("#avxnew_techs").hide();$("#avx512_techs").hide();$("#amx_techs").hide();windowSize();if(mode=="SITE_MODE"){$.ajax({url:"/content/dam/develop/public/us/en/include/intrinsics-guide/data-3-6-5.xml",crossDomain:true,success:function(a){initialPass(a)},complete:function(b,a){if(a=="success"){renderPass();finalPass()}},error:function(a,c,b){if($(".intrinsic").length==0){document.getElementById("intrinsics_list").innerHTML="<p>Something went wrong while loading the site data.</p><p>We are working on a permanent solution. In the meanwhile, try hard-refreshing this page to fix the error or download the <a href='/content/www/us/en/develop/offsite/intrinsics-guide-download.html'>offline Intel® Intrinsics Guide</a>.</p><p>Error: "+c+"</p><p>Exception: "+b+"</p>"}}})}else{if(mode=="OFFLINE_MODE"){if(data_js!=""){$("#ig_info").prepend("<p>Version: "+$(data_js).attr("version")+"</p><p>Last Updated: "+$(data_js).attr("date")+"</p>");initialPass(data_js);renderPass();finalPass()}else{document.getElementById("intrinsics_list").innerHTML="<p>Something went wrong while loading the site data.</p><p>Error: Could not find data_js.</p>"}}else{document.getElementById("intrinsics_list").innerHTML="<p>Something went wrong while loading the site data.</p>"}}});