llvm-project/llvm/test/CodeGen/Generic
Duncan Sands f8d29f228d Teach LegalizeTypes how to expand and promote CTLZ,
CTTZ and CTPOP.  The expansion code differs from
that in LegalizeDAG in that it chooses to take the
CTLZ/CTTZ count from the Hi/Lo part depending on
whether the Hi/Lo value is zero, not on whether
CTLZ/CTTZ of Hi/Lo returned 32 (or whatever the
width of the type is) for it.  I made this change
because the optimizers may well know that Hi/Lo
is zero and exploit it.  The promotion code for
CTTZ also differs from that in LegalizeDAG: it
uses an "or" to get the right result when the
original value is zero, rather than using a compare
and select.  This also means the value doesn't
need to be zero extended.

llvm-svn: 47075
2008-02-13 18:01:53 +00:00
..
GC Setting GlobalDirective in TargetAsmInfo by default rather than 2008-01-07 02:31:11 +00:00
2002-04-14-UnexpectedUnsignedType.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2002-04-16-StackFrameSizeAlignment.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2003-05-27-phifcmpd.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2003-05-27-useboolinotherbb.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2003-05-27-usefsubasbool.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2003-05-28-ManyArgs.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2003-05-30-BadFoldGEP.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2003-05-30-BadPreselectPhi.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2003-07-06-BadIntCmp.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2003-07-07-BadLongConst.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2003-07-08-BadCastToBool.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2003-07-29-BadConstSbyte.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2004-02-08-UnwindSupport.llx Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2004-05-09-LiveVarPartialRegister.llx Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2005-01-18-SetUO-InfLoop.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2005-04-09-GlobalInPHI.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2005-07-12-memcpy-i64-length.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2005-10-18-ZeroSizeStackObject.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2005-10-21-longlonggtu.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2005-12-01-Crash.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2005-12-12-ExpandSextInreg.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-01-12-BadSetCCFold.ll avoid ambiguity in target selection 2007-07-05 22:16:19 +00:00
2006-01-18-InvalidBranchOpcodeAssert.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-02-12-InsertLibcall.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-03-01-dagcombineinfloop.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-03-27-DebugInfoNULLDeclare.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-04-11-vecload.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-04-26-SetCCAnd.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-04-28-Sign-extend-bool.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-05-06-GEP-Cast-Sink-Crash.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-06-12-LowerSwitchCrash.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-06-13-ComputeMaskedBitsCrash.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-06-28-SimplifySetCCCrash.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-07-03-schedulers.ll -pre-RA-sched=none, simple, simple-noitin are gone. 2007-10-01 22:17:20 +00:00
2006-08-30-CoallescerCrash.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-09-02-LocalAllocCrash.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-09-06-SwitchLowering.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-10-27-CondFolding.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-10-29-Crash.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-11-06-MemIntrinsicExpand.ll For PR1319: 2007-04-16 17:36:08 +00:00
2006-11-20-DAGCombineCrash.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
2006-12-16-InlineAsmCrash.ll update syntax 2007-04-28 06:03:12 +00:00
2007-01-15-LoadSelectCycle.ll For PR761: 2007-01-26 08:25:06 +00:00
2007-02-16-BranchFold.ll Test assumes tail merging is off; this must now be explicit. 2007-05-22 17:18:05 +00:00
2007-02-23-DAGCombine-Miscompile.ll Change the x86 assembly output to use tab characters to separate the 2007-07-31 20:11:57 +00:00
2007-02-25-invoke.ll Test for PR1224. 2007-02-25 21:43:21 +00:00
2007-04-08-MultipleFrameIndices.ll Don't use * in XFAIL line unless you want it to XFAIL on everything. I don't believe you can use true regular expressions here. It will just look for those keywords. Please test this on sparc and see if they still are xfailed. 2007-07-17 18:08:32 +00:00
2007-04-13-SwitchLowerBadPhi.ll Fix PR1323 : we haven't updated phi nodes in good manner :) 2007-04-13 06:53:51 +00:00
2007-04-14-BitTestsBadMask.ll Unxfail tests 2007-04-26 21:20:04 +00:00
2007-04-14-EHSelectorCrash.ll Workaround for PR1508. 2007-06-15 19:04:19 +00:00
2007-04-17-lsr-crash.ll new testcase 2007-04-17 23:43:31 +00:00
2007-04-27-BitTestsBadMask.ll Convert tests using "grep -c ... | grep ..." to use the count script. 2007-08-15 13:49:33 +00:00
2007-04-27-InlineAsm-X-Dest.ll Don't use * in XFAIL line unless you want it to XFAIL on everything. I don't believe you can use true regular expressions here. It will just look for those keywords. Please test this on sparc and see if they still are xfailed. 2007-07-17 18:08:32 +00:00
2007-04-27-LargeMemObject.ll Don't use * in XFAIL line unless you want it to XFAIL on everything. I don't believe you can use true regular expressions here. It will just look for those keywords. Please test this on sparc and see if they still are xfailed. 2007-07-17 18:08:32 +00:00
2007-04-30-LandingPadBranchFolding.ll testcase for PR1228 2007-04-30 23:34:46 +00:00
2007-05-03-EHTypeInfo.ll Split eh.select / eh.typeid.for intrinsics into i32/i64 versions. This is needed, because they just "mark" register 2007-09-07 11:39:35 +00:00
2007-05-05-Personality.ll Split eh.select / eh.typeid.for intrinsics into i32/i64 versions. This is needed, because they just "mark" register 2007-09-07 11:39:35 +00:00
2007-05-15-InfiniteRecursion.ll Fix an infinite recursion in GetNegatedExpression. 2007-05-15 17:05:43 +00:00
2007-06-06-CriticalEdgeLandingPad.ll Split eh.select / eh.typeid.for intrinsics into i32/i64 versions. This is needed, because they just "mark" register 2007-09-07 11:39:35 +00:00
2007-11-21-UndeadIllegalNode.ll Fix a bug in which node A is replaced by node B, but later 2007-11-21 16:43:19 +00:00
2007-12-17-InvokeAsm.ll Make invokes of inline asm legal. Teach codegen 2007-12-17 18:08:19 +00:00
2007-12-31-UnusedSelector.ll Fix PR1833 - eh.exception and eh.selector return two 2007-12-31 18:35:50 +00:00
2008-01-25-dag-combine-mul.ll Fix some bugs in SimplifyNodeWithTwoResults where it would call deletenode to 2008-01-26 01:09:19 +00:00
2008-01-30-LoadCrash.ll remove target triple to make this test more "generic" 2008-02-04 18:02:37 +00:00
2008-02-04-Ctlz.ll Teach LegalizeTypes how to expand and promote CTLZ, 2008-02-13 18:01:53 +00:00
2008-02-04-ExtractSubvector.ll Crashes LegalizeTypes with "Do not know how to split 2008-02-04 18:05:42 +00:00
BasicInstrs.llx Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
BurgBadRegAlloc.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
ConstantExprLowering.llx Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
Makefile Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
SwitchLowering.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
addc-fold2.ll For PR1319: Upgrade to new test harness. 2007-04-15 20:48:50 +00:00
asm-large-immediate.ll Allow target constants to be illegal types. The target should 2007-08-25 01:00:22 +00:00
badCallArgLRLLVM.ll Remove the trailing semicolon from function declarations in LLVM, 2007-07-16 13:37:30 +00:00
badFoldGEP.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
badarg6.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
badlive.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
bit-intrinsics.ll This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future. 2007-08-04 01:51:18 +00:00
bool-to-double.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
bool-vector.ll new testcase for PR1845 2008-01-10 00:30:38 +00:00
call-ret0.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
call-ret42.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
call-void.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
call2-ret0.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
cast-fp.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
constindices.ll Change all floating constants that are not exactly 2007-09-05 17:50:36 +00:00
debug-info.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
dg.exp For PR1319: Upgrade to new test harness. 2007-04-15 20:48:50 +00:00
div-neg-power-2.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
fneg-fabs.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
fp_to_int.ll upgrade this test 2007-11-28 18:22:12 +00:00
fpowi-promote.ll For PR1319: 2007-04-16 17:36:08 +00:00
fwdtwice.ll Fix a typo in a comment. 2007-09-24 15:50:11 +00:00
global-ret0.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
hello.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
i128-addsub.ll add testcase for 128-bit add/sub 2007-05-17 18:22:37 +00:00
i128-arith.ll sanity check for *basic* i128 arithmetic on all hosts. 2007-02-13 23:59:21 +00:00
intrinsics.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
invalid-memcpy.ll Fix a crash on invalid code due to memcpy lowering. 2007-11-27 22:14:42 +00:00
isunord.ll the sparc v8 backend handles this correctly 2007-05-05 22:12:57 +00:00
llvm-ct-intrinsics.ll Revert the name changes for llvm.bswap to allow (and test) llvm-upgrade of 2007-04-02 00:51:15 +00:00
negintconst.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
nested-select.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
phi-immediate-factoring.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
print-add.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
print-arith-fp.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
print-arith-int.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
print-int.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
print-mul-exp.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
print-mul.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
print-shift.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
ret0.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
ret42.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
sched.ll Change all floating constants that are not exactly 2007-09-05 17:50:36 +00:00
select.ll Change all floating constants that are not exactly 2007-09-05 17:50:36 +00:00
shift-int64.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
spillccr.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
stacksave-restore.ll Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +00:00
storetrunc-fp.ll new testcase. 2008-01-17 19:47:23 +00:00
switch-crit-edge-constant.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
switch-lower-feature-2.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
switch-lower-feature.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
switch-lower.ll Remove use of implementation keyword. 2007-03-28 02:38:26 +00:00
trap.ll new testcase for llvm.trap. 2008-01-15 22:17:26 +00:00
v-split.ll add testcase that has been sitting in my tree for awhile. 2008-01-17 06:54:09 +00:00
vector-constantexpr.ll For PR1336: 2007-04-16 03:06:39 +00:00
vector-identity-shuffle.ll For PR1370: 2007-04-30 05:11:58 +00:00
vector.ll Change all floating constants that are not exactly 2007-09-05 17:50:36 +00:00