R600: Add LDS_OR[_RET] instructions for Evergreen
authorAaron Watry <awatry@gmail.com>
Thu, 11 Sep 2014 15:02:44 +0000 (15:02 +0000)
committerAaron Watry <awatry@gmail.com>
Thu, 11 Sep 2014 15:02:44 +0000 (15:02 +0000)
Signed-off-by: Aaron Watry <awatry@gmail.com>
Reviewed-by: Matt Arsenault <matthew.arsenault@amd.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217591 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/R600/EvergreenInstructions.td

index 3a09f112f2993d339108f4f6b05bc19aecaa28c5..1f9a7be6304f9aed040b7315f2c5d4f5ca43920b 100644 (file)
@@ -490,6 +490,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_OR : R600_LDS_1A1D_NORET <0xa, "LDS_OR", [] >;
 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",
@@ -510,6 +511,9 @@ def LDS_SUB_RET : R600_LDS_1A1D_RET <0x21, "LDS_SUB",
 def LDS_AND_RET : R600_LDS_1A1D_RET <0x29, "LDS_AND",
   [(set i32:$dst, (atomic_load_and_local i32:$src0, i32:$src1))]
 >;
+def LDS_OR_RET : R600_LDS_1A1D_RET <0x2a, "LDS_OR",
+  [(set i32:$dst, (atomic_load_or_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))]
 >;