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