7 Commits

Author SHA1 Message Date
Matt Arsenault 53208ba3c0 AMDGPU: Fix i16 arithmetic pattern redundancy
There were 2 problems here. First, these patterns were duplicated to
handle the inverted shift operands instead of using the commuted
PatFrags.

Second, the point of the zext folding patterns don't apply to the
non-0ing high subtargets. They should be skipped instead of inserting
the extension. The zeroing high code would be emitted when necessary
anyway. This was also emitting unnecessary zexts in cases where the
high bits were undefined.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374092 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-08 17:36:38 +00:00
Simon Pilgrim 86ff849b7a [AMDGPU] Regenerate idot tests. NFCI.
Reduces diff in D63281.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365754 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-11 10:37:58 +00:00
Stanislav Mekhanoshin 47b8de0499 [AMDGPU] gfx10 tests. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363946 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-20 16:29:40 +00:00
Nirav Dave d3c5ebd041 [DAGCombine] Prune unnused nodes.
Summary:
Nodes that have no uses are eventually pruned when they are selected
from the worklist. Record nodes newly added to the worklist or DAG and
perform pruning after every combine attempt.

Reviewers: efriedma, RKSimon, craig.topper, spatel, jyknight

Reviewed By: jyknight

Subscribers: jdoerfert, jyknight, nemanjai, jvesely, nhaehnle, javed.absar, hiraditya, jsji, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@357283 91177308-0d34-0410-b5e6-96231b3b80d8
2019-03-29 17:35:56 +00:00
Matt Arsenault 9ee1996724 AMDGPU: Actually commit re-run of update_llc_test_checks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341218 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 15:05:06 +00:00
Matt Arsenault d3da33bf59 AMDGPU: Fix broken generated check lines
This was incorrectly using the same check prefix for multiple lines

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341214 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 14:34:22 +00:00
Farhana Aleen cf8aa848ec [AMDGPU] Support idot2 pattern.
Summary: Transform add (mul ((i32)S0.x, (i32)S1.x),

         add( mul ((i32)S0.y, (i32)S1.y), (i32)S3) => i/udot2((v2i16)S0, (v2i16)S1, (i32)S3)

Author: FarhanaAleen

Reviewed By: arsenm

Subscribers: llvm-commits, AMDGPU

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@340295 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-21 16:21:15 +00:00