summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2016-02-13 02:09:49 +0000
committerTom Stellard <thomas.stellard@amd.com>2016-02-13 02:09:49 +0000
commit4409051d00a6b053354c93e28880c24aa00d598c (patch)
treeac8e4f0a30ac241a1fc8e30c687c974bcc77a401 /llvm/lib/Target/AMDGPU
parent7c7c3e35911f7f7c1709cac05b1d27ce19db5ab5 (diff)
downloadbcm5719-llvm-4409051d00a6b053354c93e28880c24aa00d598c.tar.gz
bcm5719-llvm-4409051d00a6b053354c93e28880c24aa00d598c.zip
AMDGPU/SI: Add llvm.amdgcn.mov.dpp intrinsic
This intrinsic will be used to expose dpp functionality to higher-level languages. It will map to the dpp version of v_mov_b32. llvm-svn: 260792
Diffstat (limited to 'llvm/lib/Target/AMDGPU')
-rw-r--r--llvm/lib/Target/AMDGPU/VIInstructions.td11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/VIInstructions.td b/llvm/lib/Target/AMDGPU/VIInstructions.td
index 1a7801c92bd..89f0a14ff84 100644
--- a/llvm/lib/Target/AMDGPU/VIInstructions.td
+++ b/llvm/lib/Target/AMDGPU/VIInstructions.td
@@ -109,4 +109,15 @@ def : Pat <
(S_BUFFER_LOAD_DWORD_IMM $sbase, (as_i32imm $offset))
>;
+//===----------------------------------------------------------------------===//
+// DPP Paterns
+//===----------------------------------------------------------------------===//
+
+def : Pat <
+ (int_amdgcn_mov_dpp i32:$src, imm:$dpp_ctrl, imm:$bound_ctrl,
+ imm:$bank_mask, imm:$row_mask),
+ (V_MOV_B32_dpp $src, (as_i32imm $dpp_ctrl), (as_i1imm $bound_ctrl),
+ (as_i32imm $bank_mask), (as_i32imm $row_mask))
+>;
+
} // End Predicates = [isVI]
OpenPOWER on IntegriCloud