<div>Hello,</div>
<div> </div>
<div>CodeGen/Generic/asm-large-immediate.ll fails on couple of builders:</div>
<div><a href="http://lab.llvm.org:8011/builders/clang-x86_64-darwin11-cross-arm/builds/5712/steps/test-llvm/logs/fail">http://lab.llvm.org:8011/builders/clang-x86_64-darwin11-cross-arm/builds/5712/steps/test-llvm/logs/fail</a><br>
<a href="http://lab.llvm.org:8011/builders/clang-native-arm-cortex-a9/builds/2284/steps/test-llvm/logs/fail">http://lab.llvm.org:8011/builders/clang-native-arm-cortex-a9/builds/2284/steps/test-llvm/logs/fail</a></div>
<div>Please have a loot at this?</div>
<div> </div>
<div>Thanks</div>
<div> </div>
<div>Galina<br><br></div>
<div class="gmail_quote">On Fri, Jun 22, 2012 at 6:43 AM, NAKAMURA Takumi <span dir="ltr"><<a href="mailto:geek4civic@gmail.com" target="_blank">geek4civic@gmail.com</a>></span> wrote:<br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">It fails on ppc-linux. I have suppressed the failure in r158994.<br><br>...Takumi<br><br>2012/6/22 Jack Carter <<a href="mailto:jcarter@mips.com">jcarter@mips.com</a>>:<br>

<div class="HOEnZb">
<div class="h5">> Author: jacksprat<br>> Date: Thu Jun 21 16:37:54 2012<br>> New Revision: 158939<br>><br>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=158939&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=158939&view=rev</a><br>
> Log:<br>> The inline asm operand modifier 'n' is suppose<br>> to be generic across architectures. It has the<br>> following description in the gnu sources:<br>><br>>    Negate the immediate constant<br>
><br>> Several Architectures such as x86 have local implementations<br>> of operand modifier 'n' which go beyond the above description<br>> slightly. This won't affect them.<br>><br>> Affected files:<br>
><br>>    lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp<br>>        Added 'n' to the switch cases.<br>><br>>    test/CodeGen/Generic/asm-large-immediate.ll<br>>        Generic compiled test (x86 for me)<br>
><br>>    test/CodeGen/Mips/asm-large-immediate.ll<br>>        Mips compiled version of the generic one<br>><br>> Contributer: Jack Carter<br>><br>><br>> Modified:<br>>    llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp<br>
>    llvm/trunk/test/CodeGen/Generic/asm-large-immediate.ll<br>>    llvm/trunk/test/CodeGen/Mips/asm-large-immediate.ll<br>><br>> Modified: llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp<br>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp?rev=158939&r1=158938&r2=158939&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp?rev=158939&r1=158938&r2=158939&view=diff</a><br>
> ==============================================================================<br>> --- llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp (original)<br>> +++ llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp Thu Jun 21 16:37:54 2012<br>
> @@ -420,10 +420,15 @@<br>>     default:<br>>       return true;  // Unknown modifier.<br>>     case 'c': // Substitute immediate value without immediate syntax<br>> -      if ((MO.getType()) != MachineOperand::MO_Immediate)<br>
> +      if (MO.getType() != MachineOperand::MO_Immediate)<br>>         return true;<br>>       O << MO.getImm();<br>>       return false;<br>> +    case 'n':  // Negate the immediate constant.<br>
> +      if (MO.getType() != MachineOperand::MO_Immediate)<br>> +        return true;<br>> +      O << -MO.getImm();<br>> +      return false;<br>>     }<br>>   }<br>>   return true;<br>><br>
> Modified: llvm/trunk/test/CodeGen/Generic/asm-large-immediate.ll<br>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Generic/asm-large-immediate.ll?rev=158939&r1=158938&r2=158939&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Generic/asm-large-immediate.ll?rev=158939&r1=158938&r2=158939&view=diff</a><br>
> ==============================================================================<br>> --- llvm/trunk/test/CodeGen/Generic/asm-large-immediate.ll (original)<br>> +++ llvm/trunk/test/CodeGen/Generic/asm-large-immediate.ll Thu Jun 21 16:37:54 2012<br>
> @@ -1,8 +1,11 @@<br>> -; RUN: llc < %s | grep 68719476738<br>> +; RUN: llc < %s | FileCheck %s<br>><br>>  define void @test() {<br>>  entry:<br>> +; CHECK: /* result: 68719476738 */<br>>         tail call void asm sideeffect "/* result: ${0:c} */", "i,~{dirflag},~{fpsr},~{flags}"( i64 68719476738 )<br>
> +; CHECK: /* result: -68719476738 */<br>> +        tail call void asm sideeffect "/* result: ${0:n} */", "i,~{dirflag},~{fpsr},~{flags}"( i64 68719476738 )<br>>         ret void<br>>  }<br>
><br>><br>> Modified: llvm/trunk/test/CodeGen/Mips/asm-large-immediate.ll<br>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Mips/asm-large-immediate.ll?rev=158939&r1=158938&r2=158939&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Mips/asm-large-immediate.ll?rev=158939&r1=158938&r2=158939&view=diff</a><br>
> ==============================================================================<br>> --- llvm/trunk/test/CodeGen/Mips/asm-large-immediate.ll (original)<br>> +++ llvm/trunk/test/CodeGen/Mips/asm-large-immediate.ll Thu Jun 21 16:37:54 2012<br>
> @@ -1,10 +1,10 @@<br>> -; RUNx: llc -march=mipsel < %s | grep 68719476738<br>> -<br>>  ; RUN: llc -march=mipsel < %s | FileCheck %s<br>>  define void @test() {<br>>  entry:<br>>  ; CHECK: /* result: 68719476738 */<br>
>         tail call void asm sideeffect "/* result: ${0:c} */", "i,~{dirflag},~{fpsr},~{flags}"( i64 68719476738 )<br>> +; CHECK: /* result: -68719476738 */<br>> +        tail call void asm sideeffect "/* result: ${0:n} */", "i,~{dirflag},~{fpsr},~{flags}"( i64 68719476738 )<br>
>         ret void<br>>  }<br>><br>><br>><br>> _______________________________________________<br>> llvm-commits mailing list<br>> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br><br>_______________________________________________<br>llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br></div>
</div></blockquote></div><br>