<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Valid point. I’m looking to get cbz covered with a test case also.  <div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Oct 14, 2014, at 5:57 PM, Justin Bogner <<a href="mailto:mail@justinbogner.com" class="">mail@justinbogner.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Helvetica; font-size: 18px; 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; float: none; display: inline !important;" class="">Gerolf Hoflehner <</span><a href="mailto:ghoflehner@apple.com" style="font-family: Helvetica; font-size: 18px; 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;" class="">ghoflehner@apple.com</a><span style="font-family: Helvetica; font-size: 18px; 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; float: none; display: inline !important;" class="">> writes:</span><br style="font-family: Helvetica; font-size: 18px; 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;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 18px; 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;" class="">Author: ghoflehner<br class="">Date: Tue Oct 14 18:55:00 2014<br class="">New Revision: 219748<br class=""><br class="">URL: <a href="http://llvm.org/viewvc/llvm-project?rev=219748&view=rev" class="">http://llvm.org/viewvc/llvm-project?rev=219748&view=rev</a><br class="">Log:<br class="">[AArch64] Wrong CC access in CSINC-conditional branch sequence<br class=""><br class="">This is a follow up to commit r219742. It removes the CCInMI variable<br class="">and accesses the CC in CSCINC directly. In the case of a conditional<br class="">branch accessing the CC with CCInMI was wrong.<br class=""></blockquote><br style="font-family: Helvetica; font-size: 18px; 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;" class=""><span style="font-family: Helvetica; font-size: 18px; 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; float: none; display: inline !important;" class="">Can this be tested?</span><br style="font-family: Helvetica; font-size: 18px; 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;" class=""><br style="font-family: Helvetica; font-size: 18px; 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;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 18px; 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;" class="">Modified:<br class="">   llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.cpp<br class=""><br class="">Modified: llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.cpp<br class="">URL:<br class=""><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.cpp?rev=219748&r1=219747&r2=219748&view=diff" class="">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.cpp?rev=219748&r1=219747&r2=219748&view=diff</a><br class="">==============================================================================<br class="">--- llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.cpp (original)<br class="">+++ llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.cpp Tue Oct 14 18:55:00 2014<br class="">@@ -2869,24 +2869,20 @@ bool AArch64InstrInfo::optimizeCondBranc<br class="">  case AArch64::CBZW:<br class="">  case AArch64::CBZX:<br class="">    TargetBBInMI = 1;<br class="">-    CCInMI = 2;<br class="">    break;<br class="">  case AArch64::CBNZW:<br class="">  case AArch64::CBNZX:<br class="">    TargetBBInMI = 1;<br class="">-    CCInMI = 2;<br class="">    IsNegativeBranch = true;<br class="">    break;<br class="">  case AArch64::TBZW:<br class="">  case AArch64::TBZX:<br class="">    TargetBBInMI = 2;<br class="">-    CCInMI = 3;<br class="">    IsTestAndBranch = true;<br class="">    break;<br class="">  case AArch64::TBNZW:<br class="">  case AArch64::TBNZX:<br class="">    TargetBBInMI = 2;<br class="">-    CCInMI = 3;<br class="">    IsNegativeBranch = true;<br class="">    IsTestAndBranch = true;<br class="">    break;<br class="">@@ -2921,7 +2917,7 @@ bool AArch64InstrInfo::optimizeCondBranc<br class="">    return false;<br class=""><br class="">  AArch64CC::CondCode CC =<br class="">-      (AArch64CC::CondCode)DefMI->getOperand(CCInMI).getImm();<br class="">+      (AArch64CC::CondCode)DefMI->getOperand(3).getImm();<br class="">  bool CheckOnlyCCWrites = true;<br class="">  // Convert only when the condition code is not modified between<br class="">  // the CSINC and the branch. The CC may be used by other<br class=""><br class=""><br class="">_______________________________________________<br class="">llvm-commits mailing list<br class="">llvm-commits@cs.uiuc.edu<br class="">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</blockquote></div></blockquote></div><br class=""></div></body></html>