summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorAaron Watry <awatry@gmail.com>2014-09-11 15:02:43 +0000
committerAaron Watry <awatry@gmail.com>2014-09-11 15:02:43 +0000
commita7f122da60e41c752740d2b4991bb89d91530a3c (patch)
tree9c02df12650e015f0cfa144a7ec48b6a166d631d /llvm/lib
parent62a0af4a0d91d2ae4df869f6093161059c5f6852 (diff)
downloadbcm5719-llvm-a7f122da60e41c752740d2b4991bb89d91530a3c.tar.gz
bcm5719-llvm-a7f122da60e41c752740d2b4991bb89d91530a3c.zip
R600: Add LDS_AND[_RET] instructions for Evergreen
Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Matt Arsenault <matthew.arsenault@amd.com> llvm-svn: 217590
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/R600/EvergreenInstructions.td4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/R600/EvergreenInstructions.td b/llvm/lib/Target/R600/EvergreenInstructions.td
index 338b6b36e5c..3a09f112f29 100644
--- a/llvm/lib/Target/R600/EvergreenInstructions.td
+++ b/llvm/lib/Target/R600/EvergreenInstructions.td
@@ -489,6 +489,7 @@ class R600_LDS_1A2D <bits<6> lds_op, string name, list<dag> pattern> :
def LDS_ADD : R600_LDS_1A1D_NORET <0x0, "LDS_ADD", [] >;
def LDS_SUB : R600_LDS_1A1D_NORET <0x1, "LDS_SUB", [] >;
+def LDS_AND : R600_LDS_1A1D_NORET <0x9, "LDS_AND", [] >;
def LDS_MAX_INT : R600_LDS_1A1D_NORET <0x6, "LDS_MAX_INT", [] >;
def LDS_MAX_UINT : R600_LDS_1A1D_NORET <0x8, "LDS_MAX_UINT", [] >;
def LDS_WRITE : R600_LDS_1A1D_NORET <0xD, "LDS_WRITE",
@@ -506,6 +507,9 @@ def LDS_ADD_RET : R600_LDS_1A1D_RET <0x20, "LDS_ADD",
def LDS_SUB_RET : R600_LDS_1A1D_RET <0x21, "LDS_SUB",
[(set i32:$dst, (atomic_load_sub_local i32:$src0, i32:$src1))]
>;
+def LDS_AND_RET : R600_LDS_1A1D_RET <0x29, "LDS_AND",
+ [(set i32:$dst, (atomic_load_and_local i32:$src0, i32:$src1))]
+>;
def LDS_MAX_INT_RET : R600_LDS_1A1D_RET <0x26, "LDS_MAX_INT",
[(set i32:$dst, (atomic_load_max_local i32:$src0, i32:$src1))]
>;
OpenPOWER on IntegriCloud