<div dir="ltr">I have added new instructions to my target, unfortunately they are not being properly type legalized. The instructions I've added are a vector add, vector load and a vector store. Can anyone lend a hand on how to legalize them so that my target would be able to recognize them.<div><br></div><div>Below is the output of llc with a -debug-only=isel. As you could see the output type for load, store, and add changes from v4i32 to i32 during legalization. How can I preserve the output type to v4i32?</div><div><div><br></div><div><br></div><div>Any help is greatly appreciated.</div><div><br></div><div>=== main</div><div>Initial selection DAG: BB#0 'main:entry'</div><div>SelectionDAG has 14 nodes:</div><div>  0x3e7e2f0: ch = EntryToken</div><div><br></div><div>  0x3ea45e0: i32 = undef</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>    0x3ea43d0: i32 = FrameIndex<1></div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea46e8: v4i32,ch = load 0x3e7e2f0, 0x3ea43d0, 0x3ea45e0<LD16[%a](align=4)> [ORD=5]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>    0x3ea47f0: i32 = FrameIndex<2></div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea48f8: v4i32,ch = load 0x3e7e2f0, 0x3ea47f0, 0x3ea45e0<LD16[%b](align=4)> [ORD=6]</div><div><br></div><div>  0x3ea4e20: i32 = Register %R11</div><div><br></div><div>        0x3ea46e8: <multiple use></div><div>        0x3ea48f8: <multiple use></div><div>      0x3ea4c10: ch = TokenFactor 0x3ea46e8:1, 0x3ea48f8:1 [ORD=8]</div><div><br></div><div>        0x3ea46e8: <multiple use></div><div>        0x3ea48f8: <multiple use></div><div>      0x3ea4a00: v4i32 = add 0x3ea46e8, 0x3ea48f8 [ORD=7]</div><div><br></div><div>      0x3ea4b08: i32 = FrameIndex<0></div><div><br></div><div>      0x3ea45e0: <multiple use></div><div>    0x3ea4d18: ch = store 0x3ea4c10, 0x3ea4a00, 0x3ea4b08, 0x3ea45e0<ST16[%z](align=4)> [ORD=8]</div><div><br></div><div>    0x3ea4e20: <multiple use></div><div>    0x3ea44d8: i32 = Constant<0></div><div><br></div><div>  0x3ea4f28: ch,glue = CopyToReg 0x3ea4d18, 0x3ea4e20, 0x3ea44d8 [ORD=9]</div><div><br></div><div>    0x3ea4f28: <multiple use></div><div>    0x3ea4e20: <multiple use></div><div>    0x3ea4f28: <multiple use></div><div>  0x3ea5030: ch = EsenciaISD::RET_FLAG 0x3ea4f28, 0x3ea4e20, 0x3ea4f28:1 [ORD=9]</div><div><br></div><div><br></div><div>Optimized lowered selection DAG: BB#0 'main:entry'</div><div>SelectionDAG has 14 nodes:</div><div>  0x3e7e2f0: ch = EntryToken</div><div><br></div><div>  0x3ea45e0: i32 = undef</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>    0x3ea43d0: i32 = FrameIndex<1></div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea46e8: v4i32,ch = load 0x3e7e2f0, 0x3ea43d0, 0x3ea45e0<LD16[%a](align=4)> [ORD=5]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>    0x3ea47f0: i32 = FrameIndex<2></div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea48f8: v4i32,ch = load 0x3e7e2f0, 0x3ea47f0, 0x3ea45e0<LD16[%b](align=4)> [ORD=6]</div><div><br></div><div>  0x3ea4e20: i32 = Register %R11</div><div><br></div><div>        0x3ea46e8: <multiple use></div><div>        0x3ea48f8: <multiple use></div><div>      0x3ea4c10: ch = TokenFactor 0x3ea46e8:1, 0x3ea48f8:1 [ORD=8]</div><div><br></div><div>        0x3ea46e8: <multiple use></div><div>        0x3ea48f8: <multiple use></div><div>      0x3ea4a00: v4i32 = add 0x3ea46e8, 0x3ea48f8 [ORD=7]</div><div><br></div><div>      0x3ea4b08: i32 = FrameIndex<0></div><div><br></div><div>      0x3ea45e0: <multiple use></div><div>    0x3ea4d18: ch = store 0x3ea4c10, 0x3ea4a00, 0x3ea4b08, 0x3ea45e0<ST16[%z](align=4)> [ORD=8]</div><div><br></div><div>    0x3ea4e20: <multiple use></div><div>    0x3ea44d8: i32 = Constant<0></div><div><br></div><div>  0x3ea4f28: ch,glue = CopyToReg 0x3ea4d18, 0x3ea4e20, 0x3ea44d8 [ORD=9]</div><div><br></div><div>    0x3ea4f28: <multiple use></div><div>    0x3ea4e20: <multiple use></div><div>    0x3ea4f28: <multiple use></div><div>  0x3ea5030: ch = EsenciaISD::RET_FLAG 0x3ea4f28, 0x3ea4e20, 0x3ea4f28:1 [ORD=9]</div><div><br></div><div><br></div><div>Type-legalized selection DAG: BB#0 'main:entry'</div><div>SelectionDAG has 46 nodes:</div><div>  0x3e7e2f0: ch = EntryToken [ID=-3]</div><div><br></div><div>  0x3ea43d0: i32 = FrameIndex<1> [ID=-3]</div><div><br></div><div>  0x3ea45e0: i32 = undef [ID=-3]</div><div><br></div><div>  0x3ea47f0: i32 = FrameIndex<2> [ID=-3]</div><div><br></div><div>  0x3ea4b08: i32 = FrameIndex<0> [ID=-3]</div><div><br></div><div>        0x3ea8520: <multiple use></div><div>        0x3ea7b70: <multiple use></div><div>      0x3ea7a68: ch = TokenFactor 0x3ea8520:1, 0x3ea7b70:1 [ORD=5] [ID=-3]</div><div><br></div><div>        0x3ea7648: <multiple use></div><div>        0x3ea7540: <multiple use></div><div>      0x3ea7438: ch = TokenFactor 0x3ea7648:1, 0x3ea7540:1 [ORD=5] [ID=-3]</div><div><br></div><div>    0x3ea6f10: ch = TokenFactor 0x3ea7a68, 0x3ea7438 [ORD=5] [ID=-3]</div><div><br></div><div>        0x3eab3a0: <multiple use></div><div>        0x3eab190: <multiple use></div><div>      0x3eaae78: ch = TokenFactor 0x3eab3a0:1, 0x3eab190:1 [ORD=6] [ID=-3]</div><div><br></div><div>        0x3eaa950: <multiple use></div><div>        0x3ea9288: <multiple use></div><div>      0x3ea8f70: ch = TokenFactor 0x3eaa950:1, 0x3ea9288:1 [ORD=6] [ID=-3]</div><div><br></div><div>    0x3ea8940: ch = TokenFactor 0x3eaae78, 0x3ea8f70 [ORD=6] [ID=-3]</div><div><br></div><div>  0x3ea4c10: ch = TokenFactor 0x3ea6f10, 0x3ea8940 [ORD=8] [ID=-3]</div><div><br></div><div>  0x3ea4e20: i32 = Register %R11 [ID=-3]</div><div><br></div><div>          0x3ea4c10: <multiple use></div><div>            0x3ea8520: <multiple use></div><div>            0x3eab3a0: <multiple use></div><div>          0x3eab4a8: i32 = add 0x3ea8520, 0x3eab3a0 [ORD=7] [ID=-3]</div><div><br></div><div>          0x3ea4b08: <multiple use></div><div>          0x3ea45e0: <multiple use></div><div>        0x3eac5c0: ch = store 0x3ea4c10, 0x3eab4a8, 0x3ea4b08, 0x3ea45e0<ST4[%z]> [ORD=8] [ID=-3]</div><div><br></div><div>          0x3ea4c10: <multiple use></div><div>            0x3ea7b70: <multiple use></div><div>            0x3eab190: <multiple use></div><div>          0x3eab298: i32 = add 0x3ea7b70, 0x3eab190 [ORD=7] [ID=-3]</div><div><br></div><div>            0x3ea4b08: <multiple use></div><div>            0x3ea7120: <multiple use></div><div>          0x3eac1a0: i32 = add 0x3ea4b08, 0x3ea7120 [ORD=8] [ID=-3]</div><div><br></div><div>          0x3ea45e0: <multiple use></div><div>        0x3eac4b8: ch = store 0x3ea4c10, 0x3eab298, 0x3eac1a0, 0x3ea45e0<ST4[%z+4]> [ORD=8] [ID=-3]</div><div><br></div><div>      0x3eac3b0: ch = TokenFactor 0x3eac5c0, 0x3eac4b8 [ORD=8] [ID=-3]</div><div><br></div><div>          0x3ea4c10: <multiple use></div><div>            0x3ea7648: <multiple use></div><div>            0x3eaa950: <multiple use></div><div>          0x3eaaa58: i32 = add 0x3ea7648, 0x3eaa950 [ORD=7] [ID=-3]</div><div><br></div><div>          0x3eab6b8: <multiple use></div><div>          0x3ea45e0: <multiple use></div><div>        0x3eabf90: ch = store 0x3ea4c10, 0x3eaaa58, 0x3eab6b8, 0x3ea45e0<ST4[%z+8]> [ORD=8] [ID=-3]</div><div><br></div><div>          0x3ea4c10: <multiple use></div><div>            0x3ea7540: <multiple use></div><div>            0x3ea9288: <multiple use></div><div>          0x3ea9390: i32 = add 0x3ea7540, 0x3ea9288 [ORD=7] [ID=-3]</div><div><br></div><div>            0x3eab6b8: <multiple use></div><div>            0x3ea7120: <multiple use></div><div>          0x3eabb70: i32 = add 0x3eab6b8, 0x3ea7120 [ORD=8] [ID=-3]</div><div><br></div><div>          0x3ea45e0: <multiple use></div><div>        0x3eabe88: ch = store 0x3ea4c10, 0x3ea9390, 0x3eabb70, 0x3ea45e0<ST4[%z+12]> [ORD=8] [ID=-3]</div><div><br></div><div>      0x3eabd80: ch = TokenFactor 0x3eabf90, 0x3eabe88 [ORD=8] [ID=-3]</div><div><br></div><div>    0x3eab960: ch = TokenFactor 0x3eac3b0, 0x3eabd80 [ORD=8] [ID=-3]</div><div><br></div><div>    0x3ea4e20: <multiple use></div><div>    0x3ea44d8: i32 = Constant<0> [ID=-3]</div><div><br></div><div>  0x3ea4f28: ch,glue = CopyToReg 0x3eab960, 0x3ea4e20, 0x3ea44d8 [ORD=9] [ID=-3]</div><div><br></div><div>  0x3ea5240: i32 = Constant<8> [ID=-3]</div><div><br></div><div>    0x3ea43d0: <multiple use></div><div>    0x3ea5240: <multiple use></div><div>  0x3ea6d00: i32 = add 0x3ea43d0, 0x3ea5240 [ORD=5] [ID=-3]</div><div><br></div><div>  0x3ea7120: i32 = Constant<4> [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea6d00: <multiple use></div><div>      0x3ea7120: <multiple use></div><div>    0x3ea7228: i32 = add 0x3ea6d00, 0x3ea7120 [ORD=5] [ID=-3]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea7540: i32,ch = load 0x3e7e2f0, 0x3ea7228, 0x3ea45e0<LD4[%a+12]> [ORD=5] [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>    0x3ea6d00: <multiple use></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea7648: i32,ch = load 0x3e7e2f0, 0x3ea6d00, 0x3ea45e0<LD4[%a+8]> [ORD=5] [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea43d0: <multiple use></div><div>      0x3ea7120: <multiple use></div><div>    0x3ea7858: i32 = add 0x3ea43d0, 0x3ea7120 [ORD=5] [ID=-3]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea7b70: i32,ch = load 0x3e7e2f0, 0x3ea7858, 0x3ea45e0<LD4[%a+4]> [ORD=5] [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>    0x3ea43d0: <multiple use></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea8520: i32,ch = load 0x3e7e2f0, 0x3ea43d0, 0x3ea45e0<LD4[%a]> [ORD=5] [ID=-3]</div><div><br></div><div>    0x3ea47f0: <multiple use></div><div>    0x3ea5240: <multiple use></div><div>  0x3ea8730: i32 = add 0x3ea47f0, 0x3ea5240 [ORD=6] [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea8730: <multiple use></div><div>      0x3ea7120: <multiple use></div><div>    0x3ea8d60: i32 = add 0x3ea8730, 0x3ea7120 [ORD=6] [ID=-3]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea9288: i32,ch = load 0x3e7e2f0, 0x3ea8d60, 0x3ea45e0<LD4[%b+12]> [ORD=6] [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>    0x3ea8730: <multiple use></div><div>    0x3ea45e0: <multiple use></div><div>  0x3eaa950: i32,ch = load 0x3e7e2f0, 0x3ea8730, 0x3ea45e0<LD4[%b+8]> [ORD=6] [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea47f0: <multiple use></div><div>      0x3ea7120: <multiple use></div><div>    0x3eaac68: i32 = add 0x3ea47f0, 0x3ea7120 [ORD=6] [ID=-3]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3eab190: i32,ch = load 0x3e7e2f0, 0x3eaac68, 0x3ea45e0<LD4[%b+4]> [ORD=6] [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>    0x3ea47f0: <multiple use></div><div>    0x3ea45e0: <multiple use></div><div>  0x3eab3a0: i32,ch = load 0x3e7e2f0, 0x3ea47f0, 0x3ea45e0<LD4[%b]> [ORD=6] [ID=-3]</div><div><br></div><div>    0x3ea4b08: <multiple use></div><div>    0x3ea5240: <multiple use></div><div>  0x3eab6b8: i32 = add 0x3ea4b08, 0x3ea5240 [ORD=8] [ID=-3]</div><div><br></div><div>    0x3ea4f28: <multiple use></div><div>    0x3ea4e20: <multiple use></div><div>    0x3ea4f28: <multiple use></div><div>  0x3ea5030: ch = EsenciaISD::RET_FLAG 0x3ea4f28, 0x3ea4e20, 0x3ea4f28:1 [ORD=9] [ID=-3]</div><div><br></div><div><br></div><div>Optimized type-legalized selection DAG: BB#0 'main:entry'</div><div>SelectionDAG has 39 nodes:</div><div>  0x3e7e2f0: ch = EntryToken [ID=-3]</div><div><br></div><div>  0x3ea43d0: i32 = FrameIndex<1> [ID=-3]</div><div><br></div><div>  0x3ea45e0: i32 = undef [ID=-3]</div><div><br></div><div>  0x3ea47f0: i32 = FrameIndex<2> [ID=-3]</div><div><br></div><div>  0x3ea4b08: i32 = FrameIndex<0> [ID=-3]</div><div><br></div><div>  0x3ea4e20: i32 = Register %R11 [ID=-3]</div><div><br></div><div>        0x3ea7a68: <multiple use></div><div>          0x3ea8520: <multiple use></div><div>          0x3eab3a0: <multiple use></div><div>        0x3eab4a8: i32 = add 0x3ea8520, 0x3eab3a0 [ORD=7] [ID=-3]</div><div><br></div><div>        0x3ea4b08: <multiple use></div><div>        0x3ea45e0: <multiple use></div><div>      0x3eac5c0: ch = store 0x3ea7a68, 0x3eab4a8, 0x3ea4b08, 0x3ea45e0<ST4[%z]> [ORD=8] [ID=-3]</div><div><br></div><div>        0x3ea7a68: <multiple use></div><div>          0x3ea7b70: <multiple use></div><div>          0x3eab190: <multiple use></div><div>        0x3eab298: i32 = add 0x3ea7b70, 0x3eab190 [ORD=7] [ID=-3]</div><div><br></div><div>          0x3ea4b08: <multiple use></div><div>          0x3ea7120: <multiple use></div><div>        0x3eac1a0: i32 = add 0x3ea4b08, 0x3ea7120 [ORD=8] [ID=-3]</div><div><br></div><div>        0x3ea45e0: <multiple use></div><div>      0x3eac4b8: ch = store 0x3ea7a68, 0x3eab298, 0x3eac1a0, 0x3ea45e0<ST4[%z+4]> [ORD=8] [ID=-3]</div><div><br></div><div>        0x3ea7a68: <multiple use></div><div>          0x3ea7648: <multiple use></div><div>          0x3eaa950: <multiple use></div><div>        0x3eaaa58: i32 = add 0x3ea7648, 0x3eaa950 [ORD=7] [ID=-3]</div><div><br></div><div>          0x3ea4b08: <multiple use></div><div>          0x3ea5240: <multiple use></div><div>        0x3eab6b8: i32 = add 0x3ea4b08, 0x3ea5240 [ORD=8] [ID=-3]</div><div><br></div><div>        0x3ea45e0: <multiple use></div><div>      0x3eabf90: ch = store 0x3ea7a68, 0x3eaaa58, 0x3eab6b8, 0x3ea45e0<ST4[%z+8]> [ORD=8] [ID=-3]</div><div><br></div><div>        0x3ea7a68: <multiple use></div><div>          0x3ea7540: <multiple use></div><div>          0x3ea9288: <multiple use></div><div>        0x3ea9390: i32 = add 0x3ea7540, 0x3ea9288 [ORD=7] [ID=-3]</div><div><br></div><div>          0x3ea4b08: <multiple use></div><div>          0x3ea46e8: <multiple use></div><div>        0x3ea48f8: i32 = add 0x3ea4b08, 0x3ea46e8 [ORD=8]</div><div><br></div><div>        0x3ea45e0: <multiple use></div><div>      0x3eabe88: ch = store 0x3ea7a68, 0x3ea9390, 0x3ea48f8, 0x3ea45e0<ST4[%z+12]> [ORD=8] [ID=-3]</div><div><br></div><div>    0x3eabb70: ch = TokenFactor 0x3eac5c0, 0x3eac4b8, 0x3eabf90, 0x3eabe88 [ORD=8]</div><div><br></div><div>    0x3ea4e20: <multiple use></div><div>    0x3ea44d8: i32 = Constant<0> [ID=-3]</div><div><br></div><div>  0x3ea4f28: ch,glue = CopyToReg 0x3eabb70, 0x3ea4e20, 0x3ea44d8 [ORD=9] [ID=-3]</div><div><br></div><div>  0x3ea5240: i32 = Constant<8> [ID=-3]</div><div><br></div><div>  0x3ea7120: i32 = Constant<4> [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea43d0: <multiple use></div><div>      0x3ea46e8: <multiple use></div><div>    0x3eaae78: i32 = add 0x3ea43d0, 0x3ea46e8 [ORD=5]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea7540: i32,ch = load 0x3e7e2f0, 0x3eaae78, 0x3ea45e0<LD4[%a+12]> [ORD=5] [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea43d0: <multiple use></div><div>      0x3ea5240: <multiple use></div><div>    0x3ea6d00: i32 = add 0x3ea43d0, 0x3ea5240 [ORD=5] [ID=-3]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea7648: i32,ch = load 0x3e7e2f0, 0x3ea6d00, 0x3ea45e0<LD4[%a+8]> [ORD=5] [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea43d0: <multiple use></div><div>      0x3ea7120: <multiple use></div><div>    0x3ea7858: i32 = add 0x3ea43d0, 0x3ea7120 [ORD=5] [ID=-3]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea7b70: i32,ch = load 0x3e7e2f0, 0x3ea7858, 0x3ea45e0<LD4[%a+4]> [ORD=5] [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>    0x3ea43d0: <multiple use></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea8520: i32,ch = load 0x3e7e2f0, 0x3ea43d0, 0x3ea45e0<LD4[%a]> [ORD=5] [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea47f0: <multiple use></div><div>      0x3ea46e8: <multiple use></div><div>    0x3eac3b0: i32 = add 0x3ea47f0, 0x3ea46e8 [ORD=6]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea9288: i32,ch = load 0x3e7e2f0, 0x3eac3b0, 0x3ea45e0<LD4[%b+12]> [ORD=6] [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea47f0: <multiple use></div><div>      0x3ea5240: <multiple use></div><div>    0x3ea8730: i32 = add 0x3ea47f0, 0x3ea5240 [ORD=6] [ID=-3]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3eaa950: i32,ch = load 0x3e7e2f0, 0x3ea8730, 0x3ea45e0<LD4[%b+8]> [ORD=6] [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea47f0: <multiple use></div><div>      0x3ea7120: <multiple use></div><div>    0x3eaac68: i32 = add 0x3ea47f0, 0x3ea7120 [ORD=6] [ID=-3]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3eab190: i32,ch = load 0x3e7e2f0, 0x3eaac68, 0x3ea45e0<LD4[%b+4]> [ORD=6] [ID=-3]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>    0x3ea47f0: <multiple use></div><div>    0x3ea45e0: <multiple use></div><div>  0x3eab3a0: i32,ch = load 0x3e7e2f0, 0x3ea47f0, 0x3ea45e0<LD4[%b]> [ORD=6] [ID=-3]</div><div><br></div><div>  0x3ea46e8: i32 = Constant<12></div><div><br></div><div>    0x3ea8520: <multiple use></div><div>    0x3ea7b70: <multiple use></div><div>    0x3ea7648: <multiple use></div><div>    0x3ea7540: <multiple use></div><div>    0x3eab3a0: <multiple use></div><div>    0x3eab190: <multiple use></div><div>    0x3eaa950: <multiple use></div><div>    0x3ea9288: <multiple use></div><div>  0x3ea7a68: ch = TokenFactor 0x3ea8520:1, 0x3ea7b70:1, 0x3ea7648:1, 0x3ea7540:1, 0x3eab3a0:1, 0x3eab190:1, 0x3eaa950:1, 0x3ea9288:1 [ORD=8]</div><div><br></div><div>    0x3ea4f28: <multiple use></div><div>    0x3ea4e20: <multiple use></div><div>    0x3ea4f28: <multiple use></div><div>  0x3ea5030: ch = EsenciaISD::RET_FLAG 0x3ea4f28, 0x3ea4e20, 0x3ea4f28:1 [ORD=9] [ID=-3]</div><div><br></div><div><br></div><div>Legalized selection DAG: BB#0 'main:entry'</div><div>SelectionDAG has 39 nodes:</div><div>  0x3e7e2f0: ch = EntryToken [ID=0]</div><div><br></div><div>  0x3ea43d0: i32 = FrameIndex<1> [ID=1]</div><div><br></div><div>  0x3ea45e0: i32 = undef [ID=3]</div><div><br></div><div>  0x3ea47f0: i32 = FrameIndex<2> [ID=4]</div><div><br></div><div>  0x3ea4b08: i32 = FrameIndex<0> [ID=5]</div><div><br></div><div>  0x3ea4e20: i32 = Register %R11 [ID=6]</div><div><br></div><div>  0x3ea5240: i32 = Constant<8> [ID=7]</div><div><br></div><div>  0x3ea7120: i32 = Constant<4> [ID=8]</div><div><br></div><div>  0x3ea46e8: i32 = Constant<12> [ID=9]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>    0x3ea43d0: <multiple use></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea8520: i32,ch = load 0x3e7e2f0, 0x3ea43d0, 0x3ea45e0<LD4[%a]> [ORD=5] [ID=10]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>    0x3ea47f0: <multiple use></div><div>    0x3ea45e0: <multiple use></div><div>  0x3eab3a0: i32,ch = load 0x3e7e2f0, 0x3ea47f0, 0x3ea45e0<LD4[%b]> [ORD=6] [ID=11]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea47f0: <multiple use></div><div>      0x3ea5240: <multiple use></div><div>    0x3ea8730: i32 = add 0x3ea47f0, 0x3ea5240 [ORD=6] [ID=13]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3eaa950: i32,ch = load 0x3e7e2f0, 0x3ea8730, 0x3ea45e0<LD4[%b+8]> [ORD=6] [ID=22]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea43d0: <multiple use></div><div>      0x3ea5240: <multiple use></div><div>    0x3ea6d00: i32 = add 0x3ea43d0, 0x3ea5240 [ORD=5] [ID=14]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea7648: i32,ch = load 0x3e7e2f0, 0x3ea6d00, 0x3ea45e0<LD4[%a+8]> [ORD=5] [ID=23]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea47f0: <multiple use></div><div>      0x3ea7120: <multiple use></div><div>    0x3eaac68: i32 = add 0x3ea47f0, 0x3ea7120 [ORD=6] [ID=16]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3eab190: i32,ch = load 0x3e7e2f0, 0x3eaac68, 0x3ea45e0<LD4[%b+4]> [ORD=6] [ID=24]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea43d0: <multiple use></div><div>      0x3ea7120: <multiple use></div><div>    0x3ea7858: i32 = add 0x3ea43d0, 0x3ea7120 [ORD=5] [ID=17]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea7b70: i32,ch = load 0x3e7e2f0, 0x3ea7858, 0x3ea45e0<LD4[%a+4]> [ORD=5] [ID=25]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea43d0: <multiple use></div><div>      0x3ea46e8: <multiple use></div><div>    0x3eaae78: i32 = add 0x3ea43d0, 0x3ea46e8 [ORD=5] [ID=18]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea7540: i32,ch = load 0x3e7e2f0, 0x3eaae78, 0x3ea45e0<LD4[%a+12]> [ORD=5] [ID=26]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea47f0: <multiple use></div><div>      0x3ea46e8: <multiple use></div><div>    0x3eac3b0: i32 = add 0x3ea47f0, 0x3ea46e8 [ORD=6] [ID=19]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea9288: i32,ch = load 0x3e7e2f0, 0x3eac3b0, 0x3ea45e0<LD4[%b+12]> [ORD=6] [ID=27]</div><div><br></div><div>    0x3ea8520: <multiple use></div><div>    0x3ea7b70: <multiple use></div><div>    0x3ea7648: <multiple use></div><div>    0x3ea7540: <multiple use></div><div>    0x3eab3a0: <multiple use></div><div>    0x3eab190: <multiple use></div><div>    0x3eaa950: <multiple use></div><div>    0x3ea9288: <multiple use></div><div>  0x3ea7a68: ch = TokenFactor 0x3ea8520:1, 0x3ea7b70:1, 0x3ea7648:1, 0x3ea7540:1, 0x3eab3a0:1, 0x3eab190:1, 0x3eaa950:1, 0x3ea9288:1 [ORD=8] [ID=30]</div><div><br></div><div>        0x3ea7a68: <multiple use></div><div>          0x3ea8520: <multiple use></div><div>          0x3eab3a0: <multiple use></div><div>        0x3eab4a8: i32 = add 0x3ea8520, 0x3eab3a0 [ORD=7] [ID=21]</div><div><br></div><div>        0x3ea4b08: <multiple use></div><div>        0x3ea45e0: <multiple use></div><div>      0x3eac5c0: ch = store 0x3ea7a68, 0x3eab4a8, 0x3ea4b08, 0x3ea45e0<ST4[%z]> [ORD=8] [ID=34]</div><div><br></div><div>        0x3ea7a68: <multiple use></div><div>          0x3ea7b70: <multiple use></div><div>          0x3eab190: <multiple use></div><div>        0x3eab298: i32 = add 0x3ea7b70, 0x3eab190 [ORD=7] [ID=29]</div><div><br></div><div>          0x3ea4b08: <multiple use></div><div>          0x3ea7120: <multiple use></div><div>        0x3eac1a0: i32 = add 0x3ea4b08, 0x3ea7120 [ORD=8] [ID=15]</div><div><br></div><div>        0x3ea45e0: <multiple use></div><div>      0x3eac4b8: ch = store 0x3ea7a68, 0x3eab298, 0x3eac1a0, 0x3ea45e0<ST4[%z+4]> [ORD=8] [ID=33]</div><div><br></div><div>        0x3ea7a68: <multiple use></div><div>          0x3ea7648: <multiple use></div><div>          0x3eaa950: <multiple use></div><div>        0x3eaaa58: i32 = add 0x3ea7648, 0x3eaa950 [ORD=7] [ID=28]</div><div><br></div><div>          0x3ea4b08: <multiple use></div><div>          0x3ea5240: <multiple use></div><div>        0x3eab6b8: i32 = add 0x3ea4b08, 0x3ea5240 [ORD=8] [ID=12]</div><div><br></div><div>        0x3ea45e0: <multiple use></div><div>      0x3eabf90: ch = store 0x3ea7a68, 0x3eaaa58, 0x3eab6b8, 0x3ea45e0<ST4[%z+8]> [ORD=8] [ID=32]</div><div><br></div><div>        0x3ea7a68: <multiple use></div><div>          0x3ea7540: <multiple use></div><div>          0x3ea9288: <multiple use></div><div>        0x3ea9390: i32 = add 0x3ea7540, 0x3ea9288 [ORD=7] [ID=31]</div><div><br></div><div>          0x3ea4b08: <multiple use></div><div>          0x3ea46e8: <multiple use></div><div>        0x3ea48f8: i32 = add 0x3ea4b08, 0x3ea46e8 [ORD=8] [ID=20]</div><div><br></div><div>        0x3ea45e0: <multiple use></div><div>      0x3eabe88: ch = store 0x3ea7a68, 0x3ea9390, 0x3ea48f8, 0x3ea45e0<ST4[%z+12]> [ORD=8] [ID=35]</div><div><br></div><div>    0x3eabb70: ch = TokenFactor 0x3eac5c0, 0x3eac4b8, 0x3eabf90, 0x3eabe88 [ORD=8] [ID=36]</div><div><br></div><div>    0x3ea4e20: <multiple use></div><div>    0x3ea44d8: i32 = Constant<0> [ID=2]</div><div><br></div><div>  0x3ea4f28: ch,glue = CopyToReg 0x3eabb70, 0x3ea4e20, 0x3ea44d8 [ORD=9] [ID=37]</div><div><br></div><div>    0x3ea4f28: <multiple use></div><div>    0x3ea4e20: <multiple use></div><div>    0x3ea4f28: <multiple use></div><div>  0x3ea5030: ch = EsenciaISD::RET_FLAG 0x3ea4f28, 0x3ea4e20, 0x3ea4f28:1 [ORD=9] [ID=38]</div><div><br></div><div><br></div><div>Optimized legalized selection DAG: BB#0 'main:entry'</div><div>SelectionDAG has 39 nodes:</div><div>  0x3e7e2f0: ch = EntryToken [ID=0]</div><div><br></div><div>  0x3ea43d0: i32 = FrameIndex<1> [ID=1]</div><div><br></div><div>  0x3ea45e0: i32 = undef [ID=3]</div><div><br></div><div>  0x3ea47f0: i32 = FrameIndex<2> [ID=4]</div><div><br></div><div>  0x3ea4b08: i32 = FrameIndex<0> [ID=5]</div><div><br></div><div>  0x3ea4e20: i32 = Register %R11 [ID=6]</div><div><br></div><div>  0x3ea5240: i32 = Constant<8> [ID=7]</div><div><br></div><div>  0x3ea7120: i32 = Constant<4> [ID=8]</div><div><br></div><div>  0x3ea46e8: i32 = Constant<12> [ID=9]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>    0x3ea43d0: <multiple use></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea8520: i32,ch = load 0x3e7e2f0, 0x3ea43d0, 0x3ea45e0<LD4[%a]> [ORD=5] [ID=10]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>    0x3ea47f0: <multiple use></div><div>    0x3ea45e0: <multiple use></div><div>  0x3eab3a0: i32,ch = load 0x3e7e2f0, 0x3ea47f0, 0x3ea45e0<LD4[%b]> [ORD=6] [ID=11]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea47f0: <multiple use></div><div>      0x3ea5240: <multiple use></div><div>    0x3ea8730: i32 = add 0x3ea47f0, 0x3ea5240 [ORD=6] [ID=13]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3eaa950: i32,ch = load 0x3e7e2f0, 0x3ea8730, 0x3ea45e0<LD4[%b+8]> [ORD=6] [ID=22]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea43d0: <multiple use></div><div>      0x3ea5240: <multiple use></div><div>    0x3ea6d00: i32 = add 0x3ea43d0, 0x3ea5240 [ORD=5] [ID=14]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea7648: i32,ch = load 0x3e7e2f0, 0x3ea6d00, 0x3ea45e0<LD4[%a+8]> [ORD=5] [ID=23]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea47f0: <multiple use></div><div>      0x3ea7120: <multiple use></div><div>    0x3eaac68: i32 = add 0x3ea47f0, 0x3ea7120 [ORD=6] [ID=16]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3eab190: i32,ch = load 0x3e7e2f0, 0x3eaac68, 0x3ea45e0<LD4[%b+4]> [ORD=6] [ID=24]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea43d0: <multiple use></div><div>      0x3ea7120: <multiple use></div><div>    0x3ea7858: i32 = add 0x3ea43d0, 0x3ea7120 [ORD=5] [ID=17]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea7b70: i32,ch = load 0x3e7e2f0, 0x3ea7858, 0x3ea45e0<LD4[%a+4]> [ORD=5] [ID=25]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea43d0: <multiple use></div><div>      0x3ea46e8: <multiple use></div><div>    0x3eaae78: i32 = add 0x3ea43d0, 0x3ea46e8 [ORD=5] [ID=18]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea7540: i32,ch = load 0x3e7e2f0, 0x3eaae78, 0x3ea45e0<LD4[%a+12]> [ORD=5] [ID=26]</div><div><br></div><div>    0x3e7e2f0: <multiple use></div><div>      0x3ea47f0: <multiple use></div><div>      0x3ea46e8: <multiple use></div><div>    0x3eac3b0: i32 = add 0x3ea47f0, 0x3ea46e8 [ORD=6] [ID=19]</div><div><br></div><div>    0x3ea45e0: <multiple use></div><div>  0x3ea9288: i32,ch = load 0x3e7e2f0, 0x3eac3b0, 0x3ea45e0<LD4[%b+12]> [ORD=6] [ID=27]</div><div><br></div><div>    0x3ea8520: <multiple use></div><div>    0x3ea7b70: <multiple use></div><div>    0x3ea7648: <multiple use></div><div>    0x3ea7540: <multiple use></div><div>    0x3eab3a0: <multiple use></div><div>    0x3eab190: <multiple use></div><div>    0x3eaa950: <multiple use></div><div>    0x3ea9288: <multiple use></div><div>  0x3ea7a68: ch = TokenFactor 0x3ea8520:1, 0x3ea7b70:1, 0x3ea7648:1, 0x3ea7540:1, 0x3eab3a0:1, 0x3eab190:1, 0x3eaa950:1, 0x3ea9288:1 [ORD=8] [ID=30]</div><div><br></div><div>        0x3ea7a68: <multiple use></div><div>          0x3ea8520: <multiple use></div><div>          0x3eab3a0: <multiple use></div><div>        0x3eab4a8: i32 = add 0x3ea8520, 0x3eab3a0 [ORD=7] [ID=21]</div><div><br></div><div>        0x3ea4b08: <multiple use></div><div>        0x3ea45e0: <multiple use></div><div>      0x3eac5c0: ch = store 0x3ea7a68, 0x3eab4a8, 0x3ea4b08, 0x3ea45e0<ST4[%z]> [ORD=8] [ID=34]</div><div><br></div><div>        0x3ea7a68: <multiple use></div><div>          0x3ea7b70: <multiple use></div><div>          0x3eab190: <multiple use></div><div>        0x3eab298: i32 = add 0x3ea7b70, 0x3eab190 [ORD=7] [ID=29]</div><div><br></div><div>          0x3ea4b08: <multiple use></div><div>          0x3ea7120: <multiple use></div><div>        0x3eac1a0: i32 = add 0x3ea4b08, 0x3ea7120 [ORD=8] [ID=15]</div><div><br></div><div>        0x3ea45e0: <multiple use></div><div>      0x3eac4b8: ch = store 0x3ea7a68, 0x3eab298, 0x3eac1a0, 0x3ea45e0<ST4[%z+4]> [ORD=8] [ID=33]</div><div><br></div><div>        0x3ea7a68: <multiple use></div><div>          0x3ea7648: <multiple use></div><div>          0x3eaa950: <multiple use></div><div>        0x3eaaa58: i32 = add 0x3ea7648, 0x3eaa950 [ORD=7] [ID=28]</div><div><br></div><div>          0x3ea4b08: <multiple use></div><div>          0x3ea5240: <multiple use></div><div>        0x3eab6b8: i32 = add 0x3ea4b08, 0x3ea5240 [ORD=8] [ID=12]</div><div><br></div><div>        0x3ea45e0: <multiple use></div><div>      0x3eabf90: ch = store 0x3ea7a68, 0x3eaaa58, 0x3eab6b8, 0x3ea45e0<ST4[%z+8]> [ORD=8] [ID=32]</div><div><br></div><div>        0x3ea7a68: <multiple use></div><div>          0x3ea7540: <multiple use></div><div>          0x3ea9288: <multiple use></div><div>        0x3ea9390: i32 = add 0x3ea7540, 0x3ea9288 [ORD=7] [ID=31]</div><div><br></div><div>          0x3ea4b08: <multiple use></div><div>          0x3ea46e8: <multiple use></div><div>        0x3ea48f8: i32 = add 0x3ea4b08, 0x3ea46e8 [ORD=8] [ID=20]</div><div><br></div><div>        0x3ea45e0: <multiple use></div><div>      0x3eabe88: ch = store 0x3ea7a68, 0x3ea9390, 0x3ea48f8, 0x3ea45e0<ST4[%z+12]> [ORD=8] [ID=35]</div><div><br></div><div>    0x3eabb70: ch = TokenFactor 0x3eac5c0, 0x3eac4b8, 0x3eabf90, 0x3eabe88 [ORD=8] [ID=36]</div><div><br></div><div>    0x3ea4e20: <multiple use></div><div>    0x3ea44d8: i32 = Constant<0> [ID=2]</div><div><br></div><div>  0x3ea4f28: ch,glue = CopyToReg 0x3eabb70, 0x3ea4e20, 0x3ea44d8 [ORD=9] [ID=37]</div><div><br></div><div>    0x3ea4f28: <multiple use></div><div>    0x3ea4e20: <multiple use></div><div>    0x3ea4f28: <multiple use></div><div>  0x3ea5030: ch = EsenciaISD::RET_FLAG 0x3ea4f28, 0x3ea4e20, 0x3ea4f28:1 [ORD=9] [ID=38]</div><div><br></div><div><br></div><div>===== Instruction selection begins: BB#0 'entry'</div><div>ISEL: Starting pattern match on root node: 0x3ea5030: ch = EsenciaISD::RET_FLAG 0x3ea4f28, 0x3ea4e20, 0x3ea4f28:1 [ORD=9] [ID=38]</div><div><br></div><div>  Morphed node: 0x3ea5030: ch = RET 0x3ea4e20, 0x3ea4f28, 0x3ea4f28:1 [ORD=9]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3eabe88: ch = store 0x3ea7a68, 0x3ea9390, 0x3ea48f8, 0x3ea45e0<ST4[%z+12]> [ORD=8] [ID=35]</div><div><br></div><div>  Initial Opcode index to 4</div><div>  Morphed node: 0x3eabe88: ch = SW 0x3ea9390, 0x3ea7228, 0x3ea8d60, 0x3ea7a68<Mem:ST4[%z+12]> [ORD=8]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3eac5c0: ch = store 0x3ea7a68, 0x3eab4a8, 0x3ea4b08, 0x3ea45e0<ST4[%z]> [ORD=8] [ID=34]</div><div><br></div><div>  Initial Opcode index to 4</div><div>  Morphed node: 0x3eac5c0: ch = SW 0x3eab4a8, 0x3ea7228, 0x3ea48f8, 0x3ea7a68<Mem:ST4[%z]> [ORD=8]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3eac4b8: ch = store 0x3ea7a68, 0x3eab298, 0x3eac1a0, 0x3ea45e0<ST4[%z+4]> [ORD=8] [ID=33]</div><div><br></div><div>  Initial Opcode index to 4</div><div>  Morphed node: 0x3eac4b8: ch = SW 0x3eab298, 0x3ea7228, 0x3ea4c10, 0x3ea7a68<Mem:ST4[%z+4]> [ORD=8]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3eabf90: ch = store 0x3ea7a68, 0x3eaaa58, 0x3eab6b8, 0x3ea45e0<ST4[%z+8]> [ORD=8] [ID=32]</div><div><br></div><div>  Initial Opcode index to 4</div><div>  Morphed node: 0x3eabf90: ch = SW 0x3eaaa58, 0x3ea7228, 0x3eac1a0, 0x3ea7a68<Mem:ST4[%z+8]> [ORD=8]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3ea9390: i32 = add 0x3ea7540, 0x3ea9288 [ORD=7] [ID=31]</div><div><br></div><div>  Initial Opcode index to 1084</div><div>  Match failed at index 1090</div><div>  Continuing at 1122</div><div>  Morphed node: 0x3ea9390: i32 = ADD 0x3ea7540, 0x3ea9288 [ORD=7]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3eab298: i32 = add 0x3ea7b70, 0x3eab190 [ORD=7] [ID=29]</div><div><br></div><div>  Initial Opcode index to 1084</div><div>  Match failed at index 1090</div><div>  Continuing at 1122</div><div>  Morphed node: 0x3eab298: i32 = ADD 0x3ea7b70, 0x3eab190 [ORD=7]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3eaaa58: i32 = add 0x3ea7648, 0x3eaa950 [ORD=7] [ID=28]</div><div><br></div><div>  Initial Opcode index to 1084</div><div>  Match failed at index 1090</div><div>  Continuing at 1122</div><div>  Morphed node: 0x3eaaa58: i32 = ADD 0x3ea7648, 0x3eaa950 [ORD=7]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3ea9288: i32,ch = load 0x3e7e2f0, 0x3eac3b0, 0x3ea45e0<LD4[%b+12]> [ORD=6] [ID=27]</div><div><br></div><div>  Initial Opcode index to 122</div><div>  Morphed node: 0x3ea9288: i32,ch = LWZ 0x3ea4b08, 0x3ea8d60, 0x3e7e2f0<Mem:LD4[%b+12]> [ORD=6]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3ea7540: i32,ch = load 0x3e7e2f0, 0x3eaae78, 0x3ea45e0<LD4[%a+12]> [ORD=5] [ID=26]</div><div><br></div><div>  Initial Opcode index to 122</div><div>  Morphed node: 0x3ea7540: i32,ch = LWZ 0x3eac3b0, 0x3ea8d60, 0x3e7e2f0<Mem:LD4[%a+12]> [ORD=5]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3ea7b70: i32,ch = load 0x3e7e2f0, 0x3ea7858, 0x3ea45e0<LD4[%a+4]> [ORD=5] [ID=25]</div><div><br></div><div>  Initial Opcode index to 122</div><div>  Morphed node: 0x3ea7b70: i32,ch = LWZ 0x3eac3b0, 0x3ea4c10, 0x3e7e2f0<Mem:LD4[%a+4]> [ORD=5]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3eab190: i32,ch = load 0x3e7e2f0, 0x3eaac68, 0x3ea45e0<LD4[%b+4]> [ORD=6] [ID=24]</div><div><br></div><div>  Initial Opcode index to 122</div><div>  Morphed node: 0x3eab190: i32,ch = LWZ 0x3ea4b08, 0x3ea4c10, 0x3e7e2f0<Mem:LD4[%b+4]> [ORD=6]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3ea7648: i32,ch = load 0x3e7e2f0, 0x3ea6d00, 0x3ea45e0<LD4[%a+8]> [ORD=5] [ID=23]</div><div><br></div><div>  Initial Opcode index to 122</div><div>  Morphed node: 0x3ea7648: i32,ch = LWZ 0x3eac3b0, 0x3eac1a0, 0x3e7e2f0<Mem:LD4[%a+8]> [ORD=5]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3eaa950: i32,ch = load 0x3e7e2f0, 0x3ea8730, 0x3ea45e0<LD4[%b+8]> [ORD=6] [ID=22]</div><div><br></div><div>  Initial Opcode index to 122</div><div>  Morphed node: 0x3eaa950: i32,ch = LWZ 0x3ea4b08, 0x3eac1a0, 0x3e7e2f0<Mem:LD4[%b+8]> [ORD=6]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3eab4a8: i32 = add 0x3ea8520, 0x3eab3a0 [ORD=7] [ID=21]</div><div><br></div><div>  Initial Opcode index to 1084</div><div>  Match failed at index 1090</div><div>  Continuing at 1122</div><div>  Morphed node: 0x3eab4a8: i32 = ADD 0x3ea8520, 0x3eab3a0 [ORD=7]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3eab3a0: i32,ch = load 0x3e7e2f0, 0x3ea47f0, 0x3ea45e0<LD4[%b]> [ORD=6] [ID=11]</div><div><br></div><div>  Initial Opcode index to 122</div><div>  Morphed node: 0x3eab3a0: i32,ch = LWZ 0x3ea4b08, 0x3ea48f8, 0x3e7e2f0<Mem:LD4[%b]> [ORD=6]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3ea8520: i32,ch = load 0x3e7e2f0, 0x3ea43d0, 0x3ea45e0<LD4[%a]> [ORD=5] [ID=10]</div><div><br></div><div>  Initial Opcode index to 122</div><div>  Morphed node: 0x3ea8520: i32,ch = LWZ 0x3eac3b0, 0x3ea48f8, 0x3e7e2f0<Mem:LD4[%a]> [ORD=5]</div><div><br></div><div>ISEL: Match complete!</div><div>ISEL: Starting pattern match on root node: 0x3ea44d8: i32 = Constant<0> [ID=2]</div><div><br></div><div>  Initial Opcode index to 1684</div><div>  Morphed node: 0x3ea44d8: i32 = MOVHI 0x3ea48f8</div><div><br></div><div>ISEL: Match complete!</div><div>===== Instruction selection ends:</div><div>Selected selection DAG: BB#0 'main:entry'</div><div>SelectionDAG has 30 nodes:</div><div>  0x3e7e2f0: ch = EntryToken</div><div><br></div><div>  0x3ea4e20: i32 = Register %R11</div><div><br></div><div>    0x3eac3b0: <multiple use></div><div>    0x3ea48f8: <multiple use></div><div>    0x3e7e2f0: <multiple use></div><div>  0x3ea8520: i32,ch = LWZ 0x3eac3b0, 0x3ea48f8, 0x3e7e2f0<Mem:LD4[%a]> [ORD=5]</div><div><br></div><div>    0x3ea4b08: <multiple use></div><div>    0x3ea48f8: <multiple use></div><div>    0x3e7e2f0: <multiple use></div><div>  0x3eab3a0: i32,ch = LWZ 0x3ea4b08, 0x3ea48f8, 0x3e7e2f0<Mem:LD4[%b]> [ORD=6]</div><div><br></div><div>    0x3ea4b08: <multiple use></div><div>    0x3eac1a0: <multiple use></div><div>    0x3e7e2f0: <multiple use></div><div>  0x3eaa950: i32,ch = LWZ 0x3ea4b08, 0x3eac1a0, 0x3e7e2f0<Mem:LD4[%b+8]> [ORD=6]</div><div><br></div><div>    0x3eac3b0: <multiple use></div><div>    0x3eac1a0: <multiple use></div><div>    0x3e7e2f0: <multiple use></div><div>  0x3ea7648: i32,ch = LWZ 0x3eac3b0, 0x3eac1a0, 0x3e7e2f0<Mem:LD4[%a+8]> [ORD=5]</div><div><br></div><div>    0x3ea4b08: <multiple use></div><div>    0x3ea4c10: <multiple use></div><div>    0x3e7e2f0: <multiple use></div><div>  0x3eab190: i32,ch = LWZ 0x3ea4b08, 0x3ea4c10, 0x3e7e2f0<Mem:LD4[%b+4]> [ORD=6]</div><div><br></div><div>    0x3eac3b0: <multiple use></div><div>    0x3ea4c10: <multiple use></div><div>    0x3e7e2f0: <multiple use></div><div>  0x3ea7b70: i32,ch = LWZ 0x3eac3b0, 0x3ea4c10, 0x3e7e2f0<Mem:LD4[%a+4]> [ORD=5]</div><div><br></div><div>    0x3eac3b0: <multiple use></div><div>    0x3ea8d60: <multiple use></div><div>    0x3e7e2f0: <multiple use></div><div>  0x3ea7540: i32,ch = LWZ 0x3eac3b0, 0x3ea8d60, 0x3e7e2f0<Mem:LD4[%a+12]> [ORD=5]</div><div><br></div><div>    0x3ea4b08: <multiple use></div><div>    0x3ea8d60: <multiple use></div><div>    0x3e7e2f0: <multiple use></div><div>  0x3ea9288: i32,ch = LWZ 0x3ea4b08, 0x3ea8d60, 0x3e7e2f0<Mem:LD4[%b+12]> [ORD=6]</div><div><br></div><div>    0x3ea8520: <multiple use></div><div>    0x3ea7b70: <multiple use></div><div>    0x3ea7648: <multiple use></div><div>    0x3ea7540: <multiple use></div><div>    0x3eab3a0: <multiple use></div><div>    0x3eab190: <multiple use></div><div>    0x3eaa950: <multiple use></div><div>    0x3ea9288: <multiple use></div><div>  0x3ea7a68: ch = TokenFactor 0x3ea8520:1, 0x3ea7b70:1, 0x3ea7648:1, 0x3ea7540:1, 0x3eab3a0:1, 0x3eab190:1, 0x3eaa950:1, 0x3ea9288:1 [ORD=8]</div><div><br></div><div>          0x3ea8520: <multiple use></div><div>          0x3eab3a0: <multiple use></div><div>        0x3eab4a8: i32 = ADD 0x3ea8520, 0x3eab3a0 [ORD=7]</div><div><br></div><div>        0x3ea7228: <multiple use></div><div>        0x3ea48f8: <multiple use></div><div>        0x3ea7a68: <multiple use></div><div>      0x3eac5c0: ch = SW 0x3eab4a8, 0x3ea7228, 0x3ea48f8, 0x3ea7a68<Mem:ST4[%z]> [ORD=8]</div><div><br></div><div>          0x3ea7b70: <multiple use></div><div>          0x3eab190: <multiple use></div><div>        0x3eab298: i32 = ADD 0x3ea7b70, 0x3eab190 [ORD=7]</div><div><br></div><div>        0x3ea7228: <multiple use></div><div>        0x3ea4c10: <multiple use></div><div>        0x3ea7a68: <multiple use></div><div>      0x3eac4b8: ch = SW 0x3eab298, 0x3ea7228, 0x3ea4c10, 0x3ea7a68<Mem:ST4[%z+4]> [ORD=8]</div><div><br></div><div>          0x3ea7648: <multiple use></div><div>          0x3eaa950: <multiple use></div><div>        0x3eaaa58: i32 = ADD 0x3ea7648, 0x3eaa950 [ORD=7]</div><div><br></div><div>        0x3ea7228: <multiple use></div><div>        0x3eac1a0: <multiple use></div><div>        0x3ea7a68: <multiple use></div><div>      0x3eabf90: ch = SW 0x3eaaa58, 0x3ea7228, 0x3eac1a0, 0x3ea7a68<Mem:ST4[%z+8]> [ORD=8]</div><div><br></div><div>          0x3ea7540: <multiple use></div><div>          0x3ea9288: <multiple use></div><div>        0x3ea9390: i32 = ADD 0x3ea7540, 0x3ea9288 [ORD=7]</div><div><br></div><div>        0x3ea7228: <multiple use></div><div>        0x3ea8d60: <multiple use></div><div>        0x3ea7a68: <multiple use></div><div>      0x3eabe88: ch = SW 0x3ea9390, 0x3ea7228, 0x3ea8d60, 0x3ea7a68<Mem:ST4[%z+12]> [ORD=8]</div><div><br></div><div>    0x3eabb70: ch = TokenFactor 0x3eac5c0, 0x3eac4b8, 0x3eabf90, 0x3eabe88 [ORD=8]</div><div><br></div><div>    0x3ea4e20: <multiple use></div><div>      0x3ea48f8: <multiple use></div><div>    0x3ea44d8: i32 = MOVHI 0x3ea48f8</div><div><br></div><div>  0x3ea4f28: ch,glue = CopyToReg 0x3eabb70, 0x3ea4e20, 0x3ea44d8 [ORD=9]</div><div><br></div><div>  0x3ea7228: i32 = TargetFrameIndex<0></div><div><br></div><div>  0x3ea8d60: i32 = TargetConstant<12></div><div><br></div><div>  0x3ea48f8: i32 = TargetConstant<0></div><div><br></div><div>  0x3ea4c10: i32 = TargetConstant<4></div><div><br></div><div>  0x3eac1a0: i32 = TargetConstant<8></div><div><br></div><div>  0x3ea4b08: i32 = TargetFrameIndex<2></div><div><br></div><div>  0x3eac3b0: i32 = TargetFrameIndex<1></div><div><br></div><div>    0x3ea4e20: <multiple use></div><div>    0x3ea4f28: <multiple use></div><div>    0x3ea4f28: <multiple use></div><div>  0x3ea5030: ch = RET 0x3ea4e20, 0x3ea4f28, 0x3ea4f28:1 [ORD=9]</div><div><br></div><div><br></div><div>Total amount of phi nodes to update: 0</div><div>*** MachineFunction at end of ISel ***</div><div># Machine code for function main: SSA</div><div>Frame Objects:</div><div>  fi#0: size=16, align=4, at location [SP]</div><div>  fi#1: size=16, align=4, at location [SP]</div><div>  fi#2: size=16, align=4, at location [SP]</div><div><br></div><div>BB#0: derived from LLVM BB %entry</div><div><span class="" style="white-space:pre"> </span>%vreg0<def> = LWZ <fi#2>, 12; mem:LD4[%b+12] GPR:%vreg0</div><div><span class="" style="white-space:pre">        </span>%vreg1<def> = LWZ <fi#1>, 12; mem:LD4[%a+12] GPR:%vreg1</div><div><span class="" style="white-space:pre">        </span>%vreg2<def> = ADD %vreg1<kill>, %vreg0<kill>; GPR:%vreg2,%vreg1,%vreg0</div><div><span class="" style="white-space:pre">   </span>%vreg3<def> = LWZ <fi#2>, 0; mem:LD4[%b] GPR:%vreg3</div><div><span class="" style="white-space:pre">    </span>%vreg4<def> = LWZ <fi#1>, 0; mem:LD4[%a] GPR:%vreg4</div><div><span class="" style="white-space:pre">    </span>%vreg5<def> = LWZ <fi#2>, 4; mem:LD4[%b+4] GPR:%vreg5</div><div><span class="" style="white-space:pre">  </span>%vreg6<def> = LWZ <fi#1>, 4; mem:LD4[%a+4] GPR:%vreg6</div><div><span class="" style="white-space:pre">  </span>%vreg7<def> = LWZ <fi#2>, 8; mem:LD4[%b+8] GPR:%vreg7</div><div><span class="" style="white-space:pre">  </span>%vreg8<def> = LWZ <fi#1>, 8; mem:LD4[%a+8] GPR:%vreg8</div><div><span class="" style="white-space:pre">  </span>SW %vreg2<kill>, <fi#0>, 12; mem:ST4[%z+12] GPR:%vreg2</div><div><span class="" style="white-space:pre"> </span>%vreg9<def> = ADD %vreg8<kill>, %vreg7<kill>; GPR:%vreg9,%vreg8,%vreg7</div><div><span class="" style="white-space:pre">   </span>SW %vreg9<kill>, <fi#0>, 8; mem:ST4[%z+8] GPR:%vreg9</div><div><span class="" style="white-space:pre">   </span>%vreg10<def> = ADD %vreg6<kill>, %vreg5<kill>; GPR:%vreg10,%vreg6,%vreg5</div><div><span class="" style="white-space:pre"> </span>SW %vreg10<kill>, <fi#0>, 4; mem:ST4[%z+4] GPR:%vreg10</div><div><span class="" style="white-space:pre"> </span>%vreg11<def> = ADD %vreg4<kill>, %vreg3<kill>; GPR:%vreg11,%vreg4,%vreg3</div><div><span class="" style="white-space:pre"> </span>SW %vreg11<kill>, <fi#0>, 0; mem:ST4[%z] GPR:%vreg11</div><div><span class="" style="white-space:pre">   </span>%vreg12<def> = MOVHI 0; GPR:%vreg12</div><div><span class="" style="white-space:pre">  </span>%R11<def> = COPY %vreg12; GPR:%vreg12</div><div><span class="" style="white-space:pre">        </span>RET %R11<imp-use></div><div><br></div><div># End machine code for function main.</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Rail Shafigulin<br></div>Software Engineer <br>Esencia Technologies<br></div></div></div></div>
</div></div>