llvm-6502/test/Analysis
Arnold Schwaighofer 5193e4ebe2 ARM cost model: Fix costs for some vector selects
I was too pessimistic in r177105. Vector selects that fit into a legal register
type lower just fine. I was mislead by the code fragment that I was using. The
stores/loads that I saw in those cases came from lowering the conditional off
an address.

Changing the code fragment to:

%T0_3 = type <8 x i18>
%T1_3 = type <8 x i1>

define void @func_blend3(%T0_3* %loadaddr, %T0_3* %loadaddr2,
                         %T1_3* %blend, %T0_3* %storeaddr) {
  %v0 = load %T0_3* %loadaddr
  %v1 = load %T0_3* %loadaddr2
==> FROM:
  ;%c = load %T1_3* %blend
==> TO:
  %c = icmp slt %T0_3 %v0, %v1
==> USE:
  %r = select %T1_3 %c, %T0_3 %v0, %T0_3 %v1

  store %T0_3 %r, %T0_3* %storeaddr
  ret void
}

revealed this mistake.

radar://13403975

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177170 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-15 18:31:01 +00:00
..
BasicAA Memory Dependence Analysis (not mem-dep test) take advantage of "invariant.load" metadata. 2013-03-06 17:48:48 +00:00
BlockFrequencyInfo
BranchProbabilityInfo
CallGraph Now that invoke of an intrinsic is possible (for the llvm.do.nothing intrinsic) 2012-09-26 17:16:01 +00:00
CostModel ARM cost model: Fix costs for some vector selects 2013-03-15 18:31:01 +00:00
DependenceAnalysis Modified dump() to provide a little 2012-11-30 00:44:47 +00:00
Dominators Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 02:33:22 +00:00
GlobalsModRef
LoopInfo
PostDominators
Profiling AArch64: adjust tests which rely on a default JIT 2013-02-18 11:08:37 +00:00
RegionInfo Revert the test moves from 176733. Use "REQUIRES: asserts" instead. 2013-03-12 16:27:52 +00:00
ScalarEvolution Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 02:33:22 +00:00
TypeBasedAliasAnalysis Use references to attribute groups on the call/invoke instructions. 2013-02-22 09:09:42 +00:00