diff --git a/lib/Target/R600/EvergreenInstructions.td b/lib/Target/R600/EvergreenInstructions.td index 3a09f112f29..1f9a7be6304 100644 --- a/lib/Target/R600/EvergreenInstructions.td +++ b/lib/Target/R600/EvergreenInstructions.td @@ -490,6 +490,7 @@ class R600_LDS_1A2D lds_op, string name, list 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))] >;