<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Wow. I don’t know how else to describe it. Just “wow.” This continues to be an amazing process. Thank you to everyone for your work in making this happen.<div><br></div><div>-Jim</div><div><br><div><div>On May 9, 2014, at 8:41 AM, James Molloy <<a href="mailto:james.molloy@arm.com">james.molloy@arm.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div lang="EN-GB" link="blue" vlink="purple" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class="WordSection1" style="page: WordSection1;"><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;">Hi all,<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;">It’s been two weeks since I sent the last merge progress email, so here is an update.<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><b>TL;DR: Almost done!</b><o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;">Tim is considering suggesting making the final switchover sometime next week. This would be the final push, where AArch64 gets deleted and ARM64 gets renamed to AArch64, and would signal the end of the merge process. If any of you know of any reason why these two loving backends cannot be merged, speak now or forever hold your peace!<span class="Apple-converted-space"> </span><span style="font-family: Wingdings;">J</span><o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;">Times are incredibly approximate and are in man-days/weeks.<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0cm 0cm 0.0001pt 36pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>Requirement: No regressions<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 72pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: 'Courier New';"><span>o<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>Correctness<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[1w]</b><span class="Apple-converted-space"> </span>Regression tests<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 144pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>All Clang regression tests ported.<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 144pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>Almost all LLVM regression tests ported – the only thing left is MC-level diagnostics tests. These are in progress (Bradley) – currently 25% of the way through the diagnostics test file.<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b> [?]<span class="Apple-converted-space"> </span></b>QuIC internal tests<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 144pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>No further information available, but no public bugs raised.<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[DONE]</b><span class="Apple-converted-space"> </span>ARM internal tests<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 144pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>All test suites pass.<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[0d]<span class="Apple-converted-space"> </span></b>Apple internal tests<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 144pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>Tim says we’re “looking reasonable” here<span class="Apple-converted-space"> </span><span style="font-family: Wingdings;">J</span><o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 144pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>This only blocks a “go/no-go”, and there are no actual actions here at the moment (according to Tim)<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[DONE]<span class="Apple-converted-space"> </span></b>LLVM test suite<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[DONE]</b><span class="Apple-converted-space"> </span>MC Hammer<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[DONE]<span class="Apple-converted-space"> </span></b>Emperor<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 144pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>This is a random test suite so has the possibility to uncover more problems. Our acceptance criterion is 3 days runtime without finding any bugs, which we have now hit.<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 72pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: 'Courier New';"><span>o<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>Performance<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>No precise fixed performance baseline<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[DONE]<span class="Apple-converted-space"> </span></b>Investigate significant performance regressions – justify fix/not fix.<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 144pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>No performance blockers reported.<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0cm 0cm 0.0001pt 36pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>Requirement: Feature parity<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 72pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: 'Courier New';"><span>o<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[DONE]</b><span class="Apple-converted-space"> </span>Big endian<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>Big endian support is now complete and all known bugs are fixed upstream. This includes NEON instruction selection.<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>I’m still running testing to validate, but this can be thought of as complete.<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 72pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: 'Courier New';"><span>o<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[DONE]<span class="Apple-converted-space"> </span></b>Support for no fpu/no neon/ no crc<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 72pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: 'Courier New';"><span>o<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[DONE]<span class="Apple-converted-space"> </span></b>A53 scheduler<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 72pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: 'Courier New';"><span>o<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[DONE]<span class="Apple-converted-space"> </span></b>Inline assembly<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 72pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: 'Courier New';"><span>o<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[DONE]<span class="Apple-converted-space"> </span></b>Predefines<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 72pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: 'Courier New';"><span>o<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[DONE]<span class="Apple-converted-space"> </span></b>Conditionalise cyclone/Darwin<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>Only the “LDR q” -> “LDP d, d” splitting pass to really conditionalise – only benchmarks will really show though.<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 72pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: 'Courier New';"><span>o<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[?]<span class="Apple-converted-space"> </span></b>ADRP CSE<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>This optimization, being worked on by Jiangning, has been half ported to ARM64. But it hasn’t been committed to AArch64 yet, so it can’t be considered a merge blocker.<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>Jiangning and Quentin are working together on testing and benchmarking this patch.<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 72pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: 'Courier New';"><span>o<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[2d]</b><span class="Apple-converted-space"> </span>fastcc & guaranteed tail opt<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>Fastcc support (proper tail call optimization) is in progress (Jiangning)<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 72pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: 'Courier New';"><span>o<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span><b>[2d?]<span class="Apple-converted-space"> </span></b>Post-increment NEON ld/st<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt 108pt; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: -18pt;"><span style="font-family: Wingdings;"><span>§<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';"> <span class="Apple-converted-space"> </span></span></span></span>Post-indexed NEON loads and stores are in progress (Hao)<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;">Cheers,<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;">James<o:p></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div></div>_______________________________________________<br>LLVM Developers mailing list<br><a href="mailto:LLVMdev@cs.uiuc.edu" style="color: purple; text-decoration: underline;">LLVMdev@cs.uiuc.edu</a><span class="Apple-converted-space"> </span> <a href="http://llvm.cs.uiuc.edu/" style="color: purple; text-decoration: underline;">http://llvm.cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" style="color: purple; text-decoration: underline;">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a></div></blockquote></div><br></div></body></html>