[llvm-commits] [llvm] r158939 - in /llvm/trunk: lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp test/CodeGen/Generic/asm-large-immediate.ll test/CodeGen/Mips/asm-large-immediate.ll

Galina Kistanova gkistanova at gmail.com
Fri Jun 22 11:19:39 PDT 2012


Hello,

CodeGen/Generic/asm-large-immediate.ll fails on couple of builders:
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-native-arm-cortex-a9/builds/2284/steps/test-llvm/logs/fail
Please have a loot at this?

Thanks

Galina

On Fri, Jun 22, 2012 at 6:43 AM, NAKAMURA Takumi <geek4civic at gmail.com>wrote:

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


More information about the llvm-commits mailing list