llvm-6502/test/CodeGen/CBackend
Chris Lattner e56d946a38 Fix the CBE's handling of instructions whose result is an i1. Previously,
we did not truncate the value down to i1 with (x&1).  This caused a problem
when the computation of x was nontrivial, for example, "add i1 1, 1" would 
return 2 instead of 0.

This makes the testcase compile into:

...
  llvm_cbe_t = (((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u))&1);
  llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t));
...

instead of:

...
  llvm_cbe_t = ((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u));
  llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t));
...

This fixes a miscompilation of mediabench/adpcm/rawdaudio/rawdaudio and
403.gcc with the CBE, regressions from LLVM 2.2. Tanya, please pull 
this into the release branch.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51813 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 09:23:55 +00:00
..
2002-05-16-NameCollide.ll
2002-05-21-MissingReturn.ll
2002-08-19-ConstantExpr.ll
2002-08-19-ConstPointerRef.ll
2002-08-19-DataPointer.ll
2002-08-19-FunctionPointer.ll
2002-08-19-HardConstantExpr.ll
2002-08-20-RecursiveTypes.ll
2002-08-20-UnnamedArgument.ll
2002-08-26-IndirectCallTest.ll
2002-08-30-StructureOrderingTest.ll
2002-09-20-ArrayTypeFailure.ll
2002-09-20-VarArgPrototypes.ll
2002-10-15-OpaqueTypeProblem.ll
2002-10-16-External.ll
2002-10-30-FunctionPointerAlloca.ll
2002-11-06-PrintEscaped.ll
2003-05-12-IntegerSizeWarning.ll
2003-05-13-VarArgFunction.ll
2003-05-31-MissingStructName.ll
2003-06-01-NullPointerType.ll
2003-06-11-HexConstant.ll
2003-06-11-LiteralStringProblem.ll
2003-06-28-InvokeSupport.ll
2003-06-28-LinkOnceGlobalVars.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2003-10-12-NANGlobalInits.ll
2003-10-23-UnusedType.ll
2003-10-28-CastToPtrToStruct.ll
2003-11-21-ConstantShiftExpr.ll
2004-02-13-FrameReturnAddress.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-02-15-PreexistingExternals.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-02-26-FPNotPrintableConstants.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-02-26-LinkOnceFunctions.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-08-09-va-end-null.ll
2004-11-13-FunctionPointerCast.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-12-03-ExternStatics.ll
2004-12-28-LogicalConstantExprs.ll
2005-02-14-VolatileOperations.ll
2005-03-08-RecursiveTypeCrash.ll
2005-07-14-NegationToMinusMinus.ll
2005-08-23-Fmod.ll
2005-09-27-VolatileFuncPtr.ll
2006-12-11-Float-Bitcast.ll
2007-01-08-ParamAttr-ICmp.ll Update testcase. 2008-02-28 23:13:15 +00:00
2007-01-15-NamedArrayType.ll
2007-01-17-StackSaveNRestore.ll
2007-02-05-memset.ll
2007-02-23-NameConflicts.ll
2007-07-11-PackedStruct.ll
2008-02-01-UnalignedLoadStore.ll
2008-05-21-MRV-InlineAsm.ll Add support for multiple-return values in inline asm. This should 2008-05-22 06:19:37 +00:00
2008-05-31-BoolOverflow.ll Fix the CBE's handling of instructions whose result is an i1. Previously, 2008-05-31 09:23:55 +00:00
dg.exp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
vectors.ll