Dmitry Preobrazhensky
933ebc4078
[AMDGPU][MC][GFX8+] Enabled clamp for v_mul_i32_i24_e64 and v_mul_u32_u24_e64
...
See bug 45925: https://bugs.llvm.org/show_bug.cgi?id=45925
Reviewers: arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D80287
2020-05-22 14:11:31 +03:00
Dmitry Preobrazhensky
18a5428e60
[AMDGPU][MC][GFX9+] Enabled clamp for v_add_i32 and v_sub_i32
...
See bug 45830: https://bugs.llvm.org/show_bug.cgi?id=45830
Reviewers: arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D79585
2020-05-13 14:17:20 +03:00
Dmitry Preobrazhensky
5998baccb9
[AMDGPU][MC][GFX9+] Enabled 21-bit signed offsets for SMEM instructions
...
Reviewers: arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D79288
2020-05-06 14:13:10 +03:00
Yuanfang Chen
4ad7685258
Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`"""
...
This reverts commit 80a34ae311
with fixes.
Previously, since bots turning on EXPENSIVE_CHECKS are essentially turning on
MachineVerifierPass by default on X86 and the fact that
inline-asm-avx-v-constraint-32bit.ll and inline-asm-avx512vl-v-constraint-32bit.ll
are not expected to generate functioning machine code, this would go
down to `report_fatal_error` in MachineVerifierPass. Here passing
`-verify-machineinstrs=0` to make the intent explicit.
2020-02-13 10:16:06 -08:00
Yuanfang Chen
17122ec10a
Revert "Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`""""
...
This reverts commit bb51d24330
.
2020-02-13 10:08:05 -08:00
Yuanfang Chen
bb51d24330
Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`"""
...
This reverts commit 80a34ae311
with fixes.
On bots llvm-clang-x86_64-expensive-checks-ubuntu and
llvm-clang-x86_64-expensive-checks-debian only,
llc returns 0 for these two tests unexpectedly. I tweaked the RUN line a little
bit in the hope that LIT is the culprit since this change is not in the
codepath these tests are testing.
llvm\test\CodeGen\X86\inline-asm-avx-v-constraint-32bit.ll
llvm\test\CodeGen\X86\inline-asm-avx512vl-v-constraint-32bit.ll
2020-02-13 10:02:53 -08:00
Yuanfang Chen
80a34ae311
Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`""
...
This reverts commit rGcd5b308b828e, rGcd5b308b828e, rG8cedf0e2994c.
There are issues to be investigated for polly bots and bots turning on
EXPENSIVE_CHECKS.
2020-02-11 20:41:53 -08:00
Yuanfang Chen
8cedf0e299
Reland "[Support] make report_fatal_error `abort` instead of `exit`"
...
Summary:
Reland D67847 after D73742 is committed. Replace `sys::Process::Exit(1)`
with `abort` in `report_fatal_error`.
After this patch, for tools turning on `CrashRecoveryContext`,
crash handler installed by `CrashRecoveryContext` is called unless
they installed a non-returning handler using `llvm::install_fatal_error_handler`
like `cc1_main` currently does.
Reviewers: rnk, MaskRay, aganea, hans, espindola, jhenderson
Subscribers: jholewinski, qcolombet, dschuff, jyknight, emaste, sdardis, nemanjai, jvesely, nhaehnle, sbc100, jgravelle-google, hiraditya, aheejin, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, jrtc27, zzheng, edward-jones, atanasyan, steven_wu, rogfer01, MartinMosbeck, brucehoult, the_o, dexonsmith, PkmX, rupprecht, jocewei, jsji, Jim, dmgreen, lenary, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, kerbowa, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D74456
2020-02-11 18:20:40 -08:00
Yuanfang Chen
6e24c6037f
Revert "[Support] make report_fatal_error `abort` instead of `exit`"
...
This reverts commit 647c3f4e47
.
Got bots failure from sanitizer-windows and maybe others.
2020-01-15 17:52:25 -08:00
Yuanfang Chen
647c3f4e47
[Support] make report_fatal_error `abort` instead of `exit`
...
Summary:
This patch could be treated as a rebase of D33960. It also fixes PR35547.
A fix for `llvm/test/Other/close-stderr.ll` is proposed in D68164. Seems
the consensus is that the test is passing by chance and I'm not
sure how important it is for us. So it is removed like in D33960 for now.
The rest of the test fixes are just adding `--crash` flag to `not` tool.
** The reason it fixes PR35547 is
`exit` does cleanup including calling class destructor whereas `abort`
does not do any cleanup. In multithreading environment such as ThinLTO or JIT,
threads may share states which mostly are ManagedStatic<>. If faulting thread
tearing down a class when another thread is using it, there are chances of
memory corruption. This is bad 1. It will stop error reporting like pretty
stack printer; 2. The memory corruption is distracting and nondeterministic in
terms of error message, and corruption type (depending one the timing, it
could be double free, heap free after use, etc.).
Reviewers: rnk, chandlerc, zturner, sepavloff, MaskRay, espindola
Reviewed By: rnk, MaskRay
Subscribers: wuzish, jholewinski, qcolombet, dschuff, jyknight, emaste, sdardis, nemanjai, jvesely, nhaehnle, sbc100, arichardson, jgravelle-google, aheejin, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, zzheng, edward-jones, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, jsji, lenary, s.egerton, pzheng, cfe-commits, MaskRay, filcab, davide, MatzeB, mehdi_amini, hiraditya, steven_wu, dexonsmith, rupprecht, seiya, llvm-commits
Tags: #llvm, #clang
Differential Revision: https://reviews.llvm.org/D67847
2020-01-15 17:05:13 -08:00
Jay Foad
440ce5164f
[AMDGPU] Remove duplicate gfx10 assembler and disassembler tests
...
Summary: Depends on D72611.
Reviewers: rampitec, arsenm
Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72616
2020-01-14 08:20:51 +00:00
Jay Foad
63c3691f79
[AMDGPU] Add gfx9 assembler and disassembler test cases
...
Summary:
This adds assembler tests for cases that were previously only in the
disassembler tests, and vice versa.
Reviewers: rampitec, arsenm, nhaehnle
Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72592
2020-01-14 08:20:28 +00:00
Jay Foad
241f330d6b
[AMDGPU] Add gfx8 assembler and disassembler test cases
...
Summary:
This adds assembler tests for cases that were previously only in the
disassembler tests, and vice versa.
Reviewers: rampitec, arsenm, nhaehnle
Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72561
2020-01-12 21:12:48 +00:00
Dmitry Preobrazhensky
edd9f70163
[AMDGPU][MC][GFX10] Enabled v_movrel*[sdwa|dpp|dpp8] opcodes
...
See https://bugs.llvm.org/show_bug.cgi?id=43712
Reviewers: arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D70170
2019-11-18 17:23:40 +03:00
Stanislav Mekhanoshin
de56a89072
[AMDGPU] return Fail instead of SolfFail from addOperand()
...
addOperand() method of AMDGPU disassembler returns SoftFail
on error. All instances which may lead to that place are
an impossible encdoing, not something which is possible to
encode, but semantically incorrect as described for SoftFail.
Then tablegen generates a check of the following form:
if (Decode...(..) == MCDisassembler::Fail) { return MCDisassembler::Fail; }
Since we can only return Success and SoftFail that is dead
code as detected by the static code analyzer.
Solution: return Fail as it should be.
See https://bugs.llvm.org/show_bug.cgi?id=43886
Differential Revision: https://reviews.llvm.org/D69819
2019-11-05 10:25:27 -08:00
Dmitry Preobrazhensky
b8042dbe2b
[AMDGPU][MC][GFX10] Added v_interp_[p1/p2/mov]_f32_e64
...
See https://bugs.llvm.org/show_bug.cgi?id=43747
Reviewers: arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D69348
2019-10-28 15:03:43 +03:00
Dmitry Preobrazhensky
6c7d7eebda
[AMDGPU][MC][GFX10] Added sdwa/dpp versions of v_cndmask_b32
...
See https://bugs.llvm.org/show_bug.cgi?id=43608
Reviewers: arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D69096
llvm-svn: 375241
2019-10-18 14:49:53 +00:00
Dmitry Preobrazhensky
c4995076c6
[AMDGPU][MC][GFX9][GFX10] Corrected number of src operands for ds_[read/write]_addtid_b32
...
See https://bugs.llvm.org/show_bug.cgi?id=37941
Reviewers: arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D68787
llvm-svn: 374561
2019-10-11 14:53:26 +00:00
Dmitry Preobrazhensky
b82fae01ea
[AMDGPU][MC][GFX6][GFX7][GFX10] Added instructions buffer_atomic_[fcmpswap/fmin/fmax]*
...
See https://bugs.llvm.org/show_bug.cgi?id=28232
Reviewers: arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D68788
llvm-svn: 374559
2019-10-11 14:44:51 +00:00
Dmitry Preobrazhensky
472c6b0aa0
[AMDGPU][MC][GFX10] Enabled null for 64-bit dst operands
...
See https://bugs.llvm.org/show_bug.cgi?id=43524
Reviewers: arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D68785
llvm-svn: 374557
2019-10-11 14:35:11 +00:00
Dmitry Preobrazhensky
434d59250e
[AMDGPU][MC][GFX10][WS32] Corrected decoding of dst operand for v_cmp_*_sdwa opcodes
...
See bug 43484: https://bugs.llvm.org/show_bug.cgi?id=43484
Reviewers: arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D68349
llvm-svn: 373745
2019-10-04 13:04:17 +00:00
Dmitry Preobrazhensky
9bd763679f
[AMDGPU][MC][GFX10] Enabled decoding of 'null' operand
...
See bug 43485: https://bugs.llvm.org/show_bug.cgi?id=43485
Reviewers: arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D68348
llvm-svn: 373740
2019-10-04 12:38:36 +00:00
Dmitry Preobrazhensky
94d040706d
[AMDGPU][MC][GFX10] Corrected definition of FLAT GLOBAL/SCRATCH instructions
...
See bug 43483: https://bugs.llvm.org/show_bug.cgi?id=43483
Reviewers: arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D68347
llvm-svn: 373736
2019-10-04 12:10:22 +00:00
Austin Kerbow
a05c384132
Re-commit: [AMDGPU] Use S_DENORM_MODE for gfx10
...
Summary: During fdiv32 lowering use S_DENORM_MODE to select denorm mode in gfx10.
Reviewers: arsenm, rampitec
Reviewed By: arsenm, rampitec
Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65620
llvm-svn: 367969
2019-08-06 02:16:11 +00:00
Dmitri Gribenko
8820b122b3
Revert "Try to fix failing AMDGPU disasm test, both Lin/Win agree this is 0 not 0x0"
...
This reverts commit r367907, it broke the test.
llvm-svn: 367909
2019-08-05 19:07:09 +00:00
Reid Kleckner
d67c90a8c4
Try to fix failing AMDGPU disasm test, both Lin/Win agree this is 0 not 0x0
...
llvm-svn: 367907
2019-08-05 18:46:26 +00:00
Dmitry Preobrazhensky
8d879c8d95
[AMDGPU][MC] Corrected encoding of src0 for DS_GWS_* instructions
...
See bug 42599: https://bugs.llvm.org/show_bug.cgi?id=42599
Reviewers: artem.tamazov, arsenm
Differential Revision: https://reviews.llvm.org/D64716
llvm-svn: 366067
2019-07-15 14:37:57 +00:00
Stanislav Mekhanoshin
e93279fd1b
[AMDGPU] gfx908 atomic fadd and atomic pk_fadd
...
Differential Revision: https://reviews.llvm.org/D64435
llvm-svn: 365717
2019-07-11 00:10:17 +00:00
Stanislav Mekhanoshin
c0ae1be066
[AMDGPU] gfx908 dot instruction support
...
Differential Revision: https://reviews.llvm.org/D64431
llvm-svn: 365715
2019-07-11 00:00:27 +00:00
Stanislav Mekhanoshin
1e9eae95af
[AMDGPU] gfx908 v_pk_fmac_f16 support
...
Differential Revision: https://reviews.llvm.org/D64433
llvm-svn: 365573
2019-07-09 22:42:24 +00:00
Stanislav Mekhanoshin
50d7f46460
[AMDGPU] gfx908 mAI instructions, MC part
...
Differential Revision: https://reviews.llvm.org/D64446
llvm-svn: 365563
2019-07-09 21:43:09 +00:00
Stanislav Mekhanoshin
22b2c3d651
[AMDGPU] gfx908 target
...
Differential Revision: https://reviews.llvm.org/D64429
llvm-svn: 365525
2019-07-09 18:10:06 +00:00
Dmitry Preobrazhensky
1d572ce395
[AMDGPU][MC] Enabled constant expressions as operands of sendmsg
...
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
2019-06-28 14:14:02 +00:00
Tim Renouf
d2fdb956e0
[AMDGPU] Allow any value in unused src0 field in v_nop
...
Summary:
The LLVM disassembler assumes that the unused src0 operand of v_nop is
zero. Other tools can put another value in that field, which is still
valid. This commit fixes the LLVM disassembler to recognize such an
encoding as v_nop, in the same way as we already do for s_getpc.
Differential Revision: https://reviews.llvm.org/D63724
Change-Id: Iaf0363eae26ff92fc4ebc716216476adbff37a6f
llvm-svn: 364208
2019-06-24 17:35:20 +00:00
Stanislav Mekhanoshin
e917b3b4b8
[AMDGPU] gfx10 tests. NFC.
...
llvm-svn: 363946
2019-06-20 16:29:40 +00:00
Stanislav Mekhanoshin
0846c125f9
[AMDGPU] gfx1010 core wave32 changes
...
Differential Revision: https://reviews.llvm.org/D63204
llvm-svn: 363934
2019-06-20 15:08:34 +00:00
Stanislav Mekhanoshin
c43e67bfff
[AMDGPU] gfx1011/gfx1012 targets
...
Differential Revision: https://reviews.llvm.org/D63307
llvm-svn: 363344
2019-06-14 00:33:31 +00:00
Dmitry Preobrazhensky
9111f35f02
[AMDGPU][MC] Added support of SCC, VCCZ and EXECZ operands
...
See bug 39292: https://bugs.llvm.org/show_bug.cgi?id=39292
Reviewers: rampitec, arsenm
Differential Revision: https://reviews.llvm.org/D62660
llvm-svn: 362400
2019-06-03 13:51:24 +00:00
Dmitry Preobrazhensky
5ae3113969
[AMDGPU][MC] Enabled labels with s_call_b64 and s_cbranch_i_fork
...
See https://bugs.llvm.org/show_bug.cgi?id=41888
Reviewers: artem.tamazov, arsenm
Differential Revision: https://reviews.llvm.org/D62016
llvm-svn: 361040
2019-05-17 14:57:04 +00:00
Stanislav Mekhanoshin
d9930d499a
[AMDGPU] gfx1010 tests. NFC.
...
llvm-svn: 360615
2019-05-13 19:30:06 +00:00
Stanislav Mekhanoshin
327626368c
[AMDGPU] gfx1010 tests. NFC.
...
Added tests which now pass after code commits.
llvm-svn: 360300
2019-05-08 23:31:32 +00:00
Stanislav Mekhanoshin
1dbf721315
[AMDGPU] gfx1010 exp modifications
...
Differential Revision: https://reviews.llvm.org/D61701
llvm-svn: 360287
2019-05-08 21:23:37 +00:00
Stanislav Mekhanoshin
5cf8167735
[AMDGPU] gfx1010 allows VOP3 to have a literal
...
Differential Revision: https://reviews.llvm.org/D61413
llvm-svn: 359756
2019-05-02 04:01:39 +00:00
Stanislav Mekhanoshin
692560dc98
[AMDGPU] gfx1010 MIMG implementation
...
Differential Revision: https://reviews.llvm.org/D61339
llvm-svn: 359698
2019-05-01 16:32:58 +00:00
Stanislav Mekhanoshin
8f3da70eed
[AMDGPU] gfx1010 VOP2 changes
...
Differential Revision: https://reviews.llvm.org/D61156
llvm-svn: 359316
2019-04-26 16:37:51 +00:00
Dmitry Preobrazhensky
137976fae2
[AMDGPU][MC][GFX9] Added support of operands shared_base, shared_limit, private_base, private_limit, pops_exiting_wave_id
...
See bug 39297: https://bugs.llvm.org/show_bug.cgi?id=39297
Reviewers: artem.tamazov, arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D59290
llvm-svn: 356561
2019-03-20 15:40:52 +00:00
Tim Renouf
cfdfba996b
[AMDGPU] Asm/disasm clamp modifier on vop3 int arithmetic
...
Allow the clamp modifier on vop3 int arithmetic instructions in assembly
and disassembly.
This involved adding a clamp operand to the affected instructions in MIR
and MC, and thus having to fix up several places in codegen and MIR
tests.
Differential Revision: https://reviews.llvm.org/D59267
Change-Id: Ic7775105f02a985b668fa658a0cd7837846a534e
llvm-svn: 356399
2019-03-18 19:35:44 +00:00
Tim Renouf
2e94f6e584
[AMDGPU] Asm/disasm v_cndmask_b32_e64 with abs/neg source modifiers
...
This commit allows v_cndmask_b32_e64 with abs, neg source
modifiers on src0, src1 to be assembled and disassembled.
This does appear to be allowed, even though they are floating point
modifiers and the operand type is b32.
To do this, I added src0_modifiers and src1_modifiers to the
MachineInstr, which involved fixing up several places in codegen and mir
tests.
Differential Revision: https://reviews.llvm.org/D59191
Change-Id: I69bf4a8c73ebc65744f6110bb8fc4e937d79fbea
llvm-svn: 356398
2019-03-18 19:25:39 +00:00
Dmitry Preobrazhensky
6023d5990d
[AMDGPU][MC] Enable lds_direct operand for v_readfirstlane_b32, v_readlane_b32 and v_writelane_b32
...
See bug 40662: https://bugs.llvm.org/show_bug.cgi?id=40662
Reviewers: artem.tamazov, arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D58713
llvm-svn: 355312
2019-03-04 12:48:32 +00:00
Dmitry Preobrazhensky
ef92035827
[AMDGPU][MC][GFX8+] Added syntactic sugar for 'vgpr index' operand of instructions s_set_gpr_idx_on and s_set_gpr_idx_mode
...
See bug 39331: https://bugs.llvm.org/show_bug.cgi?id=39331
Reviewers: artem.tamazov, arsenm
Differential Revision: https://reviews.llvm.org/D58288
llvm-svn: 354969
2019-02-27 13:12:12 +00:00
Dmitry Preobrazhensky
942c273d64
[AMDGPU][MC] Added support of lds_direct operand
...
See bug 39293: https://bugs.llvm.org/show_bug.cgi?id=39293
Reviewers: artem.tamazov, rampitec
Differential Revision: https://reviews.llvm.org/D57889
llvm-svn: 353524
2019-02-08 14:57:37 +00:00
Dmitry Preobrazhensky
6bc26aaada
[AMDGPU][MC][GFX8+][DISASSEMBLER] Corrected 1/2pi value for 64-bit operands
...
See bug 39332: https://bugs.llvm.org/show_bug.cgi?id=39332
Reviewers: artem.tamazov, arsenm
Differential Revision: https://reviews.llvm.org/D56794
llvm-svn: 351555
2019-01-18 15:17:17 +00:00
Konstantin Zhuravlyov
f13c9969fc
AMDGPU: Fix v_dot{4, 8}* instruction encoding
...
Differential Revision: https://reviews.llvm.org/D46848
llvm-svn: 332387
2018-05-15 19:32:47 +00:00
Konstantin Zhuravlyov
603a43fcd5
AMDGPU: Add disasm tests for deep learning instructions + fix v_fmac_f32 disasm
...
Differential Revision: https://reviews.llvm.org/D46853
llvm-svn: 332377
2018-05-15 17:39:13 +00:00
Matt Arsenault
0084adc516
AMDGPU: Add Vega12 and Vega20
...
Changes by
Matt Arsenault
Konstantin Zhuravlyov
llvm-svn: 331215
2018-04-30 19:08:16 +00:00
Dmitry Preobrazhensky
4c45e6ff0e
[AMDGPU][MC][VI][GFX9] Added support of SDWA/DPP for v_cndmask_b32
...
See bug 36356: https://bugs.llvm.org/show_bug.cgi?id=36356
Differential Revision: https://reviews.llvm.org/D45446
Reviewers: artem.tamazov, arsenm, timcorringham
llvm-svn: 330123
2018-04-16 12:41:38 +00:00
Dmitry Preobrazhensky
fc715551a3
[AMDGPU][MC][GFX9] Added v_screen_partition_4se_b32
...
See bug 36845: https://bugs.llvm.org/show_bug.cgi?id=36845
Differential Revision: https://reviews.llvm.org/D45443
Reviewers: artem.tamazov, arsenm, timcorringham
llvm-svn: 329801
2018-04-11 13:13:30 +00:00
Dmitry Preobrazhensky
2f8e146ad3
[AMDGPU][MC][GFX9] Added instructions s_mul_hi_*32, s_lshl*_add_u32
...
See bugs
36841: https://bugs.llvm.org/show_bug.cgi?id=36841
36842: https://bugs.llvm.org/show_bug.cgi?id=36842
Differential Revision: https://reviews.llvm.org/D45251
Reviewers: artem.tamazov, arsenm, timcorringham
llvm-svn: 329562
2018-04-09 13:10:33 +00:00
Dmitry Preobrazhensky
ae31223ba7
[AMDGPU][MC][GFX9] Added s_call_b64
...
See bug 36843: https://bugs.llvm.org/show_bug.cgi?id=36843
Differential Revision: https://reviews.llvm.org/D45268
Reviewers: artem.tamazov, arsenm, timcorringham
llvm-svn: 329440
2018-04-06 18:24:49 +00:00
Dmitry Preobrazhensky
306b1a0119
[AMDGPU][MC][GFX9] Added instruction s_endpgm_ordered_ps_done
...
See bug 36844: https://bugs.llvm.org/show_bug.cgi?id=36844
Differential Revision: https://reviews.llvm.org/D45313
Reviewers: artem.tamazov, arsenm, timcorringham
llvm-svn: 329430
2018-04-06 17:25:00 +00:00
Dmitry Preobrazhensky
f20aff565d
[AMDGPU][MC][GFX9] Added instructions *saveexec*, *wrexec* and *bitreplicate*
...
See bug 36840: https://bugs.llvm.org/show_bug.cgi?id=36840
Differential Revision: https://reviews.llvm.org/D45250
Reviewers: artem.tamazov, arsenm, timcorringham
llvm-svn: 329419
2018-04-06 16:35:11 +00:00
Dmitry Preobrazhensky
59399ae4cc
[AMDGPU][MC][VI][GFX9] Added s_atc_probe* instructions
...
See bug 36839: https://bugs.llvm.org/show_bug.cgi?id=36839
Differential Revision: https://reviews.llvm.org/D45249
Reviewers: artem.tamazov, arsenm, timcorringham
llvm-svn: 329408
2018-04-06 15:48:39 +00:00
Dmitry Preobrazhensky
4732d876ee
[AMDGPU][MC][GFX9] Added s_dcache_discard* instructions
...
See bug 36838: https://bugs.llvm.org/show_bug.cgi?id=36838
Differential Revision: https://reviews.llvm.org/D45247
Reviewers: artem.tamazov, arsenm, timcorringham
llvm-svn: 329397
2018-04-06 15:08:42 +00:00
Dmitry Preobrazhensky
b181c7312e
[AMDGPU][MC][GFX9] Added instructions v_cvt_norm_*16_f16, v_sat_pk_u8_i16
...
See bug 36847: https://bugs.llvm.org/show_bug.cgi?id=36847
Differential Revision: https://reviews.llvm.org/D45097
Reviewers: artem.tamazov, arsenm, timcorringham
llvm-svn: 328988
2018-04-02 17:09:20 +00:00
Dmitry Preobrazhensky
6bad04ecf5
[AMDGPU][MC][GFX9] Added s_atomic_* and s_buffer_atomic_* instructions
...
Fixed a bug which caused Tablegen crash.
See bug 36837: https://bugs.llvm.org/show_bug.cgi?id=36837
Differential Revision: https://reviews.llvm.org/D45085
Reviewers: artem.tamazov, arsenm, timcorringham
llvm-svn: 328983
2018-04-02 16:10:25 +00:00
Nico Weber
f492f58182
Revert r328975, it makes TableGen assert on the bots.
...
llvm-svn: 328978
2018-04-02 14:20:23 +00:00
Dmitry Preobrazhensky
32c450ae6a
[AMDGPU][MC][GFX9] Added s_atomic_* and s_buffer_atomic_* instructions
...
See bug 36837: https://bugs.llvm.org/show_bug.cgi?id=36837
Differential Revision: https://reviews.llvm.org/D45085
Reviewers: artem.tamazov, arsenm, timcorringham
llvm-svn: 328975
2018-04-02 13:52:23 +00:00
Dmitry Preobrazhensky
622bde8bc7
[AMDGPU][MC] Added ds_add_src2_f32
...
See bug 36833: https://bugs.llvm.org/show_bug.cgi?id=36833
Differential Revision: https://reviews.llvm.org/D44779
Reviewers: arsenm, artem.tamazov, timcorringham
llvm-svn: 328713
2018-03-28 16:21:56 +00:00
Dmitry Preobrazhensky
2456ac696a
[AMDGPU][MC] Added PCK variants of image load/store instructions
...
See bug 36834: https://bugs.llvm.org/show_bug.cgi?id=36834
Differential Revision: https://reviews.llvm.org/D44795
Reviewers: artem.tamazov, arsenm, timcorringham, nhaehnle
llvm-svn: 328710
2018-03-28 15:44:16 +00:00
Dmitry Preobrazhensky
a917e88585
[AMDGPU][MC][GFX9] Added buffer_*_format_d16_hi_x
...
See bug 36835: https://bugs.llvm.org/show_bug.cgi?id=36835
Differential Revision: https://reviews.llvm.org/D44825
Reviewers: artem.tamazov, arsenm, timcorringham
llvm-svn: 328707
2018-03-28 14:53:13 +00:00
Dmitry Preobrazhensky
dd2b929ffb
[AMDGPU][MC][GFX9] Added s_scratch* instructions
...
See bug 36836: https://bugs.llvm.org/show_bug.cgi?id=36836
Differential Revision: https://reviews.llvm.org/D44832
Reviewers: artem.tamazov, arsenm, timcorringham
llvm-svn: 328704
2018-03-28 14:08:03 +00:00
Dmitry Preobrazhensky
4c8f4234b6
[AMDGPU][MC][GFX8][GFX9][DISASSEMBLER] Added "_e32" suffix to 32-bit VINTRP opcodes
...
See bug 36751: https://bugs.llvm.org/show_bug.cgi?id=36751
Differential Revision: https://reviews.llvm.org/D44529
Reviewers: artem.tamazov, arsenm
llvm-svn: 327723
2018-03-16 16:38:04 +00:00
Dmitry Preobrazhensky
9c1a6e7e24
[AMDGPU][MC] Corrected default values for unused SDWA operands
...
See bug 36355: https://bugs.llvm.org/show_bug.cgi?id=36355
Differential Revision: https://reviews.llvm.org/D44481
Reviewers: artem.tamazov, arsenm
llvm-svn: 327720
2018-03-16 15:40:27 +00:00
Dmitry Preobrazhensky
d98c97b4f9
[AMDGPU][MC][GFX8] Added BUFFER_STORE_LDS_DWORD Instruction
...
See bug 36558: https://bugs.llvm.org/show_bug.cgi?id=36558
Differential Revision: https://reviews.llvm.org/D43950
Reviewers: artem.tamazov, arsenm
llvm-svn: 327299
2018-03-12 17:29:24 +00:00
Dmitry Preobrazhensky
da4a7c01bf
[AMDGPU][MC] Corrected GATHER4 opcodes
...
See bug 36252: https://bugs.llvm.org/show_bug.cgi?id=36252
Differential Revision: https://reviews.llvm.org/D43874
Reviewers: artem.tamazov, arsenm
llvm-svn: 327278
2018-03-12 15:03:34 +00:00
Dmitry Preobrazhensky
d6e1a9404d
[AMDGPU][MC] Added lds support for MUBUF instructions
...
See bug 28234: https://bugs.llvm.org/show_bug.cgi?id=28234
Differential Revision: https://reviews.llvm.org/D43472
Reviewers: vpykhtin, artem.tamazov, arsenm
llvm-svn: 325676
2018-02-21 13:13:48 +00:00
Dmitry Preobrazhensky
0a1ff464e1
[AMDGPU][MC] Corrected dst/data size for MIMG opcodes with d16 modifier
...
See bug 36154: https://bugs.llvm.org/show_bug.cgi?id=36154
Differential Revision: https://reviews.llvm.org/D42847
Reviewers: cfang, artem.tamazov, arsenm
llvm-svn: 324237
2018-02-05 14:18:53 +00:00
Changpeng Fang
0905870f93
AMDGPU/SI: Add decoding in the GFX80_UNPACKED decoding namespace.
...
Reviewer:
Dmitry (dp).
Differential Revision:
https://reviews.llvm.org/D42596
llvm-svn: 323785
2018-01-30 16:42:40 +00:00
Dmitry Preobrazhensky
4f321aef74
[AMDGPU][MC] Corrected parsing of image opcode modifiers r128 and d16
...
See bugs 36092, 36093:
https://bugs.llvm.org/show_bug.cgi?id=36092
https://bugs.llvm.org/show_bug.cgi?id=36093
Differential Revision: https://reviews.llvm.org/D42583
Reviewers: vpykhtin, artem.tamazov, arsenm
llvm-svn: 323651
2018-01-29 14:20:42 +00:00
Dmitry Preobrazhensky
0b4eb1ead1
[AMDGPU][MC] Added support of 64-bit image atomics
...
See bug 35998: https://bugs.llvm.org/show_bug.cgi?id=35998
Differential Revision: https://reviews.llvm.org/D42469
Reviewers: vpykhtin, artem.tamazov, arsenm
llvm-svn: 323534
2018-01-26 15:43:29 +00:00
Dmitry Preobrazhensky
6cb42e7622
[AMDGPU][MC] Enabled disassembler for image atomic operations
...
See bug 35988: https://bugs.llvm.org/show_bug.cgi?id=35988
Differential Revision: https://reviews.llvm.org/D42186
Reviewers: vpykhtin, artem.tamazov, arsenm
llvm-svn: 323527
2018-01-26 14:07:38 +00:00
Dmitry Preobrazhensky
6b65f7c380
[AMDGPU][MC][GFX9] Enable inline constants for SDWA operands
...
See bug 35771: https://bugs.llvm.org/show_bug.cgi?id=35771
Differential Revision: https://reviews.llvm.org/D42058
Reviewers: vpykhtin, artem.tamazov, arsenm
llvm-svn: 322655
2018-01-17 14:00:48 +00:00
Dmitry Preobrazhensky
3afbd825a3
[AMDGPU][MC][GFX8][GFX9] Added XNACK_MASK support
...
See bug 35764: https://bugs.llvm.org/show_bug.cgi?id=35764
Differential Revision: https://reviews.llvm.org/D41614
Reviewers: vpykhtin, artem.tamazov, arsenm
llvm-svn: 322189
2018-01-10 14:22:19 +00:00
Dmitry Preobrazhensky
414e05383f
[AMDGPU][MC] Incorrect parsing of flat/global atomic modifiers
...
See bug 35730: https://bugs.llvm.org/show_bug.cgi?id=35730
Differential Revision: https://reviews.llvm.org/D41598
Reviewers: vpykhtin, artem.tamazov, arsenm
llvm-svn: 321552
2017-12-29 13:55:11 +00:00
Dmitry Preobrazhensky
c5b0c172f6
[AMDGPU][MC] Corrected parsing of optional operands for ds_swizzle_b32
...
See bug 35645: https://bugs.llvm.org/show_bug.cgi?id=35645
Reviewers: artem.tamazov, arsenm
Differential Revision: https://reviews.llvm.org/D41186
llvm-svn: 321367
2017-12-22 17:13:28 +00:00
Dmitry Preobrazhensky
2713495318
[AMDGPU][MC] Added support of 256- and 512-bit tuples of ttmp registers
...
See bug 35561: https://bugs.llvm.org/show_bug.cgi?id=35561
This patch also affects implementation of SGPR and VGPR registers though changes are cosmetic.
Reviewers: artem.tamazov, arsenm
Differential Revision: https://reviews.llvm.org/D41437
llvm-svn: 321359
2017-12-22 15:18:06 +00:00
Matt Arsenault
cad7fa857c
AMDGPU: Partially fix disassembly of MIMG instructions
...
Stores failed to decode at all since they didn't have a
DecoderNamespace set. Loads worked, but did not change
the register width displayed to match the numbmer of
enabled channels.
The number of printed registers for vaddr is still wrong,
but I don't think that's encoded in the instruction so
there's not much we can do about that.
Image atomics are still broken. MIMG is the same
encoding for SI/VI, but the image atomic classes
are split up into encoding specific versions unlike
every other MIMG instruction. They have isAsmParserOnly
set on them for some reason. dmask is also special for
these, so we probably should not have it as an explicit
operand as it is now.
llvm-svn: 320614
2017-12-13 21:07:51 +00:00
Dmitry Preobrazhensky
ac2b02643b
[AMDGPU][MC][GFX9] Corrected encoding of ttmp registers, disabled tba/tma
...
See bugs 35494 and 35559:
https://bugs.llvm.org/show_bug.cgi?id=35494
https://bugs.llvm.org/show_bug.cgi?id=35559
Reviewers: vpykhtin, artem.tamazov, arsenm
Differential Revision: https://reviews.llvm.org/D41007
llvm-svn: 320375
2017-12-11 15:23:20 +00:00
Konstantin Zhuravlyov
c40d9f2e5d
AMDGPU/GCN: Bring processors in sync with AMDGPUUsage
...
- Add gfx704
- Change bonaire to gfx704
- Remove gfx804
- Remove gfx901
- Remove gfx903
Differential Revision: https://reviews.llvm.org/D40046
llvm-svn: 320194
2017-12-08 20:52:28 +00:00
Dmitry Preobrazhensky
16608e67d3
[AMDGPU][MC][DISASSEMBLER][GFX9] Corrected decoding of GLOBAL/SCRATCH opcodes
...
See bug 35433: https://bugs.llvm.org/show_bug.cgi?id=35433
Differential Revision: https://reviews.llvm.org/D40493
Reviewers: artem.tamazov, SamWot, arsenm
llvm-svn: 319050
2017-11-27 17:14:35 +00:00
Dmitry Preobrazhensky
0e8924a5c7
[AMDGPU][MC][GFX9] Added v_interp_p2_f16 and v_interp_p2_legacy_f16
...
See bug 33629: https://bugs.llvm.org//show_bug.cgi?id=33629
Reviewers: artem.tamazov, SamWot, arsenm
Differential Revision: https://reviews.llvm.org/D39488
llvm-svn: 318955
2017-11-24 15:37:14 +00:00
Dmitry Preobrazhensky
c492500e7e
[AMDGPU][mc][tests] Updated generated lit tests for GFX8/9
...
Summary:
Added tests to better cover features introduced by commit rL318675.
See http://llvm.org/viewvc/llvm-project?view=revision&revision=318675
llvm-svn: 318841
2017-11-22 15:47:27 +00:00
Sam Kolton
c27e3b6f03
[AMDGPU] SDWA: remove omod src operand for VOP2b instructions
...
Summary: VOP2b instructions (v_subbrev_u32, v_add_i32 ...) shouldn't support OMod operand in SDWA encoding
Reviewers: rampitec, dp
Subscribers: arsenm, kzhuravl, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye
Differential Revision: https://reviews.llvm.org/D40172
llvm-svn: 318761
2017-11-21 14:11:59 +00:00
Dmitry Preobrazhensky
a0342dc9eb
[AMDGPU][MC][GFX8][GFX9] Corrected names of integer v_{add/addc/sub/subrev/subb/subbrev}
...
See bug 34765: https://bugs.llvm.org//show_bug.cgi?id=34765
Reviewers: tamazov, SamWot, arsenm, vpykhtin
Differential Revision: https://reviews.llvm.org/D40088
llvm-svn: 318675
2017-11-20 18:24:21 +00:00
Dmitry Preobrazhensky
682a654758
[AMDGPU][MC][GFX9][disassembler] Corrected decoding of op_sel_hi for v_mad_mix*
...
See bug 35148: https://bugs.llvm.org//show_bug.cgi?id=35148
Reviewers: tamazov, SamWot, arsenm
Differential Revision: https://reviews.llvm.org/D39492
llvm-svn: 318526
2017-11-17 15:15:40 +00:00
Dmitry Preobrazhensky
b865ef534a
[AMDGPU][MC][GFX9] Added op_sel support for v_mad_*16, v_fma_f16, v_div_fixup_f16
...
This change implements features postponed in https://reviews.llvm.org/D35424 because of a dependency on https://reviews.llvm.org/D36322
Reviewers: SamWot, artem.tamazov, arsenm
Differential Revision: https://reviews.llvm.org/D36694
llvm-svn: 311011
2017-08-16 15:16:32 +00:00
Dmitry Preobrazhensky
ff64aa514b
[AMDGPU][MC][GFX9] Added integer clamping support for VOP3 opcodes
...
See Bug 34152: https://bugs.llvm.org//show_bug.cgi?id=34152
Reviewers: SamWot, artem.tamazov, arsenm
Differential Revision: https://reviews.llvm.org/D36674
llvm-svn: 311006
2017-08-16 13:51:56 +00:00
Dmitry Preobrazhensky
1e32550de6
[AMDGPU][MC][GFX9] Added 16-bit renamed and "_legacy" VALU opcodes
...
See Bug 33629: https://bugs.llvm.org//show_bug.cgi?id=33629
Reviewers: vpykhtin, SamWot, arsenm
Differential Revision: https://reviews.llvm.org/D36322
llvm-svn: 310497
2017-08-09 17:10:47 +00:00
Dmitry Preobrazhensky
50805a0b83
[AMDGPU][MC] Corrected VOP3 version of v_interp_* instructions for VI
...
See bug 32621: https://bugs.llvm.org//show_bug.cgi?id=32621
Reviewers: vpykhtin, SamWot, arsenm
Differential Revision: https://reviews.llvm.org/D35902
llvm-svn: 310251
2017-08-07 13:14:12 +00:00
Dmitry Preobrazhensky
abf2839478
[AMDGPU][MC][GFX9] Added support of VOP3 'op_sel' modifier
...
See bug 33591: https://bugs.llvm.org//show_bug.cgi?id=33591
Reviewers: vpykhtin, artem.tamazov, SamWot, arsenm
Differential Revision: https://reviews.llvm.org/D35424
llvm-svn: 308740
2017-07-21 13:54:11 +00:00