diff options
author | Aaron Watry <awatry@gmail.com> | 2014-09-11 15:02:47 +0000 |
---|---|---|
committer | Aaron Watry <awatry@gmail.com> | 2014-09-11 15:02:47 +0000 |
commit | 564a22e9958b29e444c5b6b10a8f246fc1133f13 (patch) | |
tree | aa818ef788280ddf95b2bb034814262e030a3ded | |
parent | e51794f2fad5d8e029c3c15e1fc4d0e44dd6b61b (diff) | |
download | bcm5719-llvm-564a22e9958b29e444c5b6b10a8f246fc1133f13.tar.gz bcm5719-llvm-564a22e9958b29e444c5b6b10a8f246fc1133f13.zip |
R600: Add LDS_MIN_[U]INT[_RET] instructions for Evergreen
Signed-off-by: Aaron Watry <awatry@gmail.com>
Reviewed-by: Matt Arsenault <matthew.arsenault@amd.com>
llvm-svn: 217593
-rw-r--r-- | llvm/lib/Target/R600/EvergreenInstructions.td | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/R600/EvergreenInstructions.td b/llvm/lib/Target/R600/EvergreenInstructions.td index c52e6b82a38..3edbe6a5e60 100644 --- a/llvm/lib/Target/R600/EvergreenInstructions.td +++ b/llvm/lib/Target/R600/EvergreenInstructions.td @@ -492,7 +492,9 @@ 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_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", [] >; def LDS_MAX_UINT : R600_LDS_1A1D_NORET <0x8, "LDS_MAX_UINT", [] >; def LDS_WRITE : R600_LDS_1A1D_NORET <0xD, "LDS_WRITE", [(local_store (i32 R600_Reg32:$src1), R600_Reg32:$src0)] @@ -518,9 +520,15 @@ def LDS_OR_RET : R600_LDS_1A1D_RET <0x2a, "LDS_OR", def LDS_XOR_RET : R600_LDS_1A1D_RET <0x2b, "LDS_XOR", [(set i32:$dst, (atomic_load_xor_local i32:$src0, i32:$src1))] >; +def LDS_MIN_INT_RET : R600_LDS_1A1D_RET <0x25, "LDS_MIN_INT", + [(set i32:$dst, (atomic_load_min_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))] >; +def LDS_MIN_UINT_RET : R600_LDS_1A1D_RET <0x27, "LDS_MIN_UINT", + [(set i32:$dst, (atomic_load_umin_local i32:$src0, i32:$src1))] +>; def LDS_MAX_UINT_RET : R600_LDS_1A1D_RET <0x28, "LDS_MAX_UINT", [(set i32:$dst, (atomic_load_umax_local i32:$src0, i32:$src1))] >; |