| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
These should be SALU writes, and these are lowered to instructions
that def SCC.
llvm-svn: 364859
|
| |
|
|
| |
llvm-svn: 364836
|
| |
|
|
| |
llvm-svn: 364835
|
| |
|
|
| |
llvm-svn: 364834
|
| |
|
|
|
|
|
|
|
| |
Tests don't cover the masked input path since non-kernel arguments
aren't lowered yet.
Test is copied directly from the existing test, with 2 additions.
llvm-svn: 364833
|
| |
|
|
|
|
|
|
| |
Replace the brcond for the 2 cases that act as branches. For now
follow how the current system works, although I think we can
eventually get rid of the pseudos.
llvm-svn: 364832
|
| |
|
|
|
|
|
|
|
| |
This needs to be extended to s32, and expanded into cmp+select. This
is relying on the fact that widenScalar happens to leave the
instruction in place, but this isn't a guaranteed property of
LegalizerHelper.
llvm-svn: 364831
|
| |
|
|
|
|
|
| |
Use a change observer to apply a register bank to the newly created
intermediate result register.
llvm-svn: 364830
|
| |
|
|
|
|
|
| |
If this is scalar, promote to s32. Use a new observer class to assign
the register bank of newly created registers.
llvm-svn: 364827
|
| |
|
|
|
|
|
|
|
| |
The condition register bank must be scc or vcc so that a copy will be
inserted, which will be lowered to a compare.
Currently greedy unnecessarily forces using a VCC select.
llvm-svn: 364825
|
| |
|
|
| |
llvm-svn: 364819
|
| |
|
|
| |
llvm-svn: 364817
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
ds_ordered_count can now simultaneously operate on up to 4 dwords
in a single instruction, which are taken from (and returned to)
lanes 0..3 of a single VGPR.
Change-Id: I19b6e7b0732b617c10a779a7f9c0303eec7dd276
Reviewers: mareko, arsenm, rampitec
Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D63716
llvm-svn: 364815
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Original patch by Marek Olšák
Change-Id: Ia97d5d685a63a377d86e82942436d1fe6e429bab
Reviewers: mareko, arsenm, rampitec
Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, jfb, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D63452
llvm-svn: 364814
|
| |
|
|
| |
llvm-svn: 364811
|
| |
|
|
| |
llvm-svn: 364808
|
| |
|
|
| |
llvm-svn: 364807
|
| |
|
|
|
|
|
|
| |
Also works around tablegen defect in selecting add with unused carry,
but if we have to manually select GEP, might as well handle add
manually.
llvm-svn: 364806
|
| |
|
|
| |
llvm-svn: 364805
|
| |
|
|
|
|
|
|
|
|
|
| |
There are several things broken, but at least emit the right thing for
gfx9.
The import of the pattern with the unused carry out seems to not
work. Needs a special class for clamp, because OperandWithDefaultOps
doesn't really work.
llvm-svn: 364804
|
| |
|
|
| |
llvm-svn: 364801
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: arsenm
Reviewed By: arsenm
Subscribers: hiraditya, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, rovka, kristof.beyls, dstuttard, tpr, t-tye, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D58804
llvm-svn: 364797
|
| |
|
|
| |
llvm-svn: 364795
|
| |
|
|
| |
llvm-svn: 364789
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The stride should depend on the wave size, not the hardware generation.
Also, the 32_FLOAT format is 0x16, not 16; though that shouldn't be
relevant.
Change-Id: I088f93bf6708974d085d1c50967f119061da6dc6
Reviewers: arsenm, rampitec, mareko
Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D63808
llvm-svn: 364788
|
| |
|
|
|
|
|
| |
This is easy to handle and avoids legalization artifacts which are
likely to obscure combines.
llvm-svn: 364787
|
| |
|
|
| |
llvm-svn: 364786
|
| |
|
|
|
|
|
| |
isVCC has the same bug, but isn't used in a context where it can cause
a problem.
llvm-svn: 364784
|
| |
|
|
| |
llvm-svn: 364782
|
| |
|
|
| |
llvm-svn: 364769
|
| |
|
|
| |
llvm-svn: 364768
|
| |
|
|
| |
llvm-svn: 364767
|
| |
|
|
| |
llvm-svn: 364766
|
| |
|
|
|
|
| |
Select s64 eq/ne scalar icmp.
llvm-svn: 364765
|
| |
|
|
| |
llvm-svn: 364763
|
| |
|
|
| |
llvm-svn: 364762
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This was checking the size of the register with the value of the size,
which happens to be exec. Also fix assuming VCC is 64-bit to fix
wave32.
Also remove some untested handling for physical registers which is
skipped. This doesn't insert the V_CNDMASK_B32 if SCC is the physical
copy source. I'm not sure if this should be trying to handle this
special case instead of dealing with this in copyPhysReg.
llvm-svn: 364761
|
| |
|
|
|
|
|
| |
Zext from s1 is the only case where this should do anything with the
current legal extensions.
llvm-svn: 364760
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
isLoopExiting should only be called for blocks in the loop. A follow
up patch makes this requirement an assertion.
I've updated the usage here, to only match for actual exit blocks. Previously,
it would also match blocks not in the loop.
Reviewers: arsenm, nhaehnle
Reviewed By: nhaehnle
Differential Revision: https://reviews.llvm.org/D63980
llvm-svn: 364750
|
| |
|
|
| |
llvm-svn: 364701
|
| |
|
|
| |
llvm-svn: 364699
|
| |
|
|
| |
llvm-svn: 364698
|
| |
|
|
| |
llvm-svn: 364697
|
| |
|
|
| |
llvm-svn: 364696
|
| |
|
|
| |
llvm-svn: 364695
|
| |
|
|
| |
llvm-svn: 364694
|
| |
|
|
| |
llvm-svn: 364656
|
| |
|
|
| |
llvm-svn: 364651
|
| |
|
|
|
|
|
|
|
|
| |
See bug 40820: https://bugs.llvm.org/show_bug.cgi?id=40820
Reviewers: artem.tamazov, arsenm
Differential Revision: https://reviews.llvm.org/D62735
llvm-svn: 364645
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D63851
llvm-svn: 364619
|