OSDN Git Service

[AMDGPU] Asm/disasm v_cndmask_b32_e64 with abs/neg source modifiers
authorTim Renouf <tpr.llvm@botech.co.uk>
Mon, 18 Mar 2019 19:25:39 +0000 (19:25 +0000)
committerTim Renouf <tpr.llvm@botech.co.uk>
Mon, 18 Mar 2019 19:25:39 +0000 (19:25 +0000)
commit0b9f636469b75cfaa87a9251c4ecfea18717dedc
treee7a79be28343794959c411210c03d8b34be86e28
parent0990d05f33ec144c3787da9a3e6dd4d410ac4f79
[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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356398 91177308-0d34-0410-b5e6-96231b3b80d8
23 files changed:
lib/Target/AMDGPU/SIFoldOperands.cpp
lib/Target/AMDGPU/SIISelLowering.cpp
lib/Target/AMDGPU/SIInstrInfo.cpp
lib/Target/AMDGPU/SIInstrInfo.td
lib/Target/AMDGPU/SIInstructions.td
lib/Target/AMDGPU/SILowerI1Copies.cpp
lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
lib/Target/AMDGPU/VOP2Instructions.td
lib/Target/AMDGPU/VOP3Instructions.td
test/CodeGen/AMDGPU/coalescer-extend-pruned-subrange.mir
test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mir
test/CodeGen/AMDGPU/coalescer-with-subregs-bad-identical.mir
test/CodeGen/AMDGPU/fold-cndmask.mir
test/CodeGen/AMDGPU/macro-fusion-cluster-vcc-uses.mir
test/CodeGen/AMDGPU/merge-load-store-vreg.mir
test/CodeGen/AMDGPU/optimize-negated-cond-exec-masking.mir
test/CodeGen/AMDGPU/regcoal-subrange-join-seg.mir
test/CodeGen/AMDGPU/shrink-vop3-carry-out.mir
test/CodeGen/AMDGPU/subreg-split-live-in-error.mir
test/CodeGen/AMDGPU/undefined-physreg-sgpr-spill.mir
test/CodeGen/AMDGPU/waitcnt-back-edge-loop.mir
test/MC/AMDGPU/vop3.s
test/MC/Disassembler/AMDGPU/vop3_vi.txt