Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' during 'Generate code'  #68536

Description

@kunalspathak

Antigen tried reducing it but at one point, it was too slow to reduce. Hopefully it won't be that bad to reduce the test to smaller repro.

// Found by AntigenusingSystem;usingSystem.Collections.Generic;usingSystem.Runtime.CompilerServices;publicclassTestClass{publicstructS1{publicsbytesbyte_0;publiculongulong_1;}publicstructS2{publicstructS2_D1_F1{publicuintuint_2;publicfloatfloat_3;publicuintuint_4;}}staticbools_bool_5=false;staticbytes_byte_6=1;staticchars_char_7='D';staticdecimals_decimal_8=0.0833333333333333333333333333m;staticdoubles_double_9=4;staticshorts_short_10=4;staticints_int_11=0;staticlongs_long_12=5;staticsbytes_sbyte_13=7;staticfloats_float_14=1.1f;staticstrings_string_15="5E049";staticushorts_ushort_16=2;staticuints_uint_17=69;staticulongs_ulong_18=69;staticS1s_s1_19=newS1();staticS2.S2_D1_F1s_s2_s2_d1_f1_20=newS2.S2_D1_F1();staticS2s_s2_21=newS2();boolbool_22=true;bytebyte_23=5;charchar_24='E';decimaldecimal_25=2.0449438202247191011235955056m;doubledouble_26=1.1666666666666667;shortshort_27=5;intint_28=2;longlong_29=2;sbytesbyte_30=5;floatfloat_31=-1.882353f;stringstring_32="J0O3C";ushortushort_33=2;uintuint_34=2;ulongulong_35=1;S1s1_36=newS1();S2.S2_D1_F1s2_s2_d1_f1_37=newS2.S2_D1_F1();S2s2_38=newS2();staticints_loopInvariant=9;privatestaticList<string>toPrint=newList<string>();[MethodImpl(MethodImplOptions.NoInlining)]publicboolLeafMethod0(){unchecked{return((bool)(((bool)(bool_22=((bool)(s_bool_5=((bool)(s_s2_s2_d1_f1_20.float_3==s_s2_s2_d1_f1_20.float_3))))))||((bool)(((ushort)(s_ushort_16/((ushort)((((ushort)(ushort_33^=s_ushort_16)))+19))))==((ushort)(((ushort)(ushort_33-ushort_33))+((ushort)(ushort_33%((ushort)((ushort_33)+5))))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicbyteLeafMethod1(){unchecked{return((byte)(((byte)(s_byte_6&=((byte)(byte_23^=((byte)(s_byte_6%((byte)((byte_23)+42))))))))+((byte)(((byte)(((byte)(s_byte_6-=s_byte_6))*byte_23))+((byte)(((byte)(byte_23+s_byte_6))-((byte)(s_byte_6+byte_23))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicdecimalLeafMethod3(){unchecked{returndecimal_25;}}[MethodImpl(MethodImplOptions.NoInlining)]publicdoubleLeafMethod4(){unchecked{return((double)(s_double_9%((double)((((double)(s_double_9/=((double)((s_double_9)+84)))))+3))));}}publicshortLeafMethod5(){unchecked{return((short)(short_27*((short)(((short)(((short)(short_27<<=s_int_11))>>int_28))>>((int)(int_28+((int)(s_int_11<<4))))))));}}publicintLeafMethod6(){unchecked{return((int)(int_28-=int_28));}}[MethodImpl(MethodImplOptions.NoInlining)]publiclongLeafMethod7(){unchecked{return((long)(((long)(((long)(long_29%((long)((((long)(long_29+s_long_12)))+72))))&((long)(long_29-=s_long_12))))&((long)(((long)(((long)(s_long_12*long_29))-((long)(s_long_12+s_long_12))))&((long)(((long)(long_29+s_long_12))&s_long_12))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicsbyteLeafMethod8(){unchecked{return((sbyte)(sbyte_30>>=((int)(s_int_11=((int)(((int)(int_28&=LeafMethod6()))|int_28))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicfloatLeafMethod9(){unchecked{return((float)(((float)(((float)(((float)(s2_s2_d1_f1_37.float_3%((float)((float_31)+94))))-((float)(s_float_14+s_s2_s2_d1_f1_20.float_3))))/((float)((((float)(((float)(s_float_14-s_s2_s2_d1_f1_20.float_3))-((float)(float_31+4.02439f)))))+38))))%((float)((float_31)+29))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicushortLeafMethod11(){unchecked{return((ushort)(((ushort)(((ushort)(ushort_33|=((ushort)(2-ushort_33))))-((ushort)(((ushort)(ushort_33-ushort_33))&((ushort)(ushort_33/((ushort)((s_ushort_16)+24))))))))/((ushort)((((ushort)(((ushort)(((ushort)(s_ushort_16+=s_ushort_16))*((ushort)(s_ushort_16-ushort_33))))/((ushort)((((ushort)(s_ushort_16+s_ushort_16)))+37)))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicuintLeafMethod12(){unchecked{return((uint)(((uint)(s2_s2_d1_f1_37.uint_4=s_s2_s2_d1_f1_20.uint_2))+((uint)(((uint)(((uint)(s2_s2_d1_f1_37.uint_2|s_s2_s2_d1_f1_20.uint_2))^((uint)(s_s2_s2_d1_f1_20.uint_4*s2_s2_d1_f1_37.uint_4))))+((uint)(s_uint_17-s_s2_s2_d1_f1_20.uint_2))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publiculongLeafMethod13(){unchecked{return((ulong)(((ulong)(((ulong)(((ulong)(ulong_35-s_ulong_18))-((ulong)(s1_36.ulong_1%((ulong)((s1_36.ulong_1)+49))))))-((ulong)(((ulong)(s1_36.ulong_1|s_ulong_18))-((ulong)(s1_36.ulong_1&5))))))/((ulong)((((ulong)(2*((ulong)(((ulong)(s1_36.ulong_1+s_ulong_18))+((ulong)(s_ulong_18/=((ulong)((s_s1_19.ulong_1)+40)))))))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicS1LeafMethod14(){unchecked{returns1_36;}}publicS2.S2_D1_F1LeafMethod15(){unchecked{returns_s2_s2_d1_f1_20;}}[MethodImpl(MethodImplOptions.NoInlining)]publicS2LeafMethod16(){unchecked{returns_s2_21;}}publiculongMethod1(longp_long_39,outbytep_byte_40,intp_int_41,S2.S2_D1_F1p_s2_s2_d1_f1_42,longp_long_43){unchecked{boolbool_44=true;bytebyte_45=1;charchar_46='3';decimaldecimal_47=1m;doubledouble_48=0.020618556701030927;shortshort_49=2;intint_50=-2;longlong_51=2;sbytesbyte_52=2;floatfloat_53=2f;stringstring_54="5";ushortushort_55=2;uintuint_56=5;ulongulong_57=4;S1s1_58=newS1();S2.S2_D1_F1s2_s2_d1_f1_59=newS2.S2_D1_F1();S2.S2_D1_F1s2_s2_d1_f1_60=s2_s2_d1_f1_59;S2s2_61=newS2();p_byte_40=((byte)(((byte)(byte_45%=((byte)((((byte)(((byte)(LeafMethod1()-byte_23))+((byte)(byte_23^=s_byte_6)))))+23))))^((byte)(byte_23%((byte)((((byte)(s_byte_6+=((byte)(s_byte_6&LeafMethod1())))))+18))))));return((ulong)(((ulong)(((ulong)(s1_36.ulong_1<<=s_int_11))%((ulong)((s1_36.ulong_1)+16))))-s1_36.ulong_1));}}publicS2Method4(outS1p_s1_110,outdoublep_double_111,S1p_s1_112){unchecked{boolbool_113=false;bytebyte_114=5;charchar_115='1';decimaldecimal_116=2.0512820512820512820512820513m;doubledouble_117=-0.9487179487179487;shortshort_118=0;intint_119=-2;longlong_120=5;sbytesbyte_121=0;floatfloat_122=2.0555556f;stringstring_123="WVOC35BP";ushortushort_124=1;uintuint_125=2;ulongulong_126=69;S1s1_127=newS1();S2.S2_D1_F1s2_s2_d1_f1_128=newS2.S2_D1_F1();S2s2_129=newS2();S2s2_130=s2_129;p_s1_110=s1_36;p_double_111=((double)(s_double_9-=((double)(double_26=((double)(((double)(LeafMethod4()%((double)((s_double_9)+95))))/((double)((LeafMethod4())+79))))))));if(s_bool_5){int__loopvar4=s_loopInvariant;for(;int_28<(((int)(s_int_11|=((int)(s_int_11-=((int)(((int)(int_28-5))<<int_28)))))));int_28++){if(__loopvar4>s_loopInvariant+3)break;int__loopvar1=s_loopInvariant;int__loopvar2=s_loopInvariant;ulong_35>>=((int)(s_int_11+=((int)(((int)(s_int_11|=int_28))|((int)(((int)(int_119%((int)((int_119)+16))))<<((int)(s_int_11*int_119))))))));decimal_116+=((decimal)(s_decimal_8%=((decimal)((s_decimal_8)+87))));LeafMethod14();int__loopvar3=s_loopInvariant-6;switch(((long)(((long)(long_29<<=((int)(int_28-=((int)(int_28>>=LeafMethod6()))))))^((long)(long_120+long_120))))){case69:{s_uint_17^=((uint)(uint_34>>=((int)(((int)(int_28|=((int)(int_28%((int)((s_int_11)+72))))))-((int)(69/((int)((((int)(LeafMethod6()>>LeafMethod6())))+55))))))));s_decimal_8+=((decimal)(LeafMethod3()%((decimal)((((decimal)(((decimal)(((decimal)(decimal_25/=((decimal)((LeafMethod3())+23))))*((decimal)(LeafMethod3()/((decimal)((decimal_116)+36))))))*((decimal)(decimal_25=LeafMethod3())))))+64))));Method1(-1,outbyte_23,((int)(((int)(((int)(LeafMethod6()*LeafMethod6()))%((int)((((int)(int_119&LeafMethod6())))+53))))/((int)((int_28)+24)))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120-LeafMethod7()))^s_long_12))+long_29)));ulong_126=((ulong)(((ulong)(((ulong)(((ulong)(s_s1_19.ulong_1-=s_ulong_18))&((ulong)(s1_36.ulong_1|ulong_35))))+((ulong)(((ulong)(LeafMethod13()*1))%((ulong)((s_ulong_18)+6))))))^ulong_35));break;}default:{LeafMethod8();break;}}}LeafMethod7();shortshort_132=((short)(((short)(short_27-=((short)(s_short_10+-1))))*((short)(short_118>>((int)(((int)(-1>>int_28))%((int)((s_int_11)+37))))))));Log("short_132",short_132);}else{s1_36.ulong_1|=((ulong)(s1_127.ulong_1*=2));s_uint_17|=((uint)(s_s2_s2_d1_f1_20.uint_4|=s2_s2_d1_f1_37.uint_2));longlong_133=LeafMethod7();int_28<<=((int)(((int)(((int)(((int)(int_119+LeafMethod6()))*LeafMethod6()))>>int_119))^((int)(((int)(int_119+=((int)(int_119|=s_int_11))))*((int)(int_119*((int)(s_int_11<<int_119))))))));p_double_111=((double)(double_117+((double)(((double)(s_double_9*=((double)(s_double_9+p_double_111))))*((double)(((double)(s_double_9+double_26))/((double)((((double)(p_double_111*=p_double_111)))+75))))))));int__loopvar6=s_loopInvariant;for(;(__loopvar6!=s_loopInvariant+12);){if(((bool)(((int)(int_28=((int)(((int)(s_int_11=5))&((int)(int_28*s_int_11))))))>((int)(((int)(int_119%=((int)((((int)(5%((int)((s_int_11)+45)))))+30))))<<int_28))))){s_decimal_8*=((decimal)(LeafMethod3()+((decimal)(((decimal)(LeafMethod3()%((decimal)((((decimal)(LeafMethod3()%((decimal)((decimal_25)+6)))))+55))))/((decimal)((((decimal)(((decimal)(69.010101010101010101010101010m+decimal_25))-((decimal)(s_decimal_8+decimal_116)))))+99))))));boolbool_135=bool_113;}else{s2_s2_d1_f1_37.uint_2=((uint)(s_uint_17=LeafMethod12()));s_byte_6>>=((int)(((int)(((int)(s_int_11&((int)(LeafMethod6()|s_int_11))))*LeafMethod6()))<<((int)(((int)(s_int_11=LeafMethod6()))%((int)((((int)(((int)(LeafMethod6()%((int)((s_int_11)+13))))%((int)((LeafMethod6())+42)))))+68))))));LeafMethod15();}if(LeafMethod0()){s_s1_19.sbyte_0/=((sbyte)((((sbyte)(sbyte_121=((sbyte)(((sbyte)(((sbyte)(sbyte_121>>int_28))*((sbyte)(s_s1_19.sbyte_0%((sbyte)((LeafMethod8())+6))))))-((sbyte)(sbyte_30>>=((int)(s_int_11<<s_int_11)))))))))+25));int_119=((int)(((int)(int_119&=((int)(s_int_11=((int)(int_28>>=int_28))))))>>((int)(s_int_11/=((int)((((int)(((int)(5^LeafMethod6()))*((int)(LeafMethod6()^int_28)))))+93))))));Method1(((long)(long_29+((long)(((long)(LeafMethod7()^LeafMethod7()))>>((int)(int_28*s_int_11)))))),outbyte_23,((int)(((int)(((int)(int_28/((int)((int_119)+78))))|((int)(int_119^69))))<<((int)(((int)(int_28|=s_int_11))*int_119)))),s2_s2_d1_f1_37,((long)(long_133>>((int)(((int)(int_119>>s_int_11))|s_int_11)))));}else{s_int_11^=((int)(((int)(int_28^=((int)(((int)(int_119%((int)((int_28)+97))))+-1))))/((int)((((int)(LeafMethod6()/((int)((((int)(((int)(int_28+=LeafMethod6()))>>((int)(s_int_11%((int)((LeafMethod6())+96)))))))+87)))))+1))));long_29/=((long)((((long)(long_29*=((long)(LeafMethod7()%((long)((((long)(s_long_12^=((long)(long_133/=((long)((long_120)+82)))))))+89)))))))+25));p_double_111-=((double)(LeafMethod4()+((double)(double_26%=((double)((((double)(s_double_9%=((double)((LeafMethod4())+42)))))+61))))));decimal_116-=((decimal)(((decimal)(((decimal)(decimal_116+=((decimal)(s_decimal_8+decimal_116))))+((decimal)(((decimal)(LeafMethod3()-LeafMethod3()))-((decimal)(s_decimal_8*decimal_116))))))/((decimal)((decimal_116)+10))));LeafMethod14();}s_long_12<<=((int)(int_119/=((int)((LeafMethod6())+22))));s_ushort_16-=((ushort)(ushort_33<<=((int)(int_28^=((int)(s_int_11=int_119))))));s_ushort_16|=((ushort)(((ushort)(((ushort)(((ushort)(LeafMethod11()+ushort_33))+((ushort)(s_ushort_16/((ushort)((LeafMethod11())+45))))))|((ushort)(((ushort)(s_ushort_16+ushort_33))%((ushort)((((ushort)(ushort_33-ushort_33)))+79))))))*LeafMethod11()));LeafMethod14();double_26=((double)(LeafMethod4()%((double)((((double)(((double)(p_double_111+=((double)(double_26+LeafMethod4()))))-double_26)))+36))));int__loopvar5=s_loopInvariant+6,__loopSecondaryVar5_0=s_loopInvariant;}}LeafMethod16();Method1(long_29,outbyte_23,((int)(((int)(((int)(s_int_11<<LeafMethod6()))<<int_119))^((int)(((int)(LeafMethod6()+int_119))^((int)(s_int_11%((int)((s_int_11)+32)))))))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120%((long)((s_long_12)+4))))|long_120))%((long)((((long)(s_long_12&=long_29)))+34)))));Log("p_s1_112",p_s1_112);Log("bool_113",bool_113);Log("p_double_1",p_double_111);Log("string_123",string_123);Log("ushort_124",ushort_124);Log("ulong_126",ulong_126);Log("s2_s2_d1_f",s2_s2_d1_f1_128);Log("s2_130",s2_130);returns2_129;}}publicvoidMethod0(){unchecked{boolbool_136=true;bytebyte_137=126;charchar_138='H';decimaldecimal_139=-0.9545454545454545454545454545m;doubledouble_140=-1.9733333333333334;shortshort_141=0;intint_142=5;longlong_143=5;sbytesbyte_144=-1;floatfloat_145=4.0163937f;stringstring_146="CINM6";ushortushort_147=69;uintuint_148=1;ulongulong_149=4;S1s1_150=newS1();S1s1_151=s1_150;S2.S2_D1_F1s2_s2_d1_f1_152=newS2.S2_D1_F1();S2s2_153=newS2();if(((bool)(s_bool_5=((bool)(bool_22=((bool)(((bool)(LeafMethod1()<=byte_23))||((bool)(LeafMethod7()<=LeafMethod7()))))))))){}else{int__loopvar5=s_loopInvariant;}int__loopvar7=s_loopInvariant;s2_153=Method4(outs1_150,outdouble_140,s1_36);Log("s1_151.ulo",s1_151.ulong_1);Log("s2_153",s2_153);return;}}publicstaticvoidMain(string[]args){newTestClass().Method0();PrintLog();}[MethodImpl(MethodImplOptions.NoInlining)]publicstaticvoidLog(stringvarName,objectvarValue){toPrint.Add($"{varName}={varValue}");}publicstaticvoidPrintLog(){foreach(varentryintoPrint){Console.WriteLine(entry);}}}/*Environment:set COMPlus_TieredCompilation=1set COMPlus_TC_OnStackReplacement_InitialCounter=1set COMPlus_AltJitName=clrjit_universal_arm64_x64.dllset COMPlus_AltJit=Method4Assert failure(PID 31608 [0x00007b78], Thread: 30564 [0x7764]): Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' in 'TestClass:Method4(byref,byref,S1):S2:this' during 'Generate code' (IL size 2675; hash 0x97446e08; Tier1-OSR) File: D:\git\dotnet-runtime\src\coreclr\jit\emitarm64.cpp Line: 5645 Image: d:\git\dotnet-runtime\artifacts\tests\coreclr\windows.x64.Checked\tests\Core_Root\CoreRun.exe*/

Metadata

Metadata

Assignees

Labels

arch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
     blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
    }
    } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
    })();
    (function(){
    try {
    var __m = "github.com";
    var __re = new RegExp('^' + "github\\.com" + '
    
    Skip to content

    Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' during 'Generate code'  #68536

    Description

    @kunalspathak

    Antigen tried reducing it but at one point, it was too slow to reduce. Hopefully it won't be that bad to reduce the test to smaller repro.

    // Found by AntigenusingSystem;usingSystem.Collections.Generic;usingSystem.Runtime.CompilerServices;publicclassTestClass{publicstructS1{publicsbytesbyte_0;publiculongulong_1;}publicstructS2{publicstructS2_D1_F1{publicuintuint_2;publicfloatfloat_3;publicuintuint_4;}}staticbools_bool_5=false;staticbytes_byte_6=1;staticchars_char_7='D';staticdecimals_decimal_8=0.0833333333333333333333333333m;staticdoubles_double_9=4;staticshorts_short_10=4;staticints_int_11=0;staticlongs_long_12=5;staticsbytes_sbyte_13=7;staticfloats_float_14=1.1f;staticstrings_string_15="5E049";staticushorts_ushort_16=2;staticuints_uint_17=69;staticulongs_ulong_18=69;staticS1s_s1_19=newS1();staticS2.S2_D1_F1s_s2_s2_d1_f1_20=newS2.S2_D1_F1();staticS2s_s2_21=newS2();boolbool_22=true;bytebyte_23=5;charchar_24='E';decimaldecimal_25=2.0449438202247191011235955056m;doubledouble_26=1.1666666666666667;shortshort_27=5;intint_28=2;longlong_29=2;sbytesbyte_30=5;floatfloat_31=-1.882353f;stringstring_32="J0O3C";ushortushort_33=2;uintuint_34=2;ulongulong_35=1;S1s1_36=newS1();S2.S2_D1_F1s2_s2_d1_f1_37=newS2.S2_D1_F1();S2s2_38=newS2();staticints_loopInvariant=9;privatestaticList<string>toPrint=newList<string>();[MethodImpl(MethodImplOptions.NoInlining)]publicboolLeafMethod0(){unchecked{return((bool)(((bool)(bool_22=((bool)(s_bool_5=((bool)(s_s2_s2_d1_f1_20.float_3==s_s2_s2_d1_f1_20.float_3))))))||((bool)(((ushort)(s_ushort_16/((ushort)((((ushort)(ushort_33^=s_ushort_16)))+19))))==((ushort)(((ushort)(ushort_33-ushort_33))+((ushort)(ushort_33%((ushort)((ushort_33)+5))))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicbyteLeafMethod1(){unchecked{return((byte)(((byte)(s_byte_6&=((byte)(byte_23^=((byte)(s_byte_6%((byte)((byte_23)+42))))))))+((byte)(((byte)(((byte)(s_byte_6-=s_byte_6))*byte_23))+((byte)(((byte)(byte_23+s_byte_6))-((byte)(s_byte_6+byte_23))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicdecimalLeafMethod3(){unchecked{returndecimal_25;}}[MethodImpl(MethodImplOptions.NoInlining)]publicdoubleLeafMethod4(){unchecked{return((double)(s_double_9%((double)((((double)(s_double_9/=((double)((s_double_9)+84)))))+3))));}}publicshortLeafMethod5(){unchecked{return((short)(short_27*((short)(((short)(((short)(short_27<<=s_int_11))>>int_28))>>((int)(int_28+((int)(s_int_11<<4))))))));}}publicintLeafMethod6(){unchecked{return((int)(int_28-=int_28));}}[MethodImpl(MethodImplOptions.NoInlining)]publiclongLeafMethod7(){unchecked{return((long)(((long)(((long)(long_29%((long)((((long)(long_29+s_long_12)))+72))))&((long)(long_29-=s_long_12))))&((long)(((long)(((long)(s_long_12*long_29))-((long)(s_long_12+s_long_12))))&((long)(((long)(long_29+s_long_12))&s_long_12))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicsbyteLeafMethod8(){unchecked{return((sbyte)(sbyte_30>>=((int)(s_int_11=((int)(((int)(int_28&=LeafMethod6()))|int_28))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicfloatLeafMethod9(){unchecked{return((float)(((float)(((float)(((float)(s2_s2_d1_f1_37.float_3%((float)((float_31)+94))))-((float)(s_float_14+s_s2_s2_d1_f1_20.float_3))))/((float)((((float)(((float)(s_float_14-s_s2_s2_d1_f1_20.float_3))-((float)(float_31+4.02439f)))))+38))))%((float)((float_31)+29))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicushortLeafMethod11(){unchecked{return((ushort)(((ushort)(((ushort)(ushort_33|=((ushort)(2-ushort_33))))-((ushort)(((ushort)(ushort_33-ushort_33))&((ushort)(ushort_33/((ushort)((s_ushort_16)+24))))))))/((ushort)((((ushort)(((ushort)(((ushort)(s_ushort_16+=s_ushort_16))*((ushort)(s_ushort_16-ushort_33))))/((ushort)((((ushort)(s_ushort_16+s_ushort_16)))+37)))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicuintLeafMethod12(){unchecked{return((uint)(((uint)(s2_s2_d1_f1_37.uint_4=s_s2_s2_d1_f1_20.uint_2))+((uint)(((uint)(((uint)(s2_s2_d1_f1_37.uint_2|s_s2_s2_d1_f1_20.uint_2))^((uint)(s_s2_s2_d1_f1_20.uint_4*s2_s2_d1_f1_37.uint_4))))+((uint)(s_uint_17-s_s2_s2_d1_f1_20.uint_2))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publiculongLeafMethod13(){unchecked{return((ulong)(((ulong)(((ulong)(((ulong)(ulong_35-s_ulong_18))-((ulong)(s1_36.ulong_1%((ulong)((s1_36.ulong_1)+49))))))-((ulong)(((ulong)(s1_36.ulong_1|s_ulong_18))-((ulong)(s1_36.ulong_1&5))))))/((ulong)((((ulong)(2*((ulong)(((ulong)(s1_36.ulong_1+s_ulong_18))+((ulong)(s_ulong_18/=((ulong)((s_s1_19.ulong_1)+40)))))))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicS1LeafMethod14(){unchecked{returns1_36;}}publicS2.S2_D1_F1LeafMethod15(){unchecked{returns_s2_s2_d1_f1_20;}}[MethodImpl(MethodImplOptions.NoInlining)]publicS2LeafMethod16(){unchecked{returns_s2_21;}}publiculongMethod1(longp_long_39,outbytep_byte_40,intp_int_41,S2.S2_D1_F1p_s2_s2_d1_f1_42,longp_long_43){unchecked{boolbool_44=true;bytebyte_45=1;charchar_46='3';decimaldecimal_47=1m;doubledouble_48=0.020618556701030927;shortshort_49=2;intint_50=-2;longlong_51=2;sbytesbyte_52=2;floatfloat_53=2f;stringstring_54="5";ushortushort_55=2;uintuint_56=5;ulongulong_57=4;S1s1_58=newS1();S2.S2_D1_F1s2_s2_d1_f1_59=newS2.S2_D1_F1();S2.S2_D1_F1s2_s2_d1_f1_60=s2_s2_d1_f1_59;S2s2_61=newS2();p_byte_40=((byte)(((byte)(byte_45%=((byte)((((byte)(((byte)(LeafMethod1()-byte_23))+((byte)(byte_23^=s_byte_6)))))+23))))^((byte)(byte_23%((byte)((((byte)(s_byte_6+=((byte)(s_byte_6&LeafMethod1())))))+18))))));return((ulong)(((ulong)(((ulong)(s1_36.ulong_1<<=s_int_11))%((ulong)((s1_36.ulong_1)+16))))-s1_36.ulong_1));}}publicS2Method4(outS1p_s1_110,outdoublep_double_111,S1p_s1_112){unchecked{boolbool_113=false;bytebyte_114=5;charchar_115='1';decimaldecimal_116=2.0512820512820512820512820513m;doubledouble_117=-0.9487179487179487;shortshort_118=0;intint_119=-2;longlong_120=5;sbytesbyte_121=0;floatfloat_122=2.0555556f;stringstring_123="WVOC35BP";ushortushort_124=1;uintuint_125=2;ulongulong_126=69;S1s1_127=newS1();S2.S2_D1_F1s2_s2_d1_f1_128=newS2.S2_D1_F1();S2s2_129=newS2();S2s2_130=s2_129;p_s1_110=s1_36;p_double_111=((double)(s_double_9-=((double)(double_26=((double)(((double)(LeafMethod4()%((double)((s_double_9)+95))))/((double)((LeafMethod4())+79))))))));if(s_bool_5){int__loopvar4=s_loopInvariant;for(;int_28<(((int)(s_int_11|=((int)(s_int_11-=((int)(((int)(int_28-5))<<int_28)))))));int_28++){if(__loopvar4>s_loopInvariant+3)break;int__loopvar1=s_loopInvariant;int__loopvar2=s_loopInvariant;ulong_35>>=((int)(s_int_11+=((int)(((int)(s_int_11|=int_28))|((int)(((int)(int_119%((int)((int_119)+16))))<<((int)(s_int_11*int_119))))))));decimal_116+=((decimal)(s_decimal_8%=((decimal)((s_decimal_8)+87))));LeafMethod14();int__loopvar3=s_loopInvariant-6;switch(((long)(((long)(long_29<<=((int)(int_28-=((int)(int_28>>=LeafMethod6()))))))^((long)(long_120+long_120))))){case69:{s_uint_17^=((uint)(uint_34>>=((int)(((int)(int_28|=((int)(int_28%((int)((s_int_11)+72))))))-((int)(69/((int)((((int)(LeafMethod6()>>LeafMethod6())))+55))))))));s_decimal_8+=((decimal)(LeafMethod3()%((decimal)((((decimal)(((decimal)(((decimal)(decimal_25/=((decimal)((LeafMethod3())+23))))*((decimal)(LeafMethod3()/((decimal)((decimal_116)+36))))))*((decimal)(decimal_25=LeafMethod3())))))+64))));Method1(-1,outbyte_23,((int)(((int)(((int)(LeafMethod6()*LeafMethod6()))%((int)((((int)(int_119&LeafMethod6())))+53))))/((int)((int_28)+24)))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120-LeafMethod7()))^s_long_12))+long_29)));ulong_126=((ulong)(((ulong)(((ulong)(((ulong)(s_s1_19.ulong_1-=s_ulong_18))&((ulong)(s1_36.ulong_1|ulong_35))))+((ulong)(((ulong)(LeafMethod13()*1))%((ulong)((s_ulong_18)+6))))))^ulong_35));break;}default:{LeafMethod8();break;}}}LeafMethod7();shortshort_132=((short)(((short)(short_27-=((short)(s_short_10+-1))))*((short)(short_118>>((int)(((int)(-1>>int_28))%((int)((s_int_11)+37))))))));Log("short_132",short_132);}else{s1_36.ulong_1|=((ulong)(s1_127.ulong_1*=2));s_uint_17|=((uint)(s_s2_s2_d1_f1_20.uint_4|=s2_s2_d1_f1_37.uint_2));longlong_133=LeafMethod7();int_28<<=((int)(((int)(((int)(((int)(int_119+LeafMethod6()))*LeafMethod6()))>>int_119))^((int)(((int)(int_119+=((int)(int_119|=s_int_11))))*((int)(int_119*((int)(s_int_11<<int_119))))))));p_double_111=((double)(double_117+((double)(((double)(s_double_9*=((double)(s_double_9+p_double_111))))*((double)(((double)(s_double_9+double_26))/((double)((((double)(p_double_111*=p_double_111)))+75))))))));int__loopvar6=s_loopInvariant;for(;(__loopvar6!=s_loopInvariant+12);){if(((bool)(((int)(int_28=((int)(((int)(s_int_11=5))&((int)(int_28*s_int_11))))))>((int)(((int)(int_119%=((int)((((int)(5%((int)((s_int_11)+45)))))+30))))<<int_28))))){s_decimal_8*=((decimal)(LeafMethod3()+((decimal)(((decimal)(LeafMethod3()%((decimal)((((decimal)(LeafMethod3()%((decimal)((decimal_25)+6)))))+55))))/((decimal)((((decimal)(((decimal)(69.010101010101010101010101010m+decimal_25))-((decimal)(s_decimal_8+decimal_116)))))+99))))));boolbool_135=bool_113;}else{s2_s2_d1_f1_37.uint_2=((uint)(s_uint_17=LeafMethod12()));s_byte_6>>=((int)(((int)(((int)(s_int_11&((int)(LeafMethod6()|s_int_11))))*LeafMethod6()))<<((int)(((int)(s_int_11=LeafMethod6()))%((int)((((int)(((int)(LeafMethod6()%((int)((s_int_11)+13))))%((int)((LeafMethod6())+42)))))+68))))));LeafMethod15();}if(LeafMethod0()){s_s1_19.sbyte_0/=((sbyte)((((sbyte)(sbyte_121=((sbyte)(((sbyte)(((sbyte)(sbyte_121>>int_28))*((sbyte)(s_s1_19.sbyte_0%((sbyte)((LeafMethod8())+6))))))-((sbyte)(sbyte_30>>=((int)(s_int_11<<s_int_11)))))))))+25));int_119=((int)(((int)(int_119&=((int)(s_int_11=((int)(int_28>>=int_28))))))>>((int)(s_int_11/=((int)((((int)(((int)(5^LeafMethod6()))*((int)(LeafMethod6()^int_28)))))+93))))));Method1(((long)(long_29+((long)(((long)(LeafMethod7()^LeafMethod7()))>>((int)(int_28*s_int_11)))))),outbyte_23,((int)(((int)(((int)(int_28/((int)((int_119)+78))))|((int)(int_119^69))))<<((int)(((int)(int_28|=s_int_11))*int_119)))),s2_s2_d1_f1_37,((long)(long_133>>((int)(((int)(int_119>>s_int_11))|s_int_11)))));}else{s_int_11^=((int)(((int)(int_28^=((int)(((int)(int_119%((int)((int_28)+97))))+-1))))/((int)((((int)(LeafMethod6()/((int)((((int)(((int)(int_28+=LeafMethod6()))>>((int)(s_int_11%((int)((LeafMethod6())+96)))))))+87)))))+1))));long_29/=((long)((((long)(long_29*=((long)(LeafMethod7()%((long)((((long)(s_long_12^=((long)(long_133/=((long)((long_120)+82)))))))+89)))))))+25));p_double_111-=((double)(LeafMethod4()+((double)(double_26%=((double)((((double)(s_double_9%=((double)((LeafMethod4())+42)))))+61))))));decimal_116-=((decimal)(((decimal)(((decimal)(decimal_116+=((decimal)(s_decimal_8+decimal_116))))+((decimal)(((decimal)(LeafMethod3()-LeafMethod3()))-((decimal)(s_decimal_8*decimal_116))))))/((decimal)((decimal_116)+10))));LeafMethod14();}s_long_12<<=((int)(int_119/=((int)((LeafMethod6())+22))));s_ushort_16-=((ushort)(ushort_33<<=((int)(int_28^=((int)(s_int_11=int_119))))));s_ushort_16|=((ushort)(((ushort)(((ushort)(((ushort)(LeafMethod11()+ushort_33))+((ushort)(s_ushort_16/((ushort)((LeafMethod11())+45))))))|((ushort)(((ushort)(s_ushort_16+ushort_33))%((ushort)((((ushort)(ushort_33-ushort_33)))+79))))))*LeafMethod11()));LeafMethod14();double_26=((double)(LeafMethod4()%((double)((((double)(((double)(p_double_111+=((double)(double_26+LeafMethod4()))))-double_26)))+36))));int__loopvar5=s_loopInvariant+6,__loopSecondaryVar5_0=s_loopInvariant;}}LeafMethod16();Method1(long_29,outbyte_23,((int)(((int)(((int)(s_int_11<<LeafMethod6()))<<int_119))^((int)(((int)(LeafMethod6()+int_119))^((int)(s_int_11%((int)((s_int_11)+32)))))))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120%((long)((s_long_12)+4))))|long_120))%((long)((((long)(s_long_12&=long_29)))+34)))));Log("p_s1_112",p_s1_112);Log("bool_113",bool_113);Log("p_double_1",p_double_111);Log("string_123",string_123);Log("ushort_124",ushort_124);Log("ulong_126",ulong_126);Log("s2_s2_d1_f",s2_s2_d1_f1_128);Log("s2_130",s2_130);returns2_129;}}publicvoidMethod0(){unchecked{boolbool_136=true;bytebyte_137=126;charchar_138='H';decimaldecimal_139=-0.9545454545454545454545454545m;doubledouble_140=-1.9733333333333334;shortshort_141=0;intint_142=5;longlong_143=5;sbytesbyte_144=-1;floatfloat_145=4.0163937f;stringstring_146="CINM6";ushortushort_147=69;uintuint_148=1;ulongulong_149=4;S1s1_150=newS1();S1s1_151=s1_150;S2.S2_D1_F1s2_s2_d1_f1_152=newS2.S2_D1_F1();S2s2_153=newS2();if(((bool)(s_bool_5=((bool)(bool_22=((bool)(((bool)(LeafMethod1()<=byte_23))||((bool)(LeafMethod7()<=LeafMethod7()))))))))){}else{int__loopvar5=s_loopInvariant;}int__loopvar7=s_loopInvariant;s2_153=Method4(outs1_150,outdouble_140,s1_36);Log("s1_151.ulo",s1_151.ulong_1);Log("s2_153",s2_153);return;}}publicstaticvoidMain(string[]args){newTestClass().Method0();PrintLog();}[MethodImpl(MethodImplOptions.NoInlining)]publicstaticvoidLog(stringvarName,objectvarValue){toPrint.Add($"{varName}={varValue}");}publicstaticvoidPrintLog(){foreach(varentryintoPrint){Console.WriteLine(entry);}}}/*Environment:set COMPlus_TieredCompilation=1set COMPlus_TC_OnStackReplacement_InitialCounter=1set COMPlus_AltJitName=clrjit_universal_arm64_x64.dllset COMPlus_AltJit=Method4Assert failure(PID 31608 [0x00007b78], Thread: 30564 [0x7764]): Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' in 'TestClass:Method4(byref,byref,S1):S2:this' during 'Generate code' (IL size 2675; hash 0x97446e08; Tier1-OSR) File: D:\git\dotnet-runtime\src\coreclr\jit\emitarm64.cpp Line: 5645 Image: d:\git\dotnet-runtime\artifacts\tests\coreclr\windows.x64.Checked\tests\Core_Root\CoreRun.exe*/

    Metadata

    Metadata

    Assignees

    Labels

    arch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
      Skip to content

      Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' during 'Generate code'  #68536

      Description

      @kunalspathak

      Antigen tried reducing it but at one point, it was too slow to reduce. Hopefully it won't be that bad to reduce the test to smaller repro.

      // Found by AntigenusingSystem;usingSystem.Collections.Generic;usingSystem.Runtime.CompilerServices;publicclassTestClass{publicstructS1{publicsbytesbyte_0;publiculongulong_1;}publicstructS2{publicstructS2_D1_F1{publicuintuint_2;publicfloatfloat_3;publicuintuint_4;}}staticbools_bool_5=false;staticbytes_byte_6=1;staticchars_char_7='D';staticdecimals_decimal_8=0.0833333333333333333333333333m;staticdoubles_double_9=4;staticshorts_short_10=4;staticints_int_11=0;staticlongs_long_12=5;staticsbytes_sbyte_13=7;staticfloats_float_14=1.1f;staticstrings_string_15="5E049";staticushorts_ushort_16=2;staticuints_uint_17=69;staticulongs_ulong_18=69;staticS1s_s1_19=newS1();staticS2.S2_D1_F1s_s2_s2_d1_f1_20=newS2.S2_D1_F1();staticS2s_s2_21=newS2();boolbool_22=true;bytebyte_23=5;charchar_24='E';decimaldecimal_25=2.0449438202247191011235955056m;doubledouble_26=1.1666666666666667;shortshort_27=5;intint_28=2;longlong_29=2;sbytesbyte_30=5;floatfloat_31=-1.882353f;stringstring_32="J0O3C";ushortushort_33=2;uintuint_34=2;ulongulong_35=1;S1s1_36=newS1();S2.S2_D1_F1s2_s2_d1_f1_37=newS2.S2_D1_F1();S2s2_38=newS2();staticints_loopInvariant=9;privatestaticList<string>toPrint=newList<string>();[MethodImpl(MethodImplOptions.NoInlining)]publicboolLeafMethod0(){unchecked{return((bool)(((bool)(bool_22=((bool)(s_bool_5=((bool)(s_s2_s2_d1_f1_20.float_3==s_s2_s2_d1_f1_20.float_3))))))||((bool)(((ushort)(s_ushort_16/((ushort)((((ushort)(ushort_33^=s_ushort_16)))+19))))==((ushort)(((ushort)(ushort_33-ushort_33))+((ushort)(ushort_33%((ushort)((ushort_33)+5))))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicbyteLeafMethod1(){unchecked{return((byte)(((byte)(s_byte_6&=((byte)(byte_23^=((byte)(s_byte_6%((byte)((byte_23)+42))))))))+((byte)(((byte)(((byte)(s_byte_6-=s_byte_6))*byte_23))+((byte)(((byte)(byte_23+s_byte_6))-((byte)(s_byte_6+byte_23))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicdecimalLeafMethod3(){unchecked{returndecimal_25;}}[MethodImpl(MethodImplOptions.NoInlining)]publicdoubleLeafMethod4(){unchecked{return((double)(s_double_9%((double)((((double)(s_double_9/=((double)((s_double_9)+84)))))+3))));}}publicshortLeafMethod5(){unchecked{return((short)(short_27*((short)(((short)(((short)(short_27<<=s_int_11))>>int_28))>>((int)(int_28+((int)(s_int_11<<4))))))));}}publicintLeafMethod6(){unchecked{return((int)(int_28-=int_28));}}[MethodImpl(MethodImplOptions.NoInlining)]publiclongLeafMethod7(){unchecked{return((long)(((long)(((long)(long_29%((long)((((long)(long_29+s_long_12)))+72))))&((long)(long_29-=s_long_12))))&((long)(((long)(((long)(s_long_12*long_29))-((long)(s_long_12+s_long_12))))&((long)(((long)(long_29+s_long_12))&s_long_12))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicsbyteLeafMethod8(){unchecked{return((sbyte)(sbyte_30>>=((int)(s_int_11=((int)(((int)(int_28&=LeafMethod6()))|int_28))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicfloatLeafMethod9(){unchecked{return((float)(((float)(((float)(((float)(s2_s2_d1_f1_37.float_3%((float)((float_31)+94))))-((float)(s_float_14+s_s2_s2_d1_f1_20.float_3))))/((float)((((float)(((float)(s_float_14-s_s2_s2_d1_f1_20.float_3))-((float)(float_31+4.02439f)))))+38))))%((float)((float_31)+29))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicushortLeafMethod11(){unchecked{return((ushort)(((ushort)(((ushort)(ushort_33|=((ushort)(2-ushort_33))))-((ushort)(((ushort)(ushort_33-ushort_33))&((ushort)(ushort_33/((ushort)((s_ushort_16)+24))))))))/((ushort)((((ushort)(((ushort)(((ushort)(s_ushort_16+=s_ushort_16))*((ushort)(s_ushort_16-ushort_33))))/((ushort)((((ushort)(s_ushort_16+s_ushort_16)))+37)))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicuintLeafMethod12(){unchecked{return((uint)(((uint)(s2_s2_d1_f1_37.uint_4=s_s2_s2_d1_f1_20.uint_2))+((uint)(((uint)(((uint)(s2_s2_d1_f1_37.uint_2|s_s2_s2_d1_f1_20.uint_2))^((uint)(s_s2_s2_d1_f1_20.uint_4*s2_s2_d1_f1_37.uint_4))))+((uint)(s_uint_17-s_s2_s2_d1_f1_20.uint_2))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publiculongLeafMethod13(){unchecked{return((ulong)(((ulong)(((ulong)(((ulong)(ulong_35-s_ulong_18))-((ulong)(s1_36.ulong_1%((ulong)((s1_36.ulong_1)+49))))))-((ulong)(((ulong)(s1_36.ulong_1|s_ulong_18))-((ulong)(s1_36.ulong_1&5))))))/((ulong)((((ulong)(2*((ulong)(((ulong)(s1_36.ulong_1+s_ulong_18))+((ulong)(s_ulong_18/=((ulong)((s_s1_19.ulong_1)+40)))))))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicS1LeafMethod14(){unchecked{returns1_36;}}publicS2.S2_D1_F1LeafMethod15(){unchecked{returns_s2_s2_d1_f1_20;}}[MethodImpl(MethodImplOptions.NoInlining)]publicS2LeafMethod16(){unchecked{returns_s2_21;}}publiculongMethod1(longp_long_39,outbytep_byte_40,intp_int_41,S2.S2_D1_F1p_s2_s2_d1_f1_42,longp_long_43){unchecked{boolbool_44=true;bytebyte_45=1;charchar_46='3';decimaldecimal_47=1m;doubledouble_48=0.020618556701030927;shortshort_49=2;intint_50=-2;longlong_51=2;sbytesbyte_52=2;floatfloat_53=2f;stringstring_54="5";ushortushort_55=2;uintuint_56=5;ulongulong_57=4;S1s1_58=newS1();S2.S2_D1_F1s2_s2_d1_f1_59=newS2.S2_D1_F1();S2.S2_D1_F1s2_s2_d1_f1_60=s2_s2_d1_f1_59;S2s2_61=newS2();p_byte_40=((byte)(((byte)(byte_45%=((byte)((((byte)(((byte)(LeafMethod1()-byte_23))+((byte)(byte_23^=s_byte_6)))))+23))))^((byte)(byte_23%((byte)((((byte)(s_byte_6+=((byte)(s_byte_6&LeafMethod1())))))+18))))));return((ulong)(((ulong)(((ulong)(s1_36.ulong_1<<=s_int_11))%((ulong)((s1_36.ulong_1)+16))))-s1_36.ulong_1));}}publicS2Method4(outS1p_s1_110,outdoublep_double_111,S1p_s1_112){unchecked{boolbool_113=false;bytebyte_114=5;charchar_115='1';decimaldecimal_116=2.0512820512820512820512820513m;doubledouble_117=-0.9487179487179487;shortshort_118=0;intint_119=-2;longlong_120=5;sbytesbyte_121=0;floatfloat_122=2.0555556f;stringstring_123="WVOC35BP";ushortushort_124=1;uintuint_125=2;ulongulong_126=69;S1s1_127=newS1();S2.S2_D1_F1s2_s2_d1_f1_128=newS2.S2_D1_F1();S2s2_129=newS2();S2s2_130=s2_129;p_s1_110=s1_36;p_double_111=((double)(s_double_9-=((double)(double_26=((double)(((double)(LeafMethod4()%((double)((s_double_9)+95))))/((double)((LeafMethod4())+79))))))));if(s_bool_5){int__loopvar4=s_loopInvariant;for(;int_28<(((int)(s_int_11|=((int)(s_int_11-=((int)(((int)(int_28-5))<<int_28)))))));int_28++){if(__loopvar4>s_loopInvariant+3)break;int__loopvar1=s_loopInvariant;int__loopvar2=s_loopInvariant;ulong_35>>=((int)(s_int_11+=((int)(((int)(s_int_11|=int_28))|((int)(((int)(int_119%((int)((int_119)+16))))<<((int)(s_int_11*int_119))))))));decimal_116+=((decimal)(s_decimal_8%=((decimal)((s_decimal_8)+87))));LeafMethod14();int__loopvar3=s_loopInvariant-6;switch(((long)(((long)(long_29<<=((int)(int_28-=((int)(int_28>>=LeafMethod6()))))))^((long)(long_120+long_120))))){case69:{s_uint_17^=((uint)(uint_34>>=((int)(((int)(int_28|=((int)(int_28%((int)((s_int_11)+72))))))-((int)(69/((int)((((int)(LeafMethod6()>>LeafMethod6())))+55))))))));s_decimal_8+=((decimal)(LeafMethod3()%((decimal)((((decimal)(((decimal)(((decimal)(decimal_25/=((decimal)((LeafMethod3())+23))))*((decimal)(LeafMethod3()/((decimal)((decimal_116)+36))))))*((decimal)(decimal_25=LeafMethod3())))))+64))));Method1(-1,outbyte_23,((int)(((int)(((int)(LeafMethod6()*LeafMethod6()))%((int)((((int)(int_119&LeafMethod6())))+53))))/((int)((int_28)+24)))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120-LeafMethod7()))^s_long_12))+long_29)));ulong_126=((ulong)(((ulong)(((ulong)(((ulong)(s_s1_19.ulong_1-=s_ulong_18))&((ulong)(s1_36.ulong_1|ulong_35))))+((ulong)(((ulong)(LeafMethod13()*1))%((ulong)((s_ulong_18)+6))))))^ulong_35));break;}default:{LeafMethod8();break;}}}LeafMethod7();shortshort_132=((short)(((short)(short_27-=((short)(s_short_10+-1))))*((short)(short_118>>((int)(((int)(-1>>int_28))%((int)((s_int_11)+37))))))));Log("short_132",short_132);}else{s1_36.ulong_1|=((ulong)(s1_127.ulong_1*=2));s_uint_17|=((uint)(s_s2_s2_d1_f1_20.uint_4|=s2_s2_d1_f1_37.uint_2));longlong_133=LeafMethod7();int_28<<=((int)(((int)(((int)(((int)(int_119+LeafMethod6()))*LeafMethod6()))>>int_119))^((int)(((int)(int_119+=((int)(int_119|=s_int_11))))*((int)(int_119*((int)(s_int_11<<int_119))))))));p_double_111=((double)(double_117+((double)(((double)(s_double_9*=((double)(s_double_9+p_double_111))))*((double)(((double)(s_double_9+double_26))/((double)((((double)(p_double_111*=p_double_111)))+75))))))));int__loopvar6=s_loopInvariant;for(;(__loopvar6!=s_loopInvariant+12);){if(((bool)(((int)(int_28=((int)(((int)(s_int_11=5))&((int)(int_28*s_int_11))))))>((int)(((int)(int_119%=((int)((((int)(5%((int)((s_int_11)+45)))))+30))))<<int_28))))){s_decimal_8*=((decimal)(LeafMethod3()+((decimal)(((decimal)(LeafMethod3()%((decimal)((((decimal)(LeafMethod3()%((decimal)((decimal_25)+6)))))+55))))/((decimal)((((decimal)(((decimal)(69.010101010101010101010101010m+decimal_25))-((decimal)(s_decimal_8+decimal_116)))))+99))))));boolbool_135=bool_113;}else{s2_s2_d1_f1_37.uint_2=((uint)(s_uint_17=LeafMethod12()));s_byte_6>>=((int)(((int)(((int)(s_int_11&((int)(LeafMethod6()|s_int_11))))*LeafMethod6()))<<((int)(((int)(s_int_11=LeafMethod6()))%((int)((((int)(((int)(LeafMethod6()%((int)((s_int_11)+13))))%((int)((LeafMethod6())+42)))))+68))))));LeafMethod15();}if(LeafMethod0()){s_s1_19.sbyte_0/=((sbyte)((((sbyte)(sbyte_121=((sbyte)(((sbyte)(((sbyte)(sbyte_121>>int_28))*((sbyte)(s_s1_19.sbyte_0%((sbyte)((LeafMethod8())+6))))))-((sbyte)(sbyte_30>>=((int)(s_int_11<<s_int_11)))))))))+25));int_119=((int)(((int)(int_119&=((int)(s_int_11=((int)(int_28>>=int_28))))))>>((int)(s_int_11/=((int)((((int)(((int)(5^LeafMethod6()))*((int)(LeafMethod6()^int_28)))))+93))))));Method1(((long)(long_29+((long)(((long)(LeafMethod7()^LeafMethod7()))>>((int)(int_28*s_int_11)))))),outbyte_23,((int)(((int)(((int)(int_28/((int)((int_119)+78))))|((int)(int_119^69))))<<((int)(((int)(int_28|=s_int_11))*int_119)))),s2_s2_d1_f1_37,((long)(long_133>>((int)(((int)(int_119>>s_int_11))|s_int_11)))));}else{s_int_11^=((int)(((int)(int_28^=((int)(((int)(int_119%((int)((int_28)+97))))+-1))))/((int)((((int)(LeafMethod6()/((int)((((int)(((int)(int_28+=LeafMethod6()))>>((int)(s_int_11%((int)((LeafMethod6())+96)))))))+87)))))+1))));long_29/=((long)((((long)(long_29*=((long)(LeafMethod7()%((long)((((long)(s_long_12^=((long)(long_133/=((long)((long_120)+82)))))))+89)))))))+25));p_double_111-=((double)(LeafMethod4()+((double)(double_26%=((double)((((double)(s_double_9%=((double)((LeafMethod4())+42)))))+61))))));decimal_116-=((decimal)(((decimal)(((decimal)(decimal_116+=((decimal)(s_decimal_8+decimal_116))))+((decimal)(((decimal)(LeafMethod3()-LeafMethod3()))-((decimal)(s_decimal_8*decimal_116))))))/((decimal)((decimal_116)+10))));LeafMethod14();}s_long_12<<=((int)(int_119/=((int)((LeafMethod6())+22))));s_ushort_16-=((ushort)(ushort_33<<=((int)(int_28^=((int)(s_int_11=int_119))))));s_ushort_16|=((ushort)(((ushort)(((ushort)(((ushort)(LeafMethod11()+ushort_33))+((ushort)(s_ushort_16/((ushort)((LeafMethod11())+45))))))|((ushort)(((ushort)(s_ushort_16+ushort_33))%((ushort)((((ushort)(ushort_33-ushort_33)))+79))))))*LeafMethod11()));LeafMethod14();double_26=((double)(LeafMethod4()%((double)((((double)(((double)(p_double_111+=((double)(double_26+LeafMethod4()))))-double_26)))+36))));int__loopvar5=s_loopInvariant+6,__loopSecondaryVar5_0=s_loopInvariant;}}LeafMethod16();Method1(long_29,outbyte_23,((int)(((int)(((int)(s_int_11<<LeafMethod6()))<<int_119))^((int)(((int)(LeafMethod6()+int_119))^((int)(s_int_11%((int)((s_int_11)+32)))))))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120%((long)((s_long_12)+4))))|long_120))%((long)((((long)(s_long_12&=long_29)))+34)))));Log("p_s1_112",p_s1_112);Log("bool_113",bool_113);Log("p_double_1",p_double_111);Log("string_123",string_123);Log("ushort_124",ushort_124);Log("ulong_126",ulong_126);Log("s2_s2_d1_f",s2_s2_d1_f1_128);Log("s2_130",s2_130);returns2_129;}}publicvoidMethod0(){unchecked{boolbool_136=true;bytebyte_137=126;charchar_138='H';decimaldecimal_139=-0.9545454545454545454545454545m;doubledouble_140=-1.9733333333333334;shortshort_141=0;intint_142=5;longlong_143=5;sbytesbyte_144=-1;floatfloat_145=4.0163937f;stringstring_146="CINM6";ushortushort_147=69;uintuint_148=1;ulongulong_149=4;S1s1_150=newS1();S1s1_151=s1_150;S2.S2_D1_F1s2_s2_d1_f1_152=newS2.S2_D1_F1();S2s2_153=newS2();if(((bool)(s_bool_5=((bool)(bool_22=((bool)(((bool)(LeafMethod1()<=byte_23))||((bool)(LeafMethod7()<=LeafMethod7()))))))))){}else{int__loopvar5=s_loopInvariant;}int__loopvar7=s_loopInvariant;s2_153=Method4(outs1_150,outdouble_140,s1_36);Log("s1_151.ulo",s1_151.ulong_1);Log("s2_153",s2_153);return;}}publicstaticvoidMain(string[]args){newTestClass().Method0();PrintLog();}[MethodImpl(MethodImplOptions.NoInlining)]publicstaticvoidLog(stringvarName,objectvarValue){toPrint.Add($"{varName}={varValue}");}publicstaticvoidPrintLog(){foreach(varentryintoPrint){Console.WriteLine(entry);}}}/*Environment:set COMPlus_TieredCompilation=1set COMPlus_TC_OnStackReplacement_InitialCounter=1set COMPlus_AltJitName=clrjit_universal_arm64_x64.dllset COMPlus_AltJit=Method4Assert failure(PID 31608 [0x00007b78], Thread: 30564 [0x7764]): Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' in 'TestClass:Method4(byref,byref,S1):S2:this' during 'Generate code' (IL size 2675; hash 0x97446e08; Tier1-OSR) File: D:\git\dotnet-runtime\src\coreclr\jit\emitarm64.cpp Line: 5645 Image: d:\git\dotnet-runtime\artifacts\tests\coreclr\windows.x64.Checked\tests\Core_Root\CoreRun.exe*/

      Metadata

      Metadata

      Assignees

      Labels

      arch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

      Type

      No type

      Projects

      No projects

        Milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions

        , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
        Skip to content

        Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' during 'Generate code'  #68536

        Description

        @kunalspathak

        Antigen tried reducing it but at one point, it was too slow to reduce. Hopefully it won't be that bad to reduce the test to smaller repro.

        // Found by AntigenusingSystem;usingSystem.Collections.Generic;usingSystem.Runtime.CompilerServices;publicclassTestClass{publicstructS1{publicsbytesbyte_0;publiculongulong_1;}publicstructS2{publicstructS2_D1_F1{publicuintuint_2;publicfloatfloat_3;publicuintuint_4;}}staticbools_bool_5=false;staticbytes_byte_6=1;staticchars_char_7='D';staticdecimals_decimal_8=0.0833333333333333333333333333m;staticdoubles_double_9=4;staticshorts_short_10=4;staticints_int_11=0;staticlongs_long_12=5;staticsbytes_sbyte_13=7;staticfloats_float_14=1.1f;staticstrings_string_15="5E049";staticushorts_ushort_16=2;staticuints_uint_17=69;staticulongs_ulong_18=69;staticS1s_s1_19=newS1();staticS2.S2_D1_F1s_s2_s2_d1_f1_20=newS2.S2_D1_F1();staticS2s_s2_21=newS2();boolbool_22=true;bytebyte_23=5;charchar_24='E';decimaldecimal_25=2.0449438202247191011235955056m;doubledouble_26=1.1666666666666667;shortshort_27=5;intint_28=2;longlong_29=2;sbytesbyte_30=5;floatfloat_31=-1.882353f;stringstring_32="J0O3C";ushortushort_33=2;uintuint_34=2;ulongulong_35=1;S1s1_36=newS1();S2.S2_D1_F1s2_s2_d1_f1_37=newS2.S2_D1_F1();S2s2_38=newS2();staticints_loopInvariant=9;privatestaticList<string>toPrint=newList<string>();[MethodImpl(MethodImplOptions.NoInlining)]publicboolLeafMethod0(){unchecked{return((bool)(((bool)(bool_22=((bool)(s_bool_5=((bool)(s_s2_s2_d1_f1_20.float_3==s_s2_s2_d1_f1_20.float_3))))))||((bool)(((ushort)(s_ushort_16/((ushort)((((ushort)(ushort_33^=s_ushort_16)))+19))))==((ushort)(((ushort)(ushort_33-ushort_33))+((ushort)(ushort_33%((ushort)((ushort_33)+5))))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicbyteLeafMethod1(){unchecked{return((byte)(((byte)(s_byte_6&=((byte)(byte_23^=((byte)(s_byte_6%((byte)((byte_23)+42))))))))+((byte)(((byte)(((byte)(s_byte_6-=s_byte_6))*byte_23))+((byte)(((byte)(byte_23+s_byte_6))-((byte)(s_byte_6+byte_23))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicdecimalLeafMethod3(){unchecked{returndecimal_25;}}[MethodImpl(MethodImplOptions.NoInlining)]publicdoubleLeafMethod4(){unchecked{return((double)(s_double_9%((double)((((double)(s_double_9/=((double)((s_double_9)+84)))))+3))));}}publicshortLeafMethod5(){unchecked{return((short)(short_27*((short)(((short)(((short)(short_27<<=s_int_11))>>int_28))>>((int)(int_28+((int)(s_int_11<<4))))))));}}publicintLeafMethod6(){unchecked{return((int)(int_28-=int_28));}}[MethodImpl(MethodImplOptions.NoInlining)]publiclongLeafMethod7(){unchecked{return((long)(((long)(((long)(long_29%((long)((((long)(long_29+s_long_12)))+72))))&((long)(long_29-=s_long_12))))&((long)(((long)(((long)(s_long_12*long_29))-((long)(s_long_12+s_long_12))))&((long)(((long)(long_29+s_long_12))&s_long_12))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicsbyteLeafMethod8(){unchecked{return((sbyte)(sbyte_30>>=((int)(s_int_11=((int)(((int)(int_28&=LeafMethod6()))|int_28))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicfloatLeafMethod9(){unchecked{return((float)(((float)(((float)(((float)(s2_s2_d1_f1_37.float_3%((float)((float_31)+94))))-((float)(s_float_14+s_s2_s2_d1_f1_20.float_3))))/((float)((((float)(((float)(s_float_14-s_s2_s2_d1_f1_20.float_3))-((float)(float_31+4.02439f)))))+38))))%((float)((float_31)+29))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicushortLeafMethod11(){unchecked{return((ushort)(((ushort)(((ushort)(ushort_33|=((ushort)(2-ushort_33))))-((ushort)(((ushort)(ushort_33-ushort_33))&((ushort)(ushort_33/((ushort)((s_ushort_16)+24))))))))/((ushort)((((ushort)(((ushort)(((ushort)(s_ushort_16+=s_ushort_16))*((ushort)(s_ushort_16-ushort_33))))/((ushort)((((ushort)(s_ushort_16+s_ushort_16)))+37)))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicuintLeafMethod12(){unchecked{return((uint)(((uint)(s2_s2_d1_f1_37.uint_4=s_s2_s2_d1_f1_20.uint_2))+((uint)(((uint)(((uint)(s2_s2_d1_f1_37.uint_2|s_s2_s2_d1_f1_20.uint_2))^((uint)(s_s2_s2_d1_f1_20.uint_4*s2_s2_d1_f1_37.uint_4))))+((uint)(s_uint_17-s_s2_s2_d1_f1_20.uint_2))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publiculongLeafMethod13(){unchecked{return((ulong)(((ulong)(((ulong)(((ulong)(ulong_35-s_ulong_18))-((ulong)(s1_36.ulong_1%((ulong)((s1_36.ulong_1)+49))))))-((ulong)(((ulong)(s1_36.ulong_1|s_ulong_18))-((ulong)(s1_36.ulong_1&5))))))/((ulong)((((ulong)(2*((ulong)(((ulong)(s1_36.ulong_1+s_ulong_18))+((ulong)(s_ulong_18/=((ulong)((s_s1_19.ulong_1)+40)))))))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicS1LeafMethod14(){unchecked{returns1_36;}}publicS2.S2_D1_F1LeafMethod15(){unchecked{returns_s2_s2_d1_f1_20;}}[MethodImpl(MethodImplOptions.NoInlining)]publicS2LeafMethod16(){unchecked{returns_s2_21;}}publiculongMethod1(longp_long_39,outbytep_byte_40,intp_int_41,S2.S2_D1_F1p_s2_s2_d1_f1_42,longp_long_43){unchecked{boolbool_44=true;bytebyte_45=1;charchar_46='3';decimaldecimal_47=1m;doubledouble_48=0.020618556701030927;shortshort_49=2;intint_50=-2;longlong_51=2;sbytesbyte_52=2;floatfloat_53=2f;stringstring_54="5";ushortushort_55=2;uintuint_56=5;ulongulong_57=4;S1s1_58=newS1();S2.S2_D1_F1s2_s2_d1_f1_59=newS2.S2_D1_F1();S2.S2_D1_F1s2_s2_d1_f1_60=s2_s2_d1_f1_59;S2s2_61=newS2();p_byte_40=((byte)(((byte)(byte_45%=((byte)((((byte)(((byte)(LeafMethod1()-byte_23))+((byte)(byte_23^=s_byte_6)))))+23))))^((byte)(byte_23%((byte)((((byte)(s_byte_6+=((byte)(s_byte_6&LeafMethod1())))))+18))))));return((ulong)(((ulong)(((ulong)(s1_36.ulong_1<<=s_int_11))%((ulong)((s1_36.ulong_1)+16))))-s1_36.ulong_1));}}publicS2Method4(outS1p_s1_110,outdoublep_double_111,S1p_s1_112){unchecked{boolbool_113=false;bytebyte_114=5;charchar_115='1';decimaldecimal_116=2.0512820512820512820512820513m;doubledouble_117=-0.9487179487179487;shortshort_118=0;intint_119=-2;longlong_120=5;sbytesbyte_121=0;floatfloat_122=2.0555556f;stringstring_123="WVOC35BP";ushortushort_124=1;uintuint_125=2;ulongulong_126=69;S1s1_127=newS1();S2.S2_D1_F1s2_s2_d1_f1_128=newS2.S2_D1_F1();S2s2_129=newS2();S2s2_130=s2_129;p_s1_110=s1_36;p_double_111=((double)(s_double_9-=((double)(double_26=((double)(((double)(LeafMethod4()%((double)((s_double_9)+95))))/((double)((LeafMethod4())+79))))))));if(s_bool_5){int__loopvar4=s_loopInvariant;for(;int_28<(((int)(s_int_11|=((int)(s_int_11-=((int)(((int)(int_28-5))<<int_28)))))));int_28++){if(__loopvar4>s_loopInvariant+3)break;int__loopvar1=s_loopInvariant;int__loopvar2=s_loopInvariant;ulong_35>>=((int)(s_int_11+=((int)(((int)(s_int_11|=int_28))|((int)(((int)(int_119%((int)((int_119)+16))))<<((int)(s_int_11*int_119))))))));decimal_116+=((decimal)(s_decimal_8%=((decimal)((s_decimal_8)+87))));LeafMethod14();int__loopvar3=s_loopInvariant-6;switch(((long)(((long)(long_29<<=((int)(int_28-=((int)(int_28>>=LeafMethod6()))))))^((long)(long_120+long_120))))){case69:{s_uint_17^=((uint)(uint_34>>=((int)(((int)(int_28|=((int)(int_28%((int)((s_int_11)+72))))))-((int)(69/((int)((((int)(LeafMethod6()>>LeafMethod6())))+55))))))));s_decimal_8+=((decimal)(LeafMethod3()%((decimal)((((decimal)(((decimal)(((decimal)(decimal_25/=((decimal)((LeafMethod3())+23))))*((decimal)(LeafMethod3()/((decimal)((decimal_116)+36))))))*((decimal)(decimal_25=LeafMethod3())))))+64))));Method1(-1,outbyte_23,((int)(((int)(((int)(LeafMethod6()*LeafMethod6()))%((int)((((int)(int_119&LeafMethod6())))+53))))/((int)((int_28)+24)))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120-LeafMethod7()))^s_long_12))+long_29)));ulong_126=((ulong)(((ulong)(((ulong)(((ulong)(s_s1_19.ulong_1-=s_ulong_18))&((ulong)(s1_36.ulong_1|ulong_35))))+((ulong)(((ulong)(LeafMethod13()*1))%((ulong)((s_ulong_18)+6))))))^ulong_35));break;}default:{LeafMethod8();break;}}}LeafMethod7();shortshort_132=((short)(((short)(short_27-=((short)(s_short_10+-1))))*((short)(short_118>>((int)(((int)(-1>>int_28))%((int)((s_int_11)+37))))))));Log("short_132",short_132);}else{s1_36.ulong_1|=((ulong)(s1_127.ulong_1*=2));s_uint_17|=((uint)(s_s2_s2_d1_f1_20.uint_4|=s2_s2_d1_f1_37.uint_2));longlong_133=LeafMethod7();int_28<<=((int)(((int)(((int)(((int)(int_119+LeafMethod6()))*LeafMethod6()))>>int_119))^((int)(((int)(int_119+=((int)(int_119|=s_int_11))))*((int)(int_119*((int)(s_int_11<<int_119))))))));p_double_111=((double)(double_117+((double)(((double)(s_double_9*=((double)(s_double_9+p_double_111))))*((double)(((double)(s_double_9+double_26))/((double)((((double)(p_double_111*=p_double_111)))+75))))))));int__loopvar6=s_loopInvariant;for(;(__loopvar6!=s_loopInvariant+12);){if(((bool)(((int)(int_28=((int)(((int)(s_int_11=5))&((int)(int_28*s_int_11))))))>((int)(((int)(int_119%=((int)((((int)(5%((int)((s_int_11)+45)))))+30))))<<int_28))))){s_decimal_8*=((decimal)(LeafMethod3()+((decimal)(((decimal)(LeafMethod3()%((decimal)((((decimal)(LeafMethod3()%((decimal)((decimal_25)+6)))))+55))))/((decimal)((((decimal)(((decimal)(69.010101010101010101010101010m+decimal_25))-((decimal)(s_decimal_8+decimal_116)))))+99))))));boolbool_135=bool_113;}else{s2_s2_d1_f1_37.uint_2=((uint)(s_uint_17=LeafMethod12()));s_byte_6>>=((int)(((int)(((int)(s_int_11&((int)(LeafMethod6()|s_int_11))))*LeafMethod6()))<<((int)(((int)(s_int_11=LeafMethod6()))%((int)((((int)(((int)(LeafMethod6()%((int)((s_int_11)+13))))%((int)((LeafMethod6())+42)))))+68))))));LeafMethod15();}if(LeafMethod0()){s_s1_19.sbyte_0/=((sbyte)((((sbyte)(sbyte_121=((sbyte)(((sbyte)(((sbyte)(sbyte_121>>int_28))*((sbyte)(s_s1_19.sbyte_0%((sbyte)((LeafMethod8())+6))))))-((sbyte)(sbyte_30>>=((int)(s_int_11<<s_int_11)))))))))+25));int_119=((int)(((int)(int_119&=((int)(s_int_11=((int)(int_28>>=int_28))))))>>((int)(s_int_11/=((int)((((int)(((int)(5^LeafMethod6()))*((int)(LeafMethod6()^int_28)))))+93))))));Method1(((long)(long_29+((long)(((long)(LeafMethod7()^LeafMethod7()))>>((int)(int_28*s_int_11)))))),outbyte_23,((int)(((int)(((int)(int_28/((int)((int_119)+78))))|((int)(int_119^69))))<<((int)(((int)(int_28|=s_int_11))*int_119)))),s2_s2_d1_f1_37,((long)(long_133>>((int)(((int)(int_119>>s_int_11))|s_int_11)))));}else{s_int_11^=((int)(((int)(int_28^=((int)(((int)(int_119%((int)((int_28)+97))))+-1))))/((int)((((int)(LeafMethod6()/((int)((((int)(((int)(int_28+=LeafMethod6()))>>((int)(s_int_11%((int)((LeafMethod6())+96)))))))+87)))))+1))));long_29/=((long)((((long)(long_29*=((long)(LeafMethod7()%((long)((((long)(s_long_12^=((long)(long_133/=((long)((long_120)+82)))))))+89)))))))+25));p_double_111-=((double)(LeafMethod4()+((double)(double_26%=((double)((((double)(s_double_9%=((double)((LeafMethod4())+42)))))+61))))));decimal_116-=((decimal)(((decimal)(((decimal)(decimal_116+=((decimal)(s_decimal_8+decimal_116))))+((decimal)(((decimal)(LeafMethod3()-LeafMethod3()))-((decimal)(s_decimal_8*decimal_116))))))/((decimal)((decimal_116)+10))));LeafMethod14();}s_long_12<<=((int)(int_119/=((int)((LeafMethod6())+22))));s_ushort_16-=((ushort)(ushort_33<<=((int)(int_28^=((int)(s_int_11=int_119))))));s_ushort_16|=((ushort)(((ushort)(((ushort)(((ushort)(LeafMethod11()+ushort_33))+((ushort)(s_ushort_16/((ushort)((LeafMethod11())+45))))))|((ushort)(((ushort)(s_ushort_16+ushort_33))%((ushort)((((ushort)(ushort_33-ushort_33)))+79))))))*LeafMethod11()));LeafMethod14();double_26=((double)(LeafMethod4()%((double)((((double)(((double)(p_double_111+=((double)(double_26+LeafMethod4()))))-double_26)))+36))));int__loopvar5=s_loopInvariant+6,__loopSecondaryVar5_0=s_loopInvariant;}}LeafMethod16();Method1(long_29,outbyte_23,((int)(((int)(((int)(s_int_11<<LeafMethod6()))<<int_119))^((int)(((int)(LeafMethod6()+int_119))^((int)(s_int_11%((int)((s_int_11)+32)))))))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120%((long)((s_long_12)+4))))|long_120))%((long)((((long)(s_long_12&=long_29)))+34)))));Log("p_s1_112",p_s1_112);Log("bool_113",bool_113);Log("p_double_1",p_double_111);Log("string_123",string_123);Log("ushort_124",ushort_124);Log("ulong_126",ulong_126);Log("s2_s2_d1_f",s2_s2_d1_f1_128);Log("s2_130",s2_130);returns2_129;}}publicvoidMethod0(){unchecked{boolbool_136=true;bytebyte_137=126;charchar_138='H';decimaldecimal_139=-0.9545454545454545454545454545m;doubledouble_140=-1.9733333333333334;shortshort_141=0;intint_142=5;longlong_143=5;sbytesbyte_144=-1;floatfloat_145=4.0163937f;stringstring_146="CINM6";ushortushort_147=69;uintuint_148=1;ulongulong_149=4;S1s1_150=newS1();S1s1_151=s1_150;S2.S2_D1_F1s2_s2_d1_f1_152=newS2.S2_D1_F1();S2s2_153=newS2();if(((bool)(s_bool_5=((bool)(bool_22=((bool)(((bool)(LeafMethod1()<=byte_23))||((bool)(LeafMethod7()<=LeafMethod7()))))))))){}else{int__loopvar5=s_loopInvariant;}int__loopvar7=s_loopInvariant;s2_153=Method4(outs1_150,outdouble_140,s1_36);Log("s1_151.ulo",s1_151.ulong_1);Log("s2_153",s2_153);return;}}publicstaticvoidMain(string[]args){newTestClass().Method0();PrintLog();}[MethodImpl(MethodImplOptions.NoInlining)]publicstaticvoidLog(stringvarName,objectvarValue){toPrint.Add($"{varName}={varValue}");}publicstaticvoidPrintLog(){foreach(varentryintoPrint){Console.WriteLine(entry);}}}/*Environment:set COMPlus_TieredCompilation=1set COMPlus_TC_OnStackReplacement_InitialCounter=1set COMPlus_AltJitName=clrjit_universal_arm64_x64.dllset COMPlus_AltJit=Method4Assert failure(PID 31608 [0x00007b78], Thread: 30564 [0x7764]): Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' in 'TestClass:Method4(byref,byref,S1):S2:this' during 'Generate code' (IL size 2675; hash 0x97446e08; Tier1-OSR) File: D:\git\dotnet-runtime\src\coreclr\jit\emitarm64.cpp Line: 5645 Image: d:\git\dotnet-runtime\artifacts\tests\coreclr\windows.x64.Checked\tests\Core_Root\CoreRun.exe*/

        Metadata

        Metadata

        Assignees

        Labels

        arch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

        Type

        No type

        Projects

        No projects

          Milestone

          Relationships

          None yet

          Development

          No branches or pull requests

          Issue actions

          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
          Skip to content

          Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' during 'Generate code'  #68536

          Description

          @kunalspathak

          Antigen tried reducing it but at one point, it was too slow to reduce. Hopefully it won't be that bad to reduce the test to smaller repro.

          // Found by AntigenusingSystem;usingSystem.Collections.Generic;usingSystem.Runtime.CompilerServices;publicclassTestClass{publicstructS1{publicsbytesbyte_0;publiculongulong_1;}publicstructS2{publicstructS2_D1_F1{publicuintuint_2;publicfloatfloat_3;publicuintuint_4;}}staticbools_bool_5=false;staticbytes_byte_6=1;staticchars_char_7='D';staticdecimals_decimal_8=0.0833333333333333333333333333m;staticdoubles_double_9=4;staticshorts_short_10=4;staticints_int_11=0;staticlongs_long_12=5;staticsbytes_sbyte_13=7;staticfloats_float_14=1.1f;staticstrings_string_15="5E049";staticushorts_ushort_16=2;staticuints_uint_17=69;staticulongs_ulong_18=69;staticS1s_s1_19=newS1();staticS2.S2_D1_F1s_s2_s2_d1_f1_20=newS2.S2_D1_F1();staticS2s_s2_21=newS2();boolbool_22=true;bytebyte_23=5;charchar_24='E';decimaldecimal_25=2.0449438202247191011235955056m;doubledouble_26=1.1666666666666667;shortshort_27=5;intint_28=2;longlong_29=2;sbytesbyte_30=5;floatfloat_31=-1.882353f;stringstring_32="J0O3C";ushortushort_33=2;uintuint_34=2;ulongulong_35=1;S1s1_36=newS1();S2.S2_D1_F1s2_s2_d1_f1_37=newS2.S2_D1_F1();S2s2_38=newS2();staticints_loopInvariant=9;privatestaticList<string>toPrint=newList<string>();[MethodImpl(MethodImplOptions.NoInlining)]publicboolLeafMethod0(){unchecked{return((bool)(((bool)(bool_22=((bool)(s_bool_5=((bool)(s_s2_s2_d1_f1_20.float_3==s_s2_s2_d1_f1_20.float_3))))))||((bool)(((ushort)(s_ushort_16/((ushort)((((ushort)(ushort_33^=s_ushort_16)))+19))))==((ushort)(((ushort)(ushort_33-ushort_33))+((ushort)(ushort_33%((ushort)((ushort_33)+5))))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicbyteLeafMethod1(){unchecked{return((byte)(((byte)(s_byte_6&=((byte)(byte_23^=((byte)(s_byte_6%((byte)((byte_23)+42))))))))+((byte)(((byte)(((byte)(s_byte_6-=s_byte_6))*byte_23))+((byte)(((byte)(byte_23+s_byte_6))-((byte)(s_byte_6+byte_23))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicdecimalLeafMethod3(){unchecked{returndecimal_25;}}[MethodImpl(MethodImplOptions.NoInlining)]publicdoubleLeafMethod4(){unchecked{return((double)(s_double_9%((double)((((double)(s_double_9/=((double)((s_double_9)+84)))))+3))));}}publicshortLeafMethod5(){unchecked{return((short)(short_27*((short)(((short)(((short)(short_27<<=s_int_11))>>int_28))>>((int)(int_28+((int)(s_int_11<<4))))))));}}publicintLeafMethod6(){unchecked{return((int)(int_28-=int_28));}}[MethodImpl(MethodImplOptions.NoInlining)]publiclongLeafMethod7(){unchecked{return((long)(((long)(((long)(long_29%((long)((((long)(long_29+s_long_12)))+72))))&((long)(long_29-=s_long_12))))&((long)(((long)(((long)(s_long_12*long_29))-((long)(s_long_12+s_long_12))))&((long)(((long)(long_29+s_long_12))&s_long_12))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicsbyteLeafMethod8(){unchecked{return((sbyte)(sbyte_30>>=((int)(s_int_11=((int)(((int)(int_28&=LeafMethod6()))|int_28))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicfloatLeafMethod9(){unchecked{return((float)(((float)(((float)(((float)(s2_s2_d1_f1_37.float_3%((float)((float_31)+94))))-((float)(s_float_14+s_s2_s2_d1_f1_20.float_3))))/((float)((((float)(((float)(s_float_14-s_s2_s2_d1_f1_20.float_3))-((float)(float_31+4.02439f)))))+38))))%((float)((float_31)+29))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicushortLeafMethod11(){unchecked{return((ushort)(((ushort)(((ushort)(ushort_33|=((ushort)(2-ushort_33))))-((ushort)(((ushort)(ushort_33-ushort_33))&((ushort)(ushort_33/((ushort)((s_ushort_16)+24))))))))/((ushort)((((ushort)(((ushort)(((ushort)(s_ushort_16+=s_ushort_16))*((ushort)(s_ushort_16-ushort_33))))/((ushort)((((ushort)(s_ushort_16+s_ushort_16)))+37)))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicuintLeafMethod12(){unchecked{return((uint)(((uint)(s2_s2_d1_f1_37.uint_4=s_s2_s2_d1_f1_20.uint_2))+((uint)(((uint)(((uint)(s2_s2_d1_f1_37.uint_2|s_s2_s2_d1_f1_20.uint_2))^((uint)(s_s2_s2_d1_f1_20.uint_4*s2_s2_d1_f1_37.uint_4))))+((uint)(s_uint_17-s_s2_s2_d1_f1_20.uint_2))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publiculongLeafMethod13(){unchecked{return((ulong)(((ulong)(((ulong)(((ulong)(ulong_35-s_ulong_18))-((ulong)(s1_36.ulong_1%((ulong)((s1_36.ulong_1)+49))))))-((ulong)(((ulong)(s1_36.ulong_1|s_ulong_18))-((ulong)(s1_36.ulong_1&5))))))/((ulong)((((ulong)(2*((ulong)(((ulong)(s1_36.ulong_1+s_ulong_18))+((ulong)(s_ulong_18/=((ulong)((s_s1_19.ulong_1)+40)))))))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicS1LeafMethod14(){unchecked{returns1_36;}}publicS2.S2_D1_F1LeafMethod15(){unchecked{returns_s2_s2_d1_f1_20;}}[MethodImpl(MethodImplOptions.NoInlining)]publicS2LeafMethod16(){unchecked{returns_s2_21;}}publiculongMethod1(longp_long_39,outbytep_byte_40,intp_int_41,S2.S2_D1_F1p_s2_s2_d1_f1_42,longp_long_43){unchecked{boolbool_44=true;bytebyte_45=1;charchar_46='3';decimaldecimal_47=1m;doubledouble_48=0.020618556701030927;shortshort_49=2;intint_50=-2;longlong_51=2;sbytesbyte_52=2;floatfloat_53=2f;stringstring_54="5";ushortushort_55=2;uintuint_56=5;ulongulong_57=4;S1s1_58=newS1();S2.S2_D1_F1s2_s2_d1_f1_59=newS2.S2_D1_F1();S2.S2_D1_F1s2_s2_d1_f1_60=s2_s2_d1_f1_59;S2s2_61=newS2();p_byte_40=((byte)(((byte)(byte_45%=((byte)((((byte)(((byte)(LeafMethod1()-byte_23))+((byte)(byte_23^=s_byte_6)))))+23))))^((byte)(byte_23%((byte)((((byte)(s_byte_6+=((byte)(s_byte_6&LeafMethod1())))))+18))))));return((ulong)(((ulong)(((ulong)(s1_36.ulong_1<<=s_int_11))%((ulong)((s1_36.ulong_1)+16))))-s1_36.ulong_1));}}publicS2Method4(outS1p_s1_110,outdoublep_double_111,S1p_s1_112){unchecked{boolbool_113=false;bytebyte_114=5;charchar_115='1';decimaldecimal_116=2.0512820512820512820512820513m;doubledouble_117=-0.9487179487179487;shortshort_118=0;intint_119=-2;longlong_120=5;sbytesbyte_121=0;floatfloat_122=2.0555556f;stringstring_123="WVOC35BP";ushortushort_124=1;uintuint_125=2;ulongulong_126=69;S1s1_127=newS1();S2.S2_D1_F1s2_s2_d1_f1_128=newS2.S2_D1_F1();S2s2_129=newS2();S2s2_130=s2_129;p_s1_110=s1_36;p_double_111=((double)(s_double_9-=((double)(double_26=((double)(((double)(LeafMethod4()%((double)((s_double_9)+95))))/((double)((LeafMethod4())+79))))))));if(s_bool_5){int__loopvar4=s_loopInvariant;for(;int_28<(((int)(s_int_11|=((int)(s_int_11-=((int)(((int)(int_28-5))<<int_28)))))));int_28++){if(__loopvar4>s_loopInvariant+3)break;int__loopvar1=s_loopInvariant;int__loopvar2=s_loopInvariant;ulong_35>>=((int)(s_int_11+=((int)(((int)(s_int_11|=int_28))|((int)(((int)(int_119%((int)((int_119)+16))))<<((int)(s_int_11*int_119))))))));decimal_116+=((decimal)(s_decimal_8%=((decimal)((s_decimal_8)+87))));LeafMethod14();int__loopvar3=s_loopInvariant-6;switch(((long)(((long)(long_29<<=((int)(int_28-=((int)(int_28>>=LeafMethod6()))))))^((long)(long_120+long_120))))){case69:{s_uint_17^=((uint)(uint_34>>=((int)(((int)(int_28|=((int)(int_28%((int)((s_int_11)+72))))))-((int)(69/((int)((((int)(LeafMethod6()>>LeafMethod6())))+55))))))));s_decimal_8+=((decimal)(LeafMethod3()%((decimal)((((decimal)(((decimal)(((decimal)(decimal_25/=((decimal)((LeafMethod3())+23))))*((decimal)(LeafMethod3()/((decimal)((decimal_116)+36))))))*((decimal)(decimal_25=LeafMethod3())))))+64))));Method1(-1,outbyte_23,((int)(((int)(((int)(LeafMethod6()*LeafMethod6()))%((int)((((int)(int_119&LeafMethod6())))+53))))/((int)((int_28)+24)))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120-LeafMethod7()))^s_long_12))+long_29)));ulong_126=((ulong)(((ulong)(((ulong)(((ulong)(s_s1_19.ulong_1-=s_ulong_18))&((ulong)(s1_36.ulong_1|ulong_35))))+((ulong)(((ulong)(LeafMethod13()*1))%((ulong)((s_ulong_18)+6))))))^ulong_35));break;}default:{LeafMethod8();break;}}}LeafMethod7();shortshort_132=((short)(((short)(short_27-=((short)(s_short_10+-1))))*((short)(short_118>>((int)(((int)(-1>>int_28))%((int)((s_int_11)+37))))))));Log("short_132",short_132);}else{s1_36.ulong_1|=((ulong)(s1_127.ulong_1*=2));s_uint_17|=((uint)(s_s2_s2_d1_f1_20.uint_4|=s2_s2_d1_f1_37.uint_2));longlong_133=LeafMethod7();int_28<<=((int)(((int)(((int)(((int)(int_119+LeafMethod6()))*LeafMethod6()))>>int_119))^((int)(((int)(int_119+=((int)(int_119|=s_int_11))))*((int)(int_119*((int)(s_int_11<<int_119))))))));p_double_111=((double)(double_117+((double)(((double)(s_double_9*=((double)(s_double_9+p_double_111))))*((double)(((double)(s_double_9+double_26))/((double)((((double)(p_double_111*=p_double_111)))+75))))))));int__loopvar6=s_loopInvariant;for(;(__loopvar6!=s_loopInvariant+12);){if(((bool)(((int)(int_28=((int)(((int)(s_int_11=5))&((int)(int_28*s_int_11))))))>((int)(((int)(int_119%=((int)((((int)(5%((int)((s_int_11)+45)))))+30))))<<int_28))))){s_decimal_8*=((decimal)(LeafMethod3()+((decimal)(((decimal)(LeafMethod3()%((decimal)((((decimal)(LeafMethod3()%((decimal)((decimal_25)+6)))))+55))))/((decimal)((((decimal)(((decimal)(69.010101010101010101010101010m+decimal_25))-((decimal)(s_decimal_8+decimal_116)))))+99))))));boolbool_135=bool_113;}else{s2_s2_d1_f1_37.uint_2=((uint)(s_uint_17=LeafMethod12()));s_byte_6>>=((int)(((int)(((int)(s_int_11&((int)(LeafMethod6()|s_int_11))))*LeafMethod6()))<<((int)(((int)(s_int_11=LeafMethod6()))%((int)((((int)(((int)(LeafMethod6()%((int)((s_int_11)+13))))%((int)((LeafMethod6())+42)))))+68))))));LeafMethod15();}if(LeafMethod0()){s_s1_19.sbyte_0/=((sbyte)((((sbyte)(sbyte_121=((sbyte)(((sbyte)(((sbyte)(sbyte_121>>int_28))*((sbyte)(s_s1_19.sbyte_0%((sbyte)((LeafMethod8())+6))))))-((sbyte)(sbyte_30>>=((int)(s_int_11<<s_int_11)))))))))+25));int_119=((int)(((int)(int_119&=((int)(s_int_11=((int)(int_28>>=int_28))))))>>((int)(s_int_11/=((int)((((int)(((int)(5^LeafMethod6()))*((int)(LeafMethod6()^int_28)))))+93))))));Method1(((long)(long_29+((long)(((long)(LeafMethod7()^LeafMethod7()))>>((int)(int_28*s_int_11)))))),outbyte_23,((int)(((int)(((int)(int_28/((int)((int_119)+78))))|((int)(int_119^69))))<<((int)(((int)(int_28|=s_int_11))*int_119)))),s2_s2_d1_f1_37,((long)(long_133>>((int)(((int)(int_119>>s_int_11))|s_int_11)))));}else{s_int_11^=((int)(((int)(int_28^=((int)(((int)(int_119%((int)((int_28)+97))))+-1))))/((int)((((int)(LeafMethod6()/((int)((((int)(((int)(int_28+=LeafMethod6()))>>((int)(s_int_11%((int)((LeafMethod6())+96)))))))+87)))))+1))));long_29/=((long)((((long)(long_29*=((long)(LeafMethod7()%((long)((((long)(s_long_12^=((long)(long_133/=((long)((long_120)+82)))))))+89)))))))+25));p_double_111-=((double)(LeafMethod4()+((double)(double_26%=((double)((((double)(s_double_9%=((double)((LeafMethod4())+42)))))+61))))));decimal_116-=((decimal)(((decimal)(((decimal)(decimal_116+=((decimal)(s_decimal_8+decimal_116))))+((decimal)(((decimal)(LeafMethod3()-LeafMethod3()))-((decimal)(s_decimal_8*decimal_116))))))/((decimal)((decimal_116)+10))));LeafMethod14();}s_long_12<<=((int)(int_119/=((int)((LeafMethod6())+22))));s_ushort_16-=((ushort)(ushort_33<<=((int)(int_28^=((int)(s_int_11=int_119))))));s_ushort_16|=((ushort)(((ushort)(((ushort)(((ushort)(LeafMethod11()+ushort_33))+((ushort)(s_ushort_16/((ushort)((LeafMethod11())+45))))))|((ushort)(((ushort)(s_ushort_16+ushort_33))%((ushort)((((ushort)(ushort_33-ushort_33)))+79))))))*LeafMethod11()));LeafMethod14();double_26=((double)(LeafMethod4()%((double)((((double)(((double)(p_double_111+=((double)(double_26+LeafMethod4()))))-double_26)))+36))));int__loopvar5=s_loopInvariant+6,__loopSecondaryVar5_0=s_loopInvariant;}}LeafMethod16();Method1(long_29,outbyte_23,((int)(((int)(((int)(s_int_11<<LeafMethod6()))<<int_119))^((int)(((int)(LeafMethod6()+int_119))^((int)(s_int_11%((int)((s_int_11)+32)))))))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120%((long)((s_long_12)+4))))|long_120))%((long)((((long)(s_long_12&=long_29)))+34)))));Log("p_s1_112",p_s1_112);Log("bool_113",bool_113);Log("p_double_1",p_double_111);Log("string_123",string_123);Log("ushort_124",ushort_124);Log("ulong_126",ulong_126);Log("s2_s2_d1_f",s2_s2_d1_f1_128);Log("s2_130",s2_130);returns2_129;}}publicvoidMethod0(){unchecked{boolbool_136=true;bytebyte_137=126;charchar_138='H';decimaldecimal_139=-0.9545454545454545454545454545m;doubledouble_140=-1.9733333333333334;shortshort_141=0;intint_142=5;longlong_143=5;sbytesbyte_144=-1;floatfloat_145=4.0163937f;stringstring_146="CINM6";ushortushort_147=69;uintuint_148=1;ulongulong_149=4;S1s1_150=newS1();S1s1_151=s1_150;S2.S2_D1_F1s2_s2_d1_f1_152=newS2.S2_D1_F1();S2s2_153=newS2();if(((bool)(s_bool_5=((bool)(bool_22=((bool)(((bool)(LeafMethod1()<=byte_23))||((bool)(LeafMethod7()<=LeafMethod7()))))))))){}else{int__loopvar5=s_loopInvariant;}int__loopvar7=s_loopInvariant;s2_153=Method4(outs1_150,outdouble_140,s1_36);Log("s1_151.ulo",s1_151.ulong_1);Log("s2_153",s2_153);return;}}publicstaticvoidMain(string[]args){newTestClass().Method0();PrintLog();}[MethodImpl(MethodImplOptions.NoInlining)]publicstaticvoidLog(stringvarName,objectvarValue){toPrint.Add($"{varName}={varValue}");}publicstaticvoidPrintLog(){foreach(varentryintoPrint){Console.WriteLine(entry);}}}/*Environment:set COMPlus_TieredCompilation=1set COMPlus_TC_OnStackReplacement_InitialCounter=1set COMPlus_AltJitName=clrjit_universal_arm64_x64.dllset COMPlus_AltJit=Method4Assert failure(PID 31608 [0x00007b78], Thread: 30564 [0x7764]): Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' in 'TestClass:Method4(byref,byref,S1):S2:this' during 'Generate code' (IL size 2675; hash 0x97446e08; Tier1-OSR) File: D:\git\dotnet-runtime\src\coreclr\jit\emitarm64.cpp Line: 5645 Image: d:\git\dotnet-runtime\artifacts\tests\coreclr\windows.x64.Checked\tests\Core_Root\CoreRun.exe*/

          Metadata

          Metadata

          Assignees

          Labels

          arch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

          Type

          No type

          Projects

          No projects

            Milestone

            Relationships

            None yet

            Development

            No branches or pull requests

            Issue actions

            , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
            Skip to content

            Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' during 'Generate code'  #68536

            Description

            @kunalspathak

            Antigen tried reducing it but at one point, it was too slow to reduce. Hopefully it won't be that bad to reduce the test to smaller repro.

            // Found by AntigenusingSystem;usingSystem.Collections.Generic;usingSystem.Runtime.CompilerServices;publicclassTestClass{publicstructS1{publicsbytesbyte_0;publiculongulong_1;}publicstructS2{publicstructS2_D1_F1{publicuintuint_2;publicfloatfloat_3;publicuintuint_4;}}staticbools_bool_5=false;staticbytes_byte_6=1;staticchars_char_7='D';staticdecimals_decimal_8=0.0833333333333333333333333333m;staticdoubles_double_9=4;staticshorts_short_10=4;staticints_int_11=0;staticlongs_long_12=5;staticsbytes_sbyte_13=7;staticfloats_float_14=1.1f;staticstrings_string_15="5E049";staticushorts_ushort_16=2;staticuints_uint_17=69;staticulongs_ulong_18=69;staticS1s_s1_19=newS1();staticS2.S2_D1_F1s_s2_s2_d1_f1_20=newS2.S2_D1_F1();staticS2s_s2_21=newS2();boolbool_22=true;bytebyte_23=5;charchar_24='E';decimaldecimal_25=2.0449438202247191011235955056m;doubledouble_26=1.1666666666666667;shortshort_27=5;intint_28=2;longlong_29=2;sbytesbyte_30=5;floatfloat_31=-1.882353f;stringstring_32="J0O3C";ushortushort_33=2;uintuint_34=2;ulongulong_35=1;S1s1_36=newS1();S2.S2_D1_F1s2_s2_d1_f1_37=newS2.S2_D1_F1();S2s2_38=newS2();staticints_loopInvariant=9;privatestaticList<string>toPrint=newList<string>();[MethodImpl(MethodImplOptions.NoInlining)]publicboolLeafMethod0(){unchecked{return((bool)(((bool)(bool_22=((bool)(s_bool_5=((bool)(s_s2_s2_d1_f1_20.float_3==s_s2_s2_d1_f1_20.float_3))))))||((bool)(((ushort)(s_ushort_16/((ushort)((((ushort)(ushort_33^=s_ushort_16)))+19))))==((ushort)(((ushort)(ushort_33-ushort_33))+((ushort)(ushort_33%((ushort)((ushort_33)+5))))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicbyteLeafMethod1(){unchecked{return((byte)(((byte)(s_byte_6&=((byte)(byte_23^=((byte)(s_byte_6%((byte)((byte_23)+42))))))))+((byte)(((byte)(((byte)(s_byte_6-=s_byte_6))*byte_23))+((byte)(((byte)(byte_23+s_byte_6))-((byte)(s_byte_6+byte_23))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicdecimalLeafMethod3(){unchecked{returndecimal_25;}}[MethodImpl(MethodImplOptions.NoInlining)]publicdoubleLeafMethod4(){unchecked{return((double)(s_double_9%((double)((((double)(s_double_9/=((double)((s_double_9)+84)))))+3))));}}publicshortLeafMethod5(){unchecked{return((short)(short_27*((short)(((short)(((short)(short_27<<=s_int_11))>>int_28))>>((int)(int_28+((int)(s_int_11<<4))))))));}}publicintLeafMethod6(){unchecked{return((int)(int_28-=int_28));}}[MethodImpl(MethodImplOptions.NoInlining)]publiclongLeafMethod7(){unchecked{return((long)(((long)(((long)(long_29%((long)((((long)(long_29+s_long_12)))+72))))&((long)(long_29-=s_long_12))))&((long)(((long)(((long)(s_long_12*long_29))-((long)(s_long_12+s_long_12))))&((long)(((long)(long_29+s_long_12))&s_long_12))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicsbyteLeafMethod8(){unchecked{return((sbyte)(sbyte_30>>=((int)(s_int_11=((int)(((int)(int_28&=LeafMethod6()))|int_28))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicfloatLeafMethod9(){unchecked{return((float)(((float)(((float)(((float)(s2_s2_d1_f1_37.float_3%((float)((float_31)+94))))-((float)(s_float_14+s_s2_s2_d1_f1_20.float_3))))/((float)((((float)(((float)(s_float_14-s_s2_s2_d1_f1_20.float_3))-((float)(float_31+4.02439f)))))+38))))%((float)((float_31)+29))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicushortLeafMethod11(){unchecked{return((ushort)(((ushort)(((ushort)(ushort_33|=((ushort)(2-ushort_33))))-((ushort)(((ushort)(ushort_33-ushort_33))&((ushort)(ushort_33/((ushort)((s_ushort_16)+24))))))))/((ushort)((((ushort)(((ushort)(((ushort)(s_ushort_16+=s_ushort_16))*((ushort)(s_ushort_16-ushort_33))))/((ushort)((((ushort)(s_ushort_16+s_ushort_16)))+37)))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicuintLeafMethod12(){unchecked{return((uint)(((uint)(s2_s2_d1_f1_37.uint_4=s_s2_s2_d1_f1_20.uint_2))+((uint)(((uint)(((uint)(s2_s2_d1_f1_37.uint_2|s_s2_s2_d1_f1_20.uint_2))^((uint)(s_s2_s2_d1_f1_20.uint_4*s2_s2_d1_f1_37.uint_4))))+((uint)(s_uint_17-s_s2_s2_d1_f1_20.uint_2))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publiculongLeafMethod13(){unchecked{return((ulong)(((ulong)(((ulong)(((ulong)(ulong_35-s_ulong_18))-((ulong)(s1_36.ulong_1%((ulong)((s1_36.ulong_1)+49))))))-((ulong)(((ulong)(s1_36.ulong_1|s_ulong_18))-((ulong)(s1_36.ulong_1&5))))))/((ulong)((((ulong)(2*((ulong)(((ulong)(s1_36.ulong_1+s_ulong_18))+((ulong)(s_ulong_18/=((ulong)((s_s1_19.ulong_1)+40)))))))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicS1LeafMethod14(){unchecked{returns1_36;}}publicS2.S2_D1_F1LeafMethod15(){unchecked{returns_s2_s2_d1_f1_20;}}[MethodImpl(MethodImplOptions.NoInlining)]publicS2LeafMethod16(){unchecked{returns_s2_21;}}publiculongMethod1(longp_long_39,outbytep_byte_40,intp_int_41,S2.S2_D1_F1p_s2_s2_d1_f1_42,longp_long_43){unchecked{boolbool_44=true;bytebyte_45=1;charchar_46='3';decimaldecimal_47=1m;doubledouble_48=0.020618556701030927;shortshort_49=2;intint_50=-2;longlong_51=2;sbytesbyte_52=2;floatfloat_53=2f;stringstring_54="5";ushortushort_55=2;uintuint_56=5;ulongulong_57=4;S1s1_58=newS1();S2.S2_D1_F1s2_s2_d1_f1_59=newS2.S2_D1_F1();S2.S2_D1_F1s2_s2_d1_f1_60=s2_s2_d1_f1_59;S2s2_61=newS2();p_byte_40=((byte)(((byte)(byte_45%=((byte)((((byte)(((byte)(LeafMethod1()-byte_23))+((byte)(byte_23^=s_byte_6)))))+23))))^((byte)(byte_23%((byte)((((byte)(s_byte_6+=((byte)(s_byte_6&LeafMethod1())))))+18))))));return((ulong)(((ulong)(((ulong)(s1_36.ulong_1<<=s_int_11))%((ulong)((s1_36.ulong_1)+16))))-s1_36.ulong_1));}}publicS2Method4(outS1p_s1_110,outdoublep_double_111,S1p_s1_112){unchecked{boolbool_113=false;bytebyte_114=5;charchar_115='1';decimaldecimal_116=2.0512820512820512820512820513m;doubledouble_117=-0.9487179487179487;shortshort_118=0;intint_119=-2;longlong_120=5;sbytesbyte_121=0;floatfloat_122=2.0555556f;stringstring_123="WVOC35BP";ushortushort_124=1;uintuint_125=2;ulongulong_126=69;S1s1_127=newS1();S2.S2_D1_F1s2_s2_d1_f1_128=newS2.S2_D1_F1();S2s2_129=newS2();S2s2_130=s2_129;p_s1_110=s1_36;p_double_111=((double)(s_double_9-=((double)(double_26=((double)(((double)(LeafMethod4()%((double)((s_double_9)+95))))/((double)((LeafMethod4())+79))))))));if(s_bool_5){int__loopvar4=s_loopInvariant;for(;int_28<(((int)(s_int_11|=((int)(s_int_11-=((int)(((int)(int_28-5))<<int_28)))))));int_28++){if(__loopvar4>s_loopInvariant+3)break;int__loopvar1=s_loopInvariant;int__loopvar2=s_loopInvariant;ulong_35>>=((int)(s_int_11+=((int)(((int)(s_int_11|=int_28))|((int)(((int)(int_119%((int)((int_119)+16))))<<((int)(s_int_11*int_119))))))));decimal_116+=((decimal)(s_decimal_8%=((decimal)((s_decimal_8)+87))));LeafMethod14();int__loopvar3=s_loopInvariant-6;switch(((long)(((long)(long_29<<=((int)(int_28-=((int)(int_28>>=LeafMethod6()))))))^((long)(long_120+long_120))))){case69:{s_uint_17^=((uint)(uint_34>>=((int)(((int)(int_28|=((int)(int_28%((int)((s_int_11)+72))))))-((int)(69/((int)((((int)(LeafMethod6()>>LeafMethod6())))+55))))))));s_decimal_8+=((decimal)(LeafMethod3()%((decimal)((((decimal)(((decimal)(((decimal)(decimal_25/=((decimal)((LeafMethod3())+23))))*((decimal)(LeafMethod3()/((decimal)((decimal_116)+36))))))*((decimal)(decimal_25=LeafMethod3())))))+64))));Method1(-1,outbyte_23,((int)(((int)(((int)(LeafMethod6()*LeafMethod6()))%((int)((((int)(int_119&LeafMethod6())))+53))))/((int)((int_28)+24)))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120-LeafMethod7()))^s_long_12))+long_29)));ulong_126=((ulong)(((ulong)(((ulong)(((ulong)(s_s1_19.ulong_1-=s_ulong_18))&((ulong)(s1_36.ulong_1|ulong_35))))+((ulong)(((ulong)(LeafMethod13()*1))%((ulong)((s_ulong_18)+6))))))^ulong_35));break;}default:{LeafMethod8();break;}}}LeafMethod7();shortshort_132=((short)(((short)(short_27-=((short)(s_short_10+-1))))*((short)(short_118>>((int)(((int)(-1>>int_28))%((int)((s_int_11)+37))))))));Log("short_132",short_132);}else{s1_36.ulong_1|=((ulong)(s1_127.ulong_1*=2));s_uint_17|=((uint)(s_s2_s2_d1_f1_20.uint_4|=s2_s2_d1_f1_37.uint_2));longlong_133=LeafMethod7();int_28<<=((int)(((int)(((int)(((int)(int_119+LeafMethod6()))*LeafMethod6()))>>int_119))^((int)(((int)(int_119+=((int)(int_119|=s_int_11))))*((int)(int_119*((int)(s_int_11<<int_119))))))));p_double_111=((double)(double_117+((double)(((double)(s_double_9*=((double)(s_double_9+p_double_111))))*((double)(((double)(s_double_9+double_26))/((double)((((double)(p_double_111*=p_double_111)))+75))))))));int__loopvar6=s_loopInvariant;for(;(__loopvar6!=s_loopInvariant+12);){if(((bool)(((int)(int_28=((int)(((int)(s_int_11=5))&((int)(int_28*s_int_11))))))>((int)(((int)(int_119%=((int)((((int)(5%((int)((s_int_11)+45)))))+30))))<<int_28))))){s_decimal_8*=((decimal)(LeafMethod3()+((decimal)(((decimal)(LeafMethod3()%((decimal)((((decimal)(LeafMethod3()%((decimal)((decimal_25)+6)))))+55))))/((decimal)((((decimal)(((decimal)(69.010101010101010101010101010m+decimal_25))-((decimal)(s_decimal_8+decimal_116)))))+99))))));boolbool_135=bool_113;}else{s2_s2_d1_f1_37.uint_2=((uint)(s_uint_17=LeafMethod12()));s_byte_6>>=((int)(((int)(((int)(s_int_11&((int)(LeafMethod6()|s_int_11))))*LeafMethod6()))<<((int)(((int)(s_int_11=LeafMethod6()))%((int)((((int)(((int)(LeafMethod6()%((int)((s_int_11)+13))))%((int)((LeafMethod6())+42)))))+68))))));LeafMethod15();}if(LeafMethod0()){s_s1_19.sbyte_0/=((sbyte)((((sbyte)(sbyte_121=((sbyte)(((sbyte)(((sbyte)(sbyte_121>>int_28))*((sbyte)(s_s1_19.sbyte_0%((sbyte)((LeafMethod8())+6))))))-((sbyte)(sbyte_30>>=((int)(s_int_11<<s_int_11)))))))))+25));int_119=((int)(((int)(int_119&=((int)(s_int_11=((int)(int_28>>=int_28))))))>>((int)(s_int_11/=((int)((((int)(((int)(5^LeafMethod6()))*((int)(LeafMethod6()^int_28)))))+93))))));Method1(((long)(long_29+((long)(((long)(LeafMethod7()^LeafMethod7()))>>((int)(int_28*s_int_11)))))),outbyte_23,((int)(((int)(((int)(int_28/((int)((int_119)+78))))|((int)(int_119^69))))<<((int)(((int)(int_28|=s_int_11))*int_119)))),s2_s2_d1_f1_37,((long)(long_133>>((int)(((int)(int_119>>s_int_11))|s_int_11)))));}else{s_int_11^=((int)(((int)(int_28^=((int)(((int)(int_119%((int)((int_28)+97))))+-1))))/((int)((((int)(LeafMethod6()/((int)((((int)(((int)(int_28+=LeafMethod6()))>>((int)(s_int_11%((int)((LeafMethod6())+96)))))))+87)))))+1))));long_29/=((long)((((long)(long_29*=((long)(LeafMethod7()%((long)((((long)(s_long_12^=((long)(long_133/=((long)((long_120)+82)))))))+89)))))))+25));p_double_111-=((double)(LeafMethod4()+((double)(double_26%=((double)((((double)(s_double_9%=((double)((LeafMethod4())+42)))))+61))))));decimal_116-=((decimal)(((decimal)(((decimal)(decimal_116+=((decimal)(s_decimal_8+decimal_116))))+((decimal)(((decimal)(LeafMethod3()-LeafMethod3()))-((decimal)(s_decimal_8*decimal_116))))))/((decimal)((decimal_116)+10))));LeafMethod14();}s_long_12<<=((int)(int_119/=((int)((LeafMethod6())+22))));s_ushort_16-=((ushort)(ushort_33<<=((int)(int_28^=((int)(s_int_11=int_119))))));s_ushort_16|=((ushort)(((ushort)(((ushort)(((ushort)(LeafMethod11()+ushort_33))+((ushort)(s_ushort_16/((ushort)((LeafMethod11())+45))))))|((ushort)(((ushort)(s_ushort_16+ushort_33))%((ushort)((((ushort)(ushort_33-ushort_33)))+79))))))*LeafMethod11()));LeafMethod14();double_26=((double)(LeafMethod4()%((double)((((double)(((double)(p_double_111+=((double)(double_26+LeafMethod4()))))-double_26)))+36))));int__loopvar5=s_loopInvariant+6,__loopSecondaryVar5_0=s_loopInvariant;}}LeafMethod16();Method1(long_29,outbyte_23,((int)(((int)(((int)(s_int_11<<LeafMethod6()))<<int_119))^((int)(((int)(LeafMethod6()+int_119))^((int)(s_int_11%((int)((s_int_11)+32)))))))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120%((long)((s_long_12)+4))))|long_120))%((long)((((long)(s_long_12&=long_29)))+34)))));Log("p_s1_112",p_s1_112);Log("bool_113",bool_113);Log("p_double_1",p_double_111);Log("string_123",string_123);Log("ushort_124",ushort_124);Log("ulong_126",ulong_126);Log("s2_s2_d1_f",s2_s2_d1_f1_128);Log("s2_130",s2_130);returns2_129;}}publicvoidMethod0(){unchecked{boolbool_136=true;bytebyte_137=126;charchar_138='H';decimaldecimal_139=-0.9545454545454545454545454545m;doubledouble_140=-1.9733333333333334;shortshort_141=0;intint_142=5;longlong_143=5;sbytesbyte_144=-1;floatfloat_145=4.0163937f;stringstring_146="CINM6";ushortushort_147=69;uintuint_148=1;ulongulong_149=4;S1s1_150=newS1();S1s1_151=s1_150;S2.S2_D1_F1s2_s2_d1_f1_152=newS2.S2_D1_F1();S2s2_153=newS2();if(((bool)(s_bool_5=((bool)(bool_22=((bool)(((bool)(LeafMethod1()<=byte_23))||((bool)(LeafMethod7()<=LeafMethod7()))))))))){}else{int__loopvar5=s_loopInvariant;}int__loopvar7=s_loopInvariant;s2_153=Method4(outs1_150,outdouble_140,s1_36);Log("s1_151.ulo",s1_151.ulong_1);Log("s2_153",s2_153);return;}}publicstaticvoidMain(string[]args){newTestClass().Method0();PrintLog();}[MethodImpl(MethodImplOptions.NoInlining)]publicstaticvoidLog(stringvarName,objectvarValue){toPrint.Add($"{varName}={varValue}");}publicstaticvoidPrintLog(){foreach(varentryintoPrint){Console.WriteLine(entry);}}}/*Environment:set COMPlus_TieredCompilation=1set COMPlus_TC_OnStackReplacement_InitialCounter=1set COMPlus_AltJitName=clrjit_universal_arm64_x64.dllset COMPlus_AltJit=Method4Assert failure(PID 31608 [0x00007b78], Thread: 30564 [0x7764]): Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' in 'TestClass:Method4(byref,byref,S1):S2:this' during 'Generate code' (IL size 2675; hash 0x97446e08; Tier1-OSR) File: D:\git\dotnet-runtime\src\coreclr\jit\emitarm64.cpp Line: 5645 Image: d:\git\dotnet-runtime\artifacts\tests\coreclr\windows.x64.Checked\tests\Core_Root\CoreRun.exe*/

            Metadata

            Metadata

            Assignees

            Labels

            arch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

            Type

            No type

            Projects

            No projects

              Milestone

              Relationships

              None yet

              Development

              No branches or pull requests

              Issue actions

              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
              Skip to content

              Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' during 'Generate code'  #68536

              Description

              @kunalspathak

              Antigen tried reducing it but at one point, it was too slow to reduce. Hopefully it won't be that bad to reduce the test to smaller repro.

              // Found by AntigenusingSystem;usingSystem.Collections.Generic;usingSystem.Runtime.CompilerServices;publicclassTestClass{publicstructS1{publicsbytesbyte_0;publiculongulong_1;}publicstructS2{publicstructS2_D1_F1{publicuintuint_2;publicfloatfloat_3;publicuintuint_4;}}staticbools_bool_5=false;staticbytes_byte_6=1;staticchars_char_7='D';staticdecimals_decimal_8=0.0833333333333333333333333333m;staticdoubles_double_9=4;staticshorts_short_10=4;staticints_int_11=0;staticlongs_long_12=5;staticsbytes_sbyte_13=7;staticfloats_float_14=1.1f;staticstrings_string_15="5E049";staticushorts_ushort_16=2;staticuints_uint_17=69;staticulongs_ulong_18=69;staticS1s_s1_19=newS1();staticS2.S2_D1_F1s_s2_s2_d1_f1_20=newS2.S2_D1_F1();staticS2s_s2_21=newS2();boolbool_22=true;bytebyte_23=5;charchar_24='E';decimaldecimal_25=2.0449438202247191011235955056m;doubledouble_26=1.1666666666666667;shortshort_27=5;intint_28=2;longlong_29=2;sbytesbyte_30=5;floatfloat_31=-1.882353f;stringstring_32="J0O3C";ushortushort_33=2;uintuint_34=2;ulongulong_35=1;S1s1_36=newS1();S2.S2_D1_F1s2_s2_d1_f1_37=newS2.S2_D1_F1();S2s2_38=newS2();staticints_loopInvariant=9;privatestaticList<string>toPrint=newList<string>();[MethodImpl(MethodImplOptions.NoInlining)]publicboolLeafMethod0(){unchecked{return((bool)(((bool)(bool_22=((bool)(s_bool_5=((bool)(s_s2_s2_d1_f1_20.float_3==s_s2_s2_d1_f1_20.float_3))))))||((bool)(((ushort)(s_ushort_16/((ushort)((((ushort)(ushort_33^=s_ushort_16)))+19))))==((ushort)(((ushort)(ushort_33-ushort_33))+((ushort)(ushort_33%((ushort)((ushort_33)+5))))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicbyteLeafMethod1(){unchecked{return((byte)(((byte)(s_byte_6&=((byte)(byte_23^=((byte)(s_byte_6%((byte)((byte_23)+42))))))))+((byte)(((byte)(((byte)(s_byte_6-=s_byte_6))*byte_23))+((byte)(((byte)(byte_23+s_byte_6))-((byte)(s_byte_6+byte_23))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicdecimalLeafMethod3(){unchecked{returndecimal_25;}}[MethodImpl(MethodImplOptions.NoInlining)]publicdoubleLeafMethod4(){unchecked{return((double)(s_double_9%((double)((((double)(s_double_9/=((double)((s_double_9)+84)))))+3))));}}publicshortLeafMethod5(){unchecked{return((short)(short_27*((short)(((short)(((short)(short_27<<=s_int_11))>>int_28))>>((int)(int_28+((int)(s_int_11<<4))))))));}}publicintLeafMethod6(){unchecked{return((int)(int_28-=int_28));}}[MethodImpl(MethodImplOptions.NoInlining)]publiclongLeafMethod7(){unchecked{return((long)(((long)(((long)(long_29%((long)((((long)(long_29+s_long_12)))+72))))&((long)(long_29-=s_long_12))))&((long)(((long)(((long)(s_long_12*long_29))-((long)(s_long_12+s_long_12))))&((long)(((long)(long_29+s_long_12))&s_long_12))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicsbyteLeafMethod8(){unchecked{return((sbyte)(sbyte_30>>=((int)(s_int_11=((int)(((int)(int_28&=LeafMethod6()))|int_28))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicfloatLeafMethod9(){unchecked{return((float)(((float)(((float)(((float)(s2_s2_d1_f1_37.float_3%((float)((float_31)+94))))-((float)(s_float_14+s_s2_s2_d1_f1_20.float_3))))/((float)((((float)(((float)(s_float_14-s_s2_s2_d1_f1_20.float_3))-((float)(float_31+4.02439f)))))+38))))%((float)((float_31)+29))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicushortLeafMethod11(){unchecked{return((ushort)(((ushort)(((ushort)(ushort_33|=((ushort)(2-ushort_33))))-((ushort)(((ushort)(ushort_33-ushort_33))&((ushort)(ushort_33/((ushort)((s_ushort_16)+24))))))))/((ushort)((((ushort)(((ushort)(((ushort)(s_ushort_16+=s_ushort_16))*((ushort)(s_ushort_16-ushort_33))))/((ushort)((((ushort)(s_ushort_16+s_ushort_16)))+37)))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicuintLeafMethod12(){unchecked{return((uint)(((uint)(s2_s2_d1_f1_37.uint_4=s_s2_s2_d1_f1_20.uint_2))+((uint)(((uint)(((uint)(s2_s2_d1_f1_37.uint_2|s_s2_s2_d1_f1_20.uint_2))^((uint)(s_s2_s2_d1_f1_20.uint_4*s2_s2_d1_f1_37.uint_4))))+((uint)(s_uint_17-s_s2_s2_d1_f1_20.uint_2))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publiculongLeafMethod13(){unchecked{return((ulong)(((ulong)(((ulong)(((ulong)(ulong_35-s_ulong_18))-((ulong)(s1_36.ulong_1%((ulong)((s1_36.ulong_1)+49))))))-((ulong)(((ulong)(s1_36.ulong_1|s_ulong_18))-((ulong)(s1_36.ulong_1&5))))))/((ulong)((((ulong)(2*((ulong)(((ulong)(s1_36.ulong_1+s_ulong_18))+((ulong)(s_ulong_18/=((ulong)((s_s1_19.ulong_1)+40)))))))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicS1LeafMethod14(){unchecked{returns1_36;}}publicS2.S2_D1_F1LeafMethod15(){unchecked{returns_s2_s2_d1_f1_20;}}[MethodImpl(MethodImplOptions.NoInlining)]publicS2LeafMethod16(){unchecked{returns_s2_21;}}publiculongMethod1(longp_long_39,outbytep_byte_40,intp_int_41,S2.S2_D1_F1p_s2_s2_d1_f1_42,longp_long_43){unchecked{boolbool_44=true;bytebyte_45=1;charchar_46='3';decimaldecimal_47=1m;doubledouble_48=0.020618556701030927;shortshort_49=2;intint_50=-2;longlong_51=2;sbytesbyte_52=2;floatfloat_53=2f;stringstring_54="5";ushortushort_55=2;uintuint_56=5;ulongulong_57=4;S1s1_58=newS1();S2.S2_D1_F1s2_s2_d1_f1_59=newS2.S2_D1_F1();S2.S2_D1_F1s2_s2_d1_f1_60=s2_s2_d1_f1_59;S2s2_61=newS2();p_byte_40=((byte)(((byte)(byte_45%=((byte)((((byte)(((byte)(LeafMethod1()-byte_23))+((byte)(byte_23^=s_byte_6)))))+23))))^((byte)(byte_23%((byte)((((byte)(s_byte_6+=((byte)(s_byte_6&LeafMethod1())))))+18))))));return((ulong)(((ulong)(((ulong)(s1_36.ulong_1<<=s_int_11))%((ulong)((s1_36.ulong_1)+16))))-s1_36.ulong_1));}}publicS2Method4(outS1p_s1_110,outdoublep_double_111,S1p_s1_112){unchecked{boolbool_113=false;bytebyte_114=5;charchar_115='1';decimaldecimal_116=2.0512820512820512820512820513m;doubledouble_117=-0.9487179487179487;shortshort_118=0;intint_119=-2;longlong_120=5;sbytesbyte_121=0;floatfloat_122=2.0555556f;stringstring_123="WVOC35BP";ushortushort_124=1;uintuint_125=2;ulongulong_126=69;S1s1_127=newS1();S2.S2_D1_F1s2_s2_d1_f1_128=newS2.S2_D1_F1();S2s2_129=newS2();S2s2_130=s2_129;p_s1_110=s1_36;p_double_111=((double)(s_double_9-=((double)(double_26=((double)(((double)(LeafMethod4()%((double)((s_double_9)+95))))/((double)((LeafMethod4())+79))))))));if(s_bool_5){int__loopvar4=s_loopInvariant;for(;int_28<(((int)(s_int_11|=((int)(s_int_11-=((int)(((int)(int_28-5))<<int_28)))))));int_28++){if(__loopvar4>s_loopInvariant+3)break;int__loopvar1=s_loopInvariant;int__loopvar2=s_loopInvariant;ulong_35>>=((int)(s_int_11+=((int)(((int)(s_int_11|=int_28))|((int)(((int)(int_119%((int)((int_119)+16))))<<((int)(s_int_11*int_119))))))));decimal_116+=((decimal)(s_decimal_8%=((decimal)((s_decimal_8)+87))));LeafMethod14();int__loopvar3=s_loopInvariant-6;switch(((long)(((long)(long_29<<=((int)(int_28-=((int)(int_28>>=LeafMethod6()))))))^((long)(long_120+long_120))))){case69:{s_uint_17^=((uint)(uint_34>>=((int)(((int)(int_28|=((int)(int_28%((int)((s_int_11)+72))))))-((int)(69/((int)((((int)(LeafMethod6()>>LeafMethod6())))+55))))))));s_decimal_8+=((decimal)(LeafMethod3()%((decimal)((((decimal)(((decimal)(((decimal)(decimal_25/=((decimal)((LeafMethod3())+23))))*((decimal)(LeafMethod3()/((decimal)((decimal_116)+36))))))*((decimal)(decimal_25=LeafMethod3())))))+64))));Method1(-1,outbyte_23,((int)(((int)(((int)(LeafMethod6()*LeafMethod6()))%((int)((((int)(int_119&LeafMethod6())))+53))))/((int)((int_28)+24)))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120-LeafMethod7()))^s_long_12))+long_29)));ulong_126=((ulong)(((ulong)(((ulong)(((ulong)(s_s1_19.ulong_1-=s_ulong_18))&((ulong)(s1_36.ulong_1|ulong_35))))+((ulong)(((ulong)(LeafMethod13()*1))%((ulong)((s_ulong_18)+6))))))^ulong_35));break;}default:{LeafMethod8();break;}}}LeafMethod7();shortshort_132=((short)(((short)(short_27-=((short)(s_short_10+-1))))*((short)(short_118>>((int)(((int)(-1>>int_28))%((int)((s_int_11)+37))))))));Log("short_132",short_132);}else{s1_36.ulong_1|=((ulong)(s1_127.ulong_1*=2));s_uint_17|=((uint)(s_s2_s2_d1_f1_20.uint_4|=s2_s2_d1_f1_37.uint_2));longlong_133=LeafMethod7();int_28<<=((int)(((int)(((int)(((int)(int_119+LeafMethod6()))*LeafMethod6()))>>int_119))^((int)(((int)(int_119+=((int)(int_119|=s_int_11))))*((int)(int_119*((int)(s_int_11<<int_119))))))));p_double_111=((double)(double_117+((double)(((double)(s_double_9*=((double)(s_double_9+p_double_111))))*((double)(((double)(s_double_9+double_26))/((double)((((double)(p_double_111*=p_double_111)))+75))))))));int__loopvar6=s_loopInvariant;for(;(__loopvar6!=s_loopInvariant+12);){if(((bool)(((int)(int_28=((int)(((int)(s_int_11=5))&((int)(int_28*s_int_11))))))>((int)(((int)(int_119%=((int)((((int)(5%((int)((s_int_11)+45)))))+30))))<<int_28))))){s_decimal_8*=((decimal)(LeafMethod3()+((decimal)(((decimal)(LeafMethod3()%((decimal)((((decimal)(LeafMethod3()%((decimal)((decimal_25)+6)))))+55))))/((decimal)((((decimal)(((decimal)(69.010101010101010101010101010m+decimal_25))-((decimal)(s_decimal_8+decimal_116)))))+99))))));boolbool_135=bool_113;}else{s2_s2_d1_f1_37.uint_2=((uint)(s_uint_17=LeafMethod12()));s_byte_6>>=((int)(((int)(((int)(s_int_11&((int)(LeafMethod6()|s_int_11))))*LeafMethod6()))<<((int)(((int)(s_int_11=LeafMethod6()))%((int)((((int)(((int)(LeafMethod6()%((int)((s_int_11)+13))))%((int)((LeafMethod6())+42)))))+68))))));LeafMethod15();}if(LeafMethod0()){s_s1_19.sbyte_0/=((sbyte)((((sbyte)(sbyte_121=((sbyte)(((sbyte)(((sbyte)(sbyte_121>>int_28))*((sbyte)(s_s1_19.sbyte_0%((sbyte)((LeafMethod8())+6))))))-((sbyte)(sbyte_30>>=((int)(s_int_11<<s_int_11)))))))))+25));int_119=((int)(((int)(int_119&=((int)(s_int_11=((int)(int_28>>=int_28))))))>>((int)(s_int_11/=((int)((((int)(((int)(5^LeafMethod6()))*((int)(LeafMethod6()^int_28)))))+93))))));Method1(((long)(long_29+((long)(((long)(LeafMethod7()^LeafMethod7()))>>((int)(int_28*s_int_11)))))),outbyte_23,((int)(((int)(((int)(int_28/((int)((int_119)+78))))|((int)(int_119^69))))<<((int)(((int)(int_28|=s_int_11))*int_119)))),s2_s2_d1_f1_37,((long)(long_133>>((int)(((int)(int_119>>s_int_11))|s_int_11)))));}else{s_int_11^=((int)(((int)(int_28^=((int)(((int)(int_119%((int)((int_28)+97))))+-1))))/((int)((((int)(LeafMethod6()/((int)((((int)(((int)(int_28+=LeafMethod6()))>>((int)(s_int_11%((int)((LeafMethod6())+96)))))))+87)))))+1))));long_29/=((long)((((long)(long_29*=((long)(LeafMethod7()%((long)((((long)(s_long_12^=((long)(long_133/=((long)((long_120)+82)))))))+89)))))))+25));p_double_111-=((double)(LeafMethod4()+((double)(double_26%=((double)((((double)(s_double_9%=((double)((LeafMethod4())+42)))))+61))))));decimal_116-=((decimal)(((decimal)(((decimal)(decimal_116+=((decimal)(s_decimal_8+decimal_116))))+((decimal)(((decimal)(LeafMethod3()-LeafMethod3()))-((decimal)(s_decimal_8*decimal_116))))))/((decimal)((decimal_116)+10))));LeafMethod14();}s_long_12<<=((int)(int_119/=((int)((LeafMethod6())+22))));s_ushort_16-=((ushort)(ushort_33<<=((int)(int_28^=((int)(s_int_11=int_119))))));s_ushort_16|=((ushort)(((ushort)(((ushort)(((ushort)(LeafMethod11()+ushort_33))+((ushort)(s_ushort_16/((ushort)((LeafMethod11())+45))))))|((ushort)(((ushort)(s_ushort_16+ushort_33))%((ushort)((((ushort)(ushort_33-ushort_33)))+79))))))*LeafMethod11()));LeafMethod14();double_26=((double)(LeafMethod4()%((double)((((double)(((double)(p_double_111+=((double)(double_26+LeafMethod4()))))-double_26)))+36))));int__loopvar5=s_loopInvariant+6,__loopSecondaryVar5_0=s_loopInvariant;}}LeafMethod16();Method1(long_29,outbyte_23,((int)(((int)(((int)(s_int_11<<LeafMethod6()))<<int_119))^((int)(((int)(LeafMethod6()+int_119))^((int)(s_int_11%((int)((s_int_11)+32)))))))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120%((long)((s_long_12)+4))))|long_120))%((long)((((long)(s_long_12&=long_29)))+34)))));Log("p_s1_112",p_s1_112);Log("bool_113",bool_113);Log("p_double_1",p_double_111);Log("string_123",string_123);Log("ushort_124",ushort_124);Log("ulong_126",ulong_126);Log("s2_s2_d1_f",s2_s2_d1_f1_128);Log("s2_130",s2_130);returns2_129;}}publicvoidMethod0(){unchecked{boolbool_136=true;bytebyte_137=126;charchar_138='H';decimaldecimal_139=-0.9545454545454545454545454545m;doubledouble_140=-1.9733333333333334;shortshort_141=0;intint_142=5;longlong_143=5;sbytesbyte_144=-1;floatfloat_145=4.0163937f;stringstring_146="CINM6";ushortushort_147=69;uintuint_148=1;ulongulong_149=4;S1s1_150=newS1();S1s1_151=s1_150;S2.S2_D1_F1s2_s2_d1_f1_152=newS2.S2_D1_F1();S2s2_153=newS2();if(((bool)(s_bool_5=((bool)(bool_22=((bool)(((bool)(LeafMethod1()<=byte_23))||((bool)(LeafMethod7()<=LeafMethod7()))))))))){}else{int__loopvar5=s_loopInvariant;}int__loopvar7=s_loopInvariant;s2_153=Method4(outs1_150,outdouble_140,s1_36);Log("s1_151.ulo",s1_151.ulong_1);Log("s2_153",s2_153);return;}}publicstaticvoidMain(string[]args){newTestClass().Method0();PrintLog();}[MethodImpl(MethodImplOptions.NoInlining)]publicstaticvoidLog(stringvarName,objectvarValue){toPrint.Add($"{varName}={varValue}");}publicstaticvoidPrintLog(){foreach(varentryintoPrint){Console.WriteLine(entry);}}}/*Environment:set COMPlus_TieredCompilation=1set COMPlus_TC_OnStackReplacement_InitialCounter=1set COMPlus_AltJitName=clrjit_universal_arm64_x64.dllset COMPlus_AltJit=Method4Assert failure(PID 31608 [0x00007b78], Thread: 30564 [0x7764]): Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' in 'TestClass:Method4(byref,byref,S1):S2:this' during 'Generate code' (IL size 2675; hash 0x97446e08; Tier1-OSR) File: D:\git\dotnet-runtime\src\coreclr\jit\emitarm64.cpp Line: 5645 Image: d:\git\dotnet-runtime\artifacts\tests\coreclr\windows.x64.Checked\tests\Core_Root\CoreRun.exe*/

              Metadata

              Metadata

              Assignees

              Labels

              arch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

              Type

              No type

              Projects

              No projects

                Milestone

                Relationships

                None yet

                Development

                No branches or pull requests

                Issue actions

                , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
                Skip to content

                Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' during 'Generate code'  #68536

                Description

                @kunalspathak

                Antigen tried reducing it but at one point, it was too slow to reduce. Hopefully it won't be that bad to reduce the test to smaller repro.

                // Found by AntigenusingSystem;usingSystem.Collections.Generic;usingSystem.Runtime.CompilerServices;publicclassTestClass{publicstructS1{publicsbytesbyte_0;publiculongulong_1;}publicstructS2{publicstructS2_D1_F1{publicuintuint_2;publicfloatfloat_3;publicuintuint_4;}}staticbools_bool_5=false;staticbytes_byte_6=1;staticchars_char_7='D';staticdecimals_decimal_8=0.0833333333333333333333333333m;staticdoubles_double_9=4;staticshorts_short_10=4;staticints_int_11=0;staticlongs_long_12=5;staticsbytes_sbyte_13=7;staticfloats_float_14=1.1f;staticstrings_string_15="5E049";staticushorts_ushort_16=2;staticuints_uint_17=69;staticulongs_ulong_18=69;staticS1s_s1_19=newS1();staticS2.S2_D1_F1s_s2_s2_d1_f1_20=newS2.S2_D1_F1();staticS2s_s2_21=newS2();boolbool_22=true;bytebyte_23=5;charchar_24='E';decimaldecimal_25=2.0449438202247191011235955056m;doubledouble_26=1.1666666666666667;shortshort_27=5;intint_28=2;longlong_29=2;sbytesbyte_30=5;floatfloat_31=-1.882353f;stringstring_32="J0O3C";ushortushort_33=2;uintuint_34=2;ulongulong_35=1;S1s1_36=newS1();S2.S2_D1_F1s2_s2_d1_f1_37=newS2.S2_D1_F1();S2s2_38=newS2();staticints_loopInvariant=9;privatestaticList<string>toPrint=newList<string>();[MethodImpl(MethodImplOptions.NoInlining)]publicboolLeafMethod0(){unchecked{return((bool)(((bool)(bool_22=((bool)(s_bool_5=((bool)(s_s2_s2_d1_f1_20.float_3==s_s2_s2_d1_f1_20.float_3))))))||((bool)(((ushort)(s_ushort_16/((ushort)((((ushort)(ushort_33^=s_ushort_16)))+19))))==((ushort)(((ushort)(ushort_33-ushort_33))+((ushort)(ushort_33%((ushort)((ushort_33)+5))))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicbyteLeafMethod1(){unchecked{return((byte)(((byte)(s_byte_6&=((byte)(byte_23^=((byte)(s_byte_6%((byte)((byte_23)+42))))))))+((byte)(((byte)(((byte)(s_byte_6-=s_byte_6))*byte_23))+((byte)(((byte)(byte_23+s_byte_6))-((byte)(s_byte_6+byte_23))))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicdecimalLeafMethod3(){unchecked{returndecimal_25;}}[MethodImpl(MethodImplOptions.NoInlining)]publicdoubleLeafMethod4(){unchecked{return((double)(s_double_9%((double)((((double)(s_double_9/=((double)((s_double_9)+84)))))+3))));}}publicshortLeafMethod5(){unchecked{return((short)(short_27*((short)(((short)(((short)(short_27<<=s_int_11))>>int_28))>>((int)(int_28+((int)(s_int_11<<4))))))));}}publicintLeafMethod6(){unchecked{return((int)(int_28-=int_28));}}[MethodImpl(MethodImplOptions.NoInlining)]publiclongLeafMethod7(){unchecked{return((long)(((long)(((long)(long_29%((long)((((long)(long_29+s_long_12)))+72))))&((long)(long_29-=s_long_12))))&((long)(((long)(((long)(s_long_12*long_29))-((long)(s_long_12+s_long_12))))&((long)(((long)(long_29+s_long_12))&s_long_12))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicsbyteLeafMethod8(){unchecked{return((sbyte)(sbyte_30>>=((int)(s_int_11=((int)(((int)(int_28&=LeafMethod6()))|int_28))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicfloatLeafMethod9(){unchecked{return((float)(((float)(((float)(((float)(s2_s2_d1_f1_37.float_3%((float)((float_31)+94))))-((float)(s_float_14+s_s2_s2_d1_f1_20.float_3))))/((float)((((float)(((float)(s_float_14-s_s2_s2_d1_f1_20.float_3))-((float)(float_31+4.02439f)))))+38))))%((float)((float_31)+29))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicushortLeafMethod11(){unchecked{return((ushort)(((ushort)(((ushort)(ushort_33|=((ushort)(2-ushort_33))))-((ushort)(((ushort)(ushort_33-ushort_33))&((ushort)(ushort_33/((ushort)((s_ushort_16)+24))))))))/((ushort)((((ushort)(((ushort)(((ushort)(s_ushort_16+=s_ushort_16))*((ushort)(s_ushort_16-ushort_33))))/((ushort)((((ushort)(s_ushort_16+s_ushort_16)))+37)))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicuintLeafMethod12(){unchecked{return((uint)(((uint)(s2_s2_d1_f1_37.uint_4=s_s2_s2_d1_f1_20.uint_2))+((uint)(((uint)(((uint)(s2_s2_d1_f1_37.uint_2|s_s2_s2_d1_f1_20.uint_2))^((uint)(s_s2_s2_d1_f1_20.uint_4*s2_s2_d1_f1_37.uint_4))))+((uint)(s_uint_17-s_s2_s2_d1_f1_20.uint_2))))));}}[MethodImpl(MethodImplOptions.NoInlining)]publiculongLeafMethod13(){unchecked{return((ulong)(((ulong)(((ulong)(((ulong)(ulong_35-s_ulong_18))-((ulong)(s1_36.ulong_1%((ulong)((s1_36.ulong_1)+49))))))-((ulong)(((ulong)(s1_36.ulong_1|s_ulong_18))-((ulong)(s1_36.ulong_1&5))))))/((ulong)((((ulong)(2*((ulong)(((ulong)(s1_36.ulong_1+s_ulong_18))+((ulong)(s_ulong_18/=((ulong)((s_s1_19.ulong_1)+40)))))))))+45))));}}[MethodImpl(MethodImplOptions.NoInlining)]publicS1LeafMethod14(){unchecked{returns1_36;}}publicS2.S2_D1_F1LeafMethod15(){unchecked{returns_s2_s2_d1_f1_20;}}[MethodImpl(MethodImplOptions.NoInlining)]publicS2LeafMethod16(){unchecked{returns_s2_21;}}publiculongMethod1(longp_long_39,outbytep_byte_40,intp_int_41,S2.S2_D1_F1p_s2_s2_d1_f1_42,longp_long_43){unchecked{boolbool_44=true;bytebyte_45=1;charchar_46='3';decimaldecimal_47=1m;doubledouble_48=0.020618556701030927;shortshort_49=2;intint_50=-2;longlong_51=2;sbytesbyte_52=2;floatfloat_53=2f;stringstring_54="5";ushortushort_55=2;uintuint_56=5;ulongulong_57=4;S1s1_58=newS1();S2.S2_D1_F1s2_s2_d1_f1_59=newS2.S2_D1_F1();S2.S2_D1_F1s2_s2_d1_f1_60=s2_s2_d1_f1_59;S2s2_61=newS2();p_byte_40=((byte)(((byte)(byte_45%=((byte)((((byte)(((byte)(LeafMethod1()-byte_23))+((byte)(byte_23^=s_byte_6)))))+23))))^((byte)(byte_23%((byte)((((byte)(s_byte_6+=((byte)(s_byte_6&LeafMethod1())))))+18))))));return((ulong)(((ulong)(((ulong)(s1_36.ulong_1<<=s_int_11))%((ulong)((s1_36.ulong_1)+16))))-s1_36.ulong_1));}}publicS2Method4(outS1p_s1_110,outdoublep_double_111,S1p_s1_112){unchecked{boolbool_113=false;bytebyte_114=5;charchar_115='1';decimaldecimal_116=2.0512820512820512820512820513m;doubledouble_117=-0.9487179487179487;shortshort_118=0;intint_119=-2;longlong_120=5;sbytesbyte_121=0;floatfloat_122=2.0555556f;stringstring_123="WVOC35BP";ushortushort_124=1;uintuint_125=2;ulongulong_126=69;S1s1_127=newS1();S2.S2_D1_F1s2_s2_d1_f1_128=newS2.S2_D1_F1();S2s2_129=newS2();S2s2_130=s2_129;p_s1_110=s1_36;p_double_111=((double)(s_double_9-=((double)(double_26=((double)(((double)(LeafMethod4()%((double)((s_double_9)+95))))/((double)((LeafMethod4())+79))))))));if(s_bool_5){int__loopvar4=s_loopInvariant;for(;int_28<(((int)(s_int_11|=((int)(s_int_11-=((int)(((int)(int_28-5))<<int_28)))))));int_28++){if(__loopvar4>s_loopInvariant+3)break;int__loopvar1=s_loopInvariant;int__loopvar2=s_loopInvariant;ulong_35>>=((int)(s_int_11+=((int)(((int)(s_int_11|=int_28))|((int)(((int)(int_119%((int)((int_119)+16))))<<((int)(s_int_11*int_119))))))));decimal_116+=((decimal)(s_decimal_8%=((decimal)((s_decimal_8)+87))));LeafMethod14();int__loopvar3=s_loopInvariant-6;switch(((long)(((long)(long_29<<=((int)(int_28-=((int)(int_28>>=LeafMethod6()))))))^((long)(long_120+long_120))))){case69:{s_uint_17^=((uint)(uint_34>>=((int)(((int)(int_28|=((int)(int_28%((int)((s_int_11)+72))))))-((int)(69/((int)((((int)(LeafMethod6()>>LeafMethod6())))+55))))))));s_decimal_8+=((decimal)(LeafMethod3()%((decimal)((((decimal)(((decimal)(((decimal)(decimal_25/=((decimal)((LeafMethod3())+23))))*((decimal)(LeafMethod3()/((decimal)((decimal_116)+36))))))*((decimal)(decimal_25=LeafMethod3())))))+64))));Method1(-1,outbyte_23,((int)(((int)(((int)(LeafMethod6()*LeafMethod6()))%((int)((((int)(int_119&LeafMethod6())))+53))))/((int)((int_28)+24)))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120-LeafMethod7()))^s_long_12))+long_29)));ulong_126=((ulong)(((ulong)(((ulong)(((ulong)(s_s1_19.ulong_1-=s_ulong_18))&((ulong)(s1_36.ulong_1|ulong_35))))+((ulong)(((ulong)(LeafMethod13()*1))%((ulong)((s_ulong_18)+6))))))^ulong_35));break;}default:{LeafMethod8();break;}}}LeafMethod7();shortshort_132=((short)(((short)(short_27-=((short)(s_short_10+-1))))*((short)(short_118>>((int)(((int)(-1>>int_28))%((int)((s_int_11)+37))))))));Log("short_132",short_132);}else{s1_36.ulong_1|=((ulong)(s1_127.ulong_1*=2));s_uint_17|=((uint)(s_s2_s2_d1_f1_20.uint_4|=s2_s2_d1_f1_37.uint_2));longlong_133=LeafMethod7();int_28<<=((int)(((int)(((int)(((int)(int_119+LeafMethod6()))*LeafMethod6()))>>int_119))^((int)(((int)(int_119+=((int)(int_119|=s_int_11))))*((int)(int_119*((int)(s_int_11<<int_119))))))));p_double_111=((double)(double_117+((double)(((double)(s_double_9*=((double)(s_double_9+p_double_111))))*((double)(((double)(s_double_9+double_26))/((double)((((double)(p_double_111*=p_double_111)))+75))))))));int__loopvar6=s_loopInvariant;for(;(__loopvar6!=s_loopInvariant+12);){if(((bool)(((int)(int_28=((int)(((int)(s_int_11=5))&((int)(int_28*s_int_11))))))>((int)(((int)(int_119%=((int)((((int)(5%((int)((s_int_11)+45)))))+30))))<<int_28))))){s_decimal_8*=((decimal)(LeafMethod3()+((decimal)(((decimal)(LeafMethod3()%((decimal)((((decimal)(LeafMethod3()%((decimal)((decimal_25)+6)))))+55))))/((decimal)((((decimal)(((decimal)(69.010101010101010101010101010m+decimal_25))-((decimal)(s_decimal_8+decimal_116)))))+99))))));boolbool_135=bool_113;}else{s2_s2_d1_f1_37.uint_2=((uint)(s_uint_17=LeafMethod12()));s_byte_6>>=((int)(((int)(((int)(s_int_11&((int)(LeafMethod6()|s_int_11))))*LeafMethod6()))<<((int)(((int)(s_int_11=LeafMethod6()))%((int)((((int)(((int)(LeafMethod6()%((int)((s_int_11)+13))))%((int)((LeafMethod6())+42)))))+68))))));LeafMethod15();}if(LeafMethod0()){s_s1_19.sbyte_0/=((sbyte)((((sbyte)(sbyte_121=((sbyte)(((sbyte)(((sbyte)(sbyte_121>>int_28))*((sbyte)(s_s1_19.sbyte_0%((sbyte)((LeafMethod8())+6))))))-((sbyte)(sbyte_30>>=((int)(s_int_11<<s_int_11)))))))))+25));int_119=((int)(((int)(int_119&=((int)(s_int_11=((int)(int_28>>=int_28))))))>>((int)(s_int_11/=((int)((((int)(((int)(5^LeafMethod6()))*((int)(LeafMethod6()^int_28)))))+93))))));Method1(((long)(long_29+((long)(((long)(LeafMethod7()^LeafMethod7()))>>((int)(int_28*s_int_11)))))),outbyte_23,((int)(((int)(((int)(int_28/((int)((int_119)+78))))|((int)(int_119^69))))<<((int)(((int)(int_28|=s_int_11))*int_119)))),s2_s2_d1_f1_37,((long)(long_133>>((int)(((int)(int_119>>s_int_11))|s_int_11)))));}else{s_int_11^=((int)(((int)(int_28^=((int)(((int)(int_119%((int)((int_28)+97))))+-1))))/((int)((((int)(LeafMethod6()/((int)((((int)(((int)(int_28+=LeafMethod6()))>>((int)(s_int_11%((int)((LeafMethod6())+96)))))))+87)))))+1))));long_29/=((long)((((long)(long_29*=((long)(LeafMethod7()%((long)((((long)(s_long_12^=((long)(long_133/=((long)((long_120)+82)))))))+89)))))))+25));p_double_111-=((double)(LeafMethod4()+((double)(double_26%=((double)((((double)(s_double_9%=((double)((LeafMethod4())+42)))))+61))))));decimal_116-=((decimal)(((decimal)(((decimal)(decimal_116+=((decimal)(s_decimal_8+decimal_116))))+((decimal)(((decimal)(LeafMethod3()-LeafMethod3()))-((decimal)(s_decimal_8*decimal_116))))))/((decimal)((decimal_116)+10))));LeafMethod14();}s_long_12<<=((int)(int_119/=((int)((LeafMethod6())+22))));s_ushort_16-=((ushort)(ushort_33<<=((int)(int_28^=((int)(s_int_11=int_119))))));s_ushort_16|=((ushort)(((ushort)(((ushort)(((ushort)(LeafMethod11()+ushort_33))+((ushort)(s_ushort_16/((ushort)((LeafMethod11())+45))))))|((ushort)(((ushort)(s_ushort_16+ushort_33))%((ushort)((((ushort)(ushort_33-ushort_33)))+79))))))*LeafMethod11()));LeafMethod14();double_26=((double)(LeafMethod4()%((double)((((double)(((double)(p_double_111+=((double)(double_26+LeafMethod4()))))-double_26)))+36))));int__loopvar5=s_loopInvariant+6,__loopSecondaryVar5_0=s_loopInvariant;}}LeafMethod16();Method1(long_29,outbyte_23,((int)(((int)(((int)(s_int_11<<LeafMethod6()))<<int_119))^((int)(((int)(LeafMethod6()+int_119))^((int)(s_int_11%((int)((s_int_11)+32)))))))),s2_s2_d1_f1_37,((long)(((long)(((long)(long_120%((long)((s_long_12)+4))))|long_120))%((long)((((long)(s_long_12&=long_29)))+34)))));Log("p_s1_112",p_s1_112);Log("bool_113",bool_113);Log("p_double_1",p_double_111);Log("string_123",string_123);Log("ushort_124",ushort_124);Log("ulong_126",ulong_126);Log("s2_s2_d1_f",s2_s2_d1_f1_128);Log("s2_130",s2_130);returns2_129;}}publicvoidMethod0(){unchecked{boolbool_136=true;bytebyte_137=126;charchar_138='H';decimaldecimal_139=-0.9545454545454545454545454545m;doubledouble_140=-1.9733333333333334;shortshort_141=0;intint_142=5;longlong_143=5;sbytesbyte_144=-1;floatfloat_145=4.0163937f;stringstring_146="CINM6";ushortushort_147=69;uintuint_148=1;ulongulong_149=4;S1s1_150=newS1();S1s1_151=s1_150;S2.S2_D1_F1s2_s2_d1_f1_152=newS2.S2_D1_F1();S2s2_153=newS2();if(((bool)(s_bool_5=((bool)(bool_22=((bool)(((bool)(LeafMethod1()<=byte_23))||((bool)(LeafMethod7()<=LeafMethod7()))))))))){}else{int__loopvar5=s_loopInvariant;}int__loopvar7=s_loopInvariant;s2_153=Method4(outs1_150,outdouble_140,s1_36);Log("s1_151.ulo",s1_151.ulong_1);Log("s2_153",s2_153);return;}}publicstaticvoidMain(string[]args){newTestClass().Method0();PrintLog();}[MethodImpl(MethodImplOptions.NoInlining)]publicstaticvoidLog(stringvarName,objectvarValue){toPrint.Add($"{varName}={varValue}");}publicstaticvoidPrintLog(){foreach(varentryintoPrint){Console.WriteLine(entry);}}}/*Environment:set COMPlus_TieredCompilation=1set COMPlus_TC_OnStackReplacement_InitialCounter=1set COMPlus_AltJitName=clrjit_universal_arm64_x64.dllset COMPlus_AltJit=Method4Assert failure(PID 31608 [0x00007b78], Thread: 30564 [0x7764]): Assertion failed '!"Instruction cannot be encoded: IF_LS_2B"' in 'TestClass:Method4(byref,byref,S1):S2:this' during 'Generate code' (IL size 2675; hash 0x97446e08; Tier1-OSR) File: D:\git\dotnet-runtime\src\coreclr\jit\emitarm64.cpp Line: 5645 Image: d:\git\dotnet-runtime\artifacts\tests\coreclr\windows.x64.Checked\tests\Core_Root\CoreRun.exe*/

                Metadata

                Metadata

                Assignees

                Labels

                arch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

                Type

                No type

                Projects

                No projects

                  Milestone

                  Relationships

                  None yet

                  Development

                  No branches or pull requests

                  Issue actions