Commit Graph

437 Commits

Author SHA1 Message Date
Simon Pilgrim 8e287aee8b [CostModel][X86] Add more exhaustive masked load/store/gather/scatter/expand/compress cost tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@357838 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-06 12:08:37 +00:00
Sjoerd Meijer ffe6f392ce [TTI] getMemcpyCost
This adds new function getMemcpyCost to TTI so that the cost of a memcpy can be
modeled and queried. The default implementation returns Expensive, but targets
can override this function to model the cost more accurately.

Differential Revision: https://reviews.llvm.org/D59252


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356555 91177308-0d34-0410-b5e6-96231b3b80d8
2019-03-20 14:15:46 +00:00
Matt Arsenault 2066fb5fc9 AMDGPU: Partially fix default device for HSA
There are a few different issues, mostly stemming from using
generation based checks for anything instead of subtarget
features. Stop adding flat-address-space as a feature for HSA, as it
should only be a device property. This was incorrectly allowing flat
instructions to select for SI.

Increase the default generation for HSA to avoid the encoding error
when emitting objects. This has some other side effects from various
checks which probably should be separate subtarget features (in the
cost model and for dealing with the DS offset folding issue).

Partial fix for bug 41070. It should probably be an error to try using
amdhsa without flat support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356347 91177308-0d34-0410-b5e6-96231b3b80d8
2019-03-17 21:31:35 +00:00
Tim Renouf c84795ff0d [AMDGPU] Prepare for introduction of v3 and v5 MVTs
AMDGPU would like to have MVTs for v3i32, v3f32, v5i32, v5f32. This
commit does not add them, but makes preparatory changes:

* Fixed assumptions of power-of-2 vector type in kernel arg handling,
  and added v5 kernel arg tests and v3/v5 shader arg tests.

* Added v5 tests for cost analysis.

* Added vec3/vec5 arg test cases.

Some of this patch is from Matt Arsenault, also of AMD.

Differential Revision: https://reviews.llvm.org/D58928

Change-Id: I7279d6b4841464d2080eb255ef3c589e268eabcd

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356342 91177308-0d34-0410-b5e6-96231b3b80d8
2019-03-17 21:04:16 +00:00
Simon Pilgrim 696daedea3 [TTI] Add generic cost model for smul/umul overflow intrinsics
Based off smul/umul fixed costs and the implementation in TargetLowering::expandMULO.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354784 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-25 13:30:23 +00:00
Simon Pilgrim 717b89980a [TTI] Add generic cost model for fixed point smul/umul
Based on an IR equivalent of target lowering's generic expansion - target specific costs will typically be lower (IR doesn't have a good mull/mulh equivalent) but we need a baseline.

Differential Revision: https://reviews.llvm.org/D57925

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354774 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-25 11:59:23 +00:00
Simon Pilgrim e2b5a7a337 [CostModel][X86] Add UMUL fixed point cost tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353153 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-05 10:55:38 +00:00
Nikita Popov 98d9d8b1f1 [CodeGen][X86] Expand UADDSAT to NOT+UMIN+ADD
Followup to D56636, this time handling the UADDSAT case by expanding
uadd.sat(a, b) to umin(a, ~b) + b.

Differential Revision: https://reviews.llvm.org/D56869

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352409 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-28 19:19:09 +00:00
Simon Pilgrim 06a647df6d [TTI] Add generic SADDSAT/SSUBSAT costs
Add generic costs calculation for SADDSAT/SSUBSAT intrinsics, this uses generic costs for sadd_with_overflow/ssub_with_overflow, an extra sign comparison + a selects based on the sign/overflow.

This completes PR40316

Differential Revision: https://reviews.llvm.org/D57239

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352315 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-27 13:51:59 +00:00
Nemanja Ivanovic 8c69b6f74f [PowerPC] Update Vector Costs for P9
For the power9 CPU, vector operations consume a pair of execution units rather
than one execution unit like a scalar operation. Update the target transform
cost functions to reflect the higher cost of vector operations when targeting
Power9.

Patch by RolandF.

Differential revision: https://reviews.llvm.org/D55461


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352261 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-26 01:18:48 +00:00
Simon Pilgrim c3e869e3cf [CostModel][X86] Add SMUL fixed point cost tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352046 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-24 13:48:20 +00:00
Simon Pilgrim a6db2ced99 [TTI] Add generic SADDO/SSUBO costs
Added x86 scalar sadd_with_overflow/ssub_with_overflow costs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352045 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-24 13:36:45 +00:00
Simon Pilgrim 2e5edf4b8d [TTI] Add generic UADDSAT/USUBSAT costs
Add generic costs calculation for UADDSAT/USUBSAT intrinsics, this fallbacks to using generic costs for uadd_with_overflow/usub_with_overflow + a select.

Differential Revision: https://reviews.llvm.org/D56907

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352044 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-24 12:27:10 +00:00
Simon Pilgrim 37114573a1 [TTI] Add generic UADDO/USUBO costs
Added x86 scalar uadd_with_overflow/usub_with_overflow costs.

Differential Revision: https://reviews.llvm.org/D56907

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352043 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-24 12:10:20 +00:00
Simon Pilgrim 7ce2f7c077 [IR] Match intrinsic parameter by scalar/vectorwidth
This patch replaces the existing LLVMVectorSameWidth matcher with LLVMScalarOrSameVectorWidth.

The matching args must be either scalars or vectors with the same number of elements, but in either case the scalar/element type can differ, specified by LLVMScalarOrSameVectorWidth.

I've updated the _overflow intrinsics to demonstrate this - allowing it to return a i1 or <N x i1> overflow result, matching the scalar/vectorwidth of the other (add/sub/mul) result type.

The masked load/store/gather/scatter intrinsics have also been updated to use this, although as we specify the reference type to be llvm_anyvector_ty we guarantee the mask will be <N x i1> so no change in behaviour

Differential Revision: https://reviews.llvm.org/D57090

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351957 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-23 16:00:22 +00:00
Simon Pilgrim 598d00ecd6 [CostModel][X86] Add ICMP Predicate specific costs
First step towards PR40376, this patch adds support for getCmpSelInstrCost to use the (optional) Instruction CmpInst predicate to indicate the type of integer comparison we're performing and alter the costs accordingly.

Differential Revision: https://reviews.llvm.org/D57013

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351810 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-22 12:29:38 +00:00
Simon Pilgrim ecff368e5c [CostModel][X86] Add XOP icmp cost tests (PR40376)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351741 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-21 11:33:52 +00:00
Simon Pilgrim 21d100aff8 [CostModel][X86] Add explicit vector select costs
Prior to SSE41 (and sometimes on AVX1), vector select has to be performed as a ((X & C)|(Y & ~C)) bit select.

Exposes a couple of issues with the min/max reduction costs (which only go down to SSE42 for some reason).

The increase pre-SSE41 selection costs also prevent a couple of tests from firing any longer, so I've either tweaked the target or added AVX tests as well to the existing SSE2 tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351685 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-20 13:55:01 +00:00
Simon Pilgrim 38ece52d64 [CostModel][X86] Add explicit fcmp costs for pre-SSE42 targets
Typical throughputs: cmpss/cmpps = 1cy and cmpsd/cmppd = 2cy before the Core2 era

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351684 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-20 13:21:43 +00:00
Simon Pilgrim 64110d8bee [CostModel][X86] Split icmp/fcmp costs tests and test all comparison codes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351682 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-20 12:10:42 +00:00
Simon Pilgrim 104aad5d59 [CostModel][X86] Add masked load/store/gather/scatter tests for SSE2/SSE42/AVX1 targets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351681 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-20 11:23:01 +00:00
Simon Pilgrim eafe03ff2a [CostModel][X86] Add non-constant vselect cost tests
Also add AVX512 costs at the same time

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351680 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-20 11:19:35 +00:00
Nikita Popov b96b37dc8f Reapply "[CodeGen][X86] Expand USUBSAT to UMAX+SUB, also for vectors"
Related to https://bugs.llvm.org/show_bug.cgi?id=40123.

Rather than scalarizing, expand a vector USUBSAT into UMAX+SUB,
which produces much better code for X86.

Reapplying with updated SLPVectorizer tests.

Differential Revision: https://reviews.llvm.org/D56636

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351219 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-15 18:43:41 +00:00
Nikita Popov f0a0953bb6 Revert "[CodeGen][X86] Expand USUBSAT to UMAX+SUB, also for vectors"
This reverts commit r351125.

I missed test changes in an SLPVectorizer test, due to the cost model
changes. Reverting for now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351129 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-14 22:18:39 +00:00
Nikita Popov ec124e9d4d [CodeGen][X86] Expand USUBSAT to UMAX+SUB, also for vectors
Related to https://bugs.llvm.org/show_bug.cgi?id=40123.

Rather than scalarizing, expand a vector USUBSAT into UMAX+SUB,
which produces much better code for X86.

Differential Revision: https://reviews.llvm.org/D56636

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351125 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-14 21:43:30 +00:00
Simon Pilgrim 4f03641b8a [CostModel][X86] Fix SSE1 FADD/FSUB costs
Noticed in D56011 - handle the case that scalar fp ops are quicker on P3 than P4

Add the other costs so that we're not relying on the default "is legal/custom" cost logic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350403 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-04 16:55:57 +00:00
Simon Pilgrim 2c32ed44d3 [CostModel][X86] Add SSE1 fp cost tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350401 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-04 16:37:01 +00:00
Simon Pilgrim 39c11273d1 [CostModel][X86] Add truncate cost tests to cover all legal destination types
We were only testing costs for legal source vector element counts

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350323 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-03 14:49:39 +00:00
Simon Pilgrim b57398b5f9 [X86] Add ADD/SUB SSAT/USAT vector costs (PR40123)
Costs for real SSE2 instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350295 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-03 11:38:42 +00:00
Simon Pilgrim 355edd6d2c [X86] Add ADD/SUB SSAT/USAT cost tests (PR40123)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350293 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-03 11:29:24 +00:00
Craig Topper 4d8d496e93 [CostModel][X86] Don't count 2 shuffles on the last level of a pairwise arithmetic or min/max reduction
This is split from D55452 with the correct patch this time.

Pairwise reductions require two shuffles on every level but the last. On the last level the two shuffles are <1, u, u, u...> and <0, u, u, u...>, but <0, u, u, u...> will be dropped by InstCombine/DAGCombine as being an identity shuffle.

Differential Revision: https://reviews.llvm.org/D55615

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@349072 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-13 19:08:10 +00:00
Craig Topper 24a384d4a6 [CostModel][X86][AArch64] Adjust cost of the scalarization part of min/max reduction.
Summary: The comment says we need 3 extracts and a select at the end. But didn't we just account for the select in the vector cost above. Aren't we just extracting the single element after taking the min/max in the vector register?

Reviewers: RKSimon, spatel, ABataev

Reviewed By: RKSimon

Subscribers: javed.absar, kristof.beyls, llvm-commits

Differential Revision: https://reviews.llvm.org/D55480

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348739 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-10 06:58:58 +00:00
Craig Topper 1253bae2f0 [CostModel][X86] Fix overcounting arithmetic cost in illegal types in getArithmeticReductionCost/getMinMaxReductionCost
We were overcounting the number of arithmetic operations needed at each level before we reach a legal type. We were using the full vector type for that level, but we are going to split the input vector at that level in half. So the effective arithmetic operation cost at that level is half the width.

So for example on 8i32 on an sse target. Were were calculating the cost of an 8i32 op which is likely 2 for basic integer. Then after the loop we count 2 more v4i32 ops. For a total arith cost of 4. But if you look at the assembly there would only be 3 arithmetic ops.

There are still more bugs in this code that I'm going to work on next. The non pairwise code shouldn't count extract subvectors in the loop. There are no extracts, the types are split in registers. For pairwise we need to use 2 two src permute shuffles.

Differential Revision: https://reviews.llvm.org/D55397

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348621 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-07 18:20:56 +00:00
Craig Topper bd3579dbdc [X86] Remove -costmodel-reduxcost=true from the experimental vector reduction intrinsic tests as it appears to be unnecessary. NFC
I think this has something to do with matching reductions from extractelement, binops, and shuffles. But we're not matching here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348340 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-05 07:56:50 +00:00
Craig Topper f0da85315a [X86] Add more cost model tests for vector reductions with narrow vector types. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348339 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-05 07:26:57 +00:00
Jonas Paulsson 7e303e822d [SystemZ::TTI] Return zero cost for ICmp that becomes Load And Test.
A loaded value with multiple users compared with 0 will become a load and
test single instruction. The load is not folded in this case (multiple
users), but the compare instruction is eliminated.

This patch returns 0 cost for the icmp in these cases.

Review: Ulrich Weigand
https://reviews.llvm.org/D55111

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348141 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-03 14:30:18 +00:00
Simon Pilgrim 2d4f754c33 [TTI] Reduction costs only need to include a single extract element cost (REAPPLIED)
We were adding the entire scalarization extraction cost for reductions, which returns the total cost of extracting every element of a vector type.

For reductions we don't need to do this - we just need to extract the 0'th element after the reduction pattern has completed.

Fixes PR37731

Rebased and reapplied after being reverted in rL347541 due to PR39774 - which was fixed by D54955/rL347759 and D55017/rL347997

Differential Revision: https://reviews.llvm.org/D54585

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348076 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-01 14:18:31 +00:00
Craig Topper 2439d1bffc [X86] Replace '-mcpu=skx' with -mattr=avx512f or -mattr=avx512bw in interleave/strided load/store cost model tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348056 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-01 00:21:49 +00:00
Jonas Paulsson 31393f1f98 [SystemZ::TTI] i8/i16 operands extension costs revisited
Three minor changes to these extra costs:

* For ICmp instructions, instead of adding 2 all the time for extending each
  operand, this is only done if that operand is neither a load or an
  immediate.

* The operands extension costs for divides removed, because we now use a high
  cost already for the divide (20).

* The costs for lhsr/ashr extra costs removed as this did not seem useful.

Review: Ulrich Weigand
https://reviews.llvm.org/D55053

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347961 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-30 07:09:34 +00:00
Craig Topper d5ee5db9d4 [X86] Make X86TTIImpl::getCastInstrCost properly handle the case where AVX512 is enabled, but 512-bit vectors aren't legal.
Unlike most cost model functions this code makes a lot of table lookups without using the results from getTypeLegalizationCost. This means 512-bit vectors can be looked up even when the type isn't legal.

This patch adds a check around the two tables that contain 512-bit types to make sure that neither of the types would be split by type legalization. Meaning 512 bit types are illegal. I wanted to write this in a somewhat generic way that uses type legalization query hooks. But if prefered, I can switch to just using is512BitVector and the subtarget feature.

Differential Revision: https://reviews.llvm.org/D54984

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347786 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-28 18:11:42 +00:00
Craig Topper 9e865e720d [X86] Add some cost model entries for sext/zext for avx512bw
This fixes some of scalarization costs reported for sext/zext using avx512bw. This does not fix all scalarization costs being reported. Just the worst.

I've restricted this only to combinations of types that are legal with avx512bw like v32i1/v64i1/v32i16/v64i8 and conversions between vXi1 and vXi8/vXi16 with legal vXi8/vXi16 result types.

Differential Revision: https://reviews.llvm.org/D54979

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347785 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-28 18:11:39 +00:00
Craig Topper f41ae122a1 [X86] Add a combine for back to back VSRAI instructions
Expansion of SIGN_EXTEND_INREG can create a VSRAI instruction. If there is already a VSRAI after it, we should combine them into a larger VSRAI

Differential Revision: https://reviews.llvm.org/D54959

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347784 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-28 18:03:38 +00:00
Jonas Paulsson 3d8563b0d6 [SystemZ::TTI] Improve cost for compare of i64 with extended i32 load
CGF/CLGF compares an i64 register with a sign/zero extended loaded i32 value
in memory.

This patch makes such a load considered foldable and so gets a 0 cost.

Review: Ulrich Weigand
https://reviews.llvm.org/D54944

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347735 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-28 08:58:27 +00:00
Jonas Paulsson 21e857c82f [SystemZ::TTI] Improve costs for i16 add, sub and mul against memory.
AH, SH and MH costs are already covered in the cases where LHS is 32 bits and
RHS is 16 bits of memory sign-extended to i32.

As these instructions are also used when LHS is i16, this patch recognizes
that the loads will get folded then as well.

Review: Ulrich Weigand
https://reviews.llvm.org/D54940

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347734 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-28 08:31:50 +00:00
Jonas Paulsson 024fc6cdfe [SystemZ::TTI] Improved cost values for comparison against memory.
Single instructions exist for i8 and i16 comparisons of memory against a
small immediate.

This patch makes sure that if the load in these cases has a single user (the
ICmp), it gets a 0 cost (folded), and also that the ICmp gets a cost of 1.

Review: Ulrich Weigand
https://reviews.llvm.org/D54897

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347733 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-28 08:08:05 +00:00
Jonas Paulsson 37e265983b [SystemZ::TTI] Return zero cost for scalar load/store connected with a bswap.
Since byte-swapping loads and stores are supported, a 'load -> bswap' or
'bswap -> store' sequence should have the cost of one.

Review: Ulrich Weigand
https://reviews.llvm.org/D54870

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347732 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-28 07:52:34 +00:00
Craig Topper a4ab066df8 [X86] Add test cases to show that we don't properly take -mprefer-vector-width=256 and -min-legal-vector-width=256 into account when costing sext/zext.
The check lines marked AVX256 in the zext256/sext256 functions should be closer to the AVX values which would take into account a splitting cost.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347722 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-28 00:33:34 +00:00
Craig Topper b72b8f22f0 [X86] Add exhaustive cost model testing for sext/zext for all vector types we reasonably support. Add cost model tests for truncating to vXi1.
Our sext/zext cost modeling was somewhat incomplete. And had no coverage for the fact that avx512bw v32i16/v64i8 types return a scalarization cost.

Truncates are a whole different mess because isTruncateFree is returning true for vectors when it shouldn't and that's the fall back for anything not in the tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347719 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-27 22:46:05 +00:00
Craig Topper e4c346dacc [X86] Add cost model tests for experimental.vector.reduce.* with -x86-experimental-vector-widening-legalization
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347697 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-27 19:44:40 +00:00
Craig Topper 84288abd6a [X86] Add cost model test for masked load an store with -x86-experimental-vector-widening-legalization
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347696 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-27 19:44:36 +00:00