diff options
| author | Aaron Watry <awatry@gmail.com> | 2014-09-11 15:02:49 +0000 |
|---|---|---|
| committer | Aaron Watry <awatry@gmail.com> | 2014-09-11 15:02:49 +0000 |
| commit | 21591670c9b40003970968a49daea967d8723f7d (patch) | |
| tree | 6a5bf91c95696f0cd82d0fa468999be9ca824abc /llvm | |
| parent | 564a22e9958b29e444c5b6b10a8f246fc1133f13 (diff) | |
| download | bcm5719-llvm-21591670c9b40003970968a49daea967d8723f7d.tar.gz bcm5719-llvm-21591670c9b40003970968a49daea967d8723f7d.zip | |
R600: Add LDS_WRXCHG[_RET] instructions for Evergreen.
Signed-off-by: Aaron Watry <awatry@gmail.com>
Reviewed-by: Matt Arsenault <matthew.arsenault@amd.com>
llvm-svn: 217594
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/Target/R600/EvergreenInstructions.td | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/R600/EvergreenInstructions.td b/llvm/lib/Target/R600/EvergreenInstructions.td index 3edbe6a5e60..3438244cc42 100644 --- a/llvm/lib/Target/R600/EvergreenInstructions.td +++ b/llvm/lib/Target/R600/EvergreenInstructions.td @@ -492,6 +492,7 @@ 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_XOR : R600_LDS_1A1D_NORET <0xb, "LDS_XOR", [] >; +def LDS_WRXCHG: R600_LDS_1A1D_NORET <0xd, "LDS_WRXCHG", [] >; def LDS_MIN_INT : R600_LDS_1A1D_NORET <0x5, "LDS_MIN_INT", [] >; def LDS_MAX_INT : R600_LDS_1A1D_NORET <0x6, "LDS_MAX_INT", [] >; def LDS_MIN_UINT : R600_LDS_1A1D_NORET <0x7, "LDS_MIN_UINT", [] >; @@ -532,6 +533,9 @@ def LDS_MIN_UINT_RET : R600_LDS_1A1D_RET <0x27, "LDS_MIN_UINT", def LDS_MAX_UINT_RET : R600_LDS_1A1D_RET <0x28, "LDS_MAX_UINT", [(set i32:$dst, (atomic_load_umax_local i32:$src0, i32:$src1))] >; +def LDS_WRXCHG_RET : R600_LDS_1A1D_RET <0x2d, "LDS_WRXCHG", + [(set i32:$dst, (atomic_swap_local i32:$src0, i32:$src1))] +>; def LDS_READ_RET : R600_LDS_1A <0x32, "LDS_READ_RET", [(set (i32 R600_Reg32:$dst), (local_load R600_Reg32:$src0))] >; |

