summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC
diff options
context:
space:
mode:
authorThomas Lively <tlively@google.com>2019-10-31 16:49:47 -0700
committerThomas Lively <tlively@google.com>2019-10-31 20:22:11 -0700
commita07019a275cd0deb59433ac59e4faa85d0722822 (patch)
tree4991b5badd6d2ddbf8df61c238e500036a951906 /llvm/test/MC
parent10c1d0a452b561a9a0586e994f52066734316224 (diff)
downloadbcm5719-llvm-a07019a275cd0deb59433ac59e4faa85d0722822.tar.gz
bcm5719-llvm-a07019a275cd0deb59433ac59e4faa85d0722822.zip
[WebAssembly] SIMD integer min and max instructions
Summary: Introduces a clang builtins and LLVM intrinsics representing integer min/max instructions. These instructions have not been merged to the SIMD spec proposal yet, so they are currently opt-in only via builtins and not produced by general pattern matching. If these instructions are accepted into the spec proposal the builtins and intrinsics will be replaced with normal pattern matching. Defined in https://github.com/WebAssembly/simd/pull/27. Reviewers: aheejin Reviewed By: aheejin Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D69696
Diffstat (limited to 'llvm/test/MC')
-rw-r--r--llvm/test/MC/WebAssembly/simd-encodings.s36
1 files changed, 36 insertions, 0 deletions
diff --git a/llvm/test/MC/WebAssembly/simd-encodings.s b/llvm/test/MC/WebAssembly/simd-encodings.s
index f321094b53d..adddcf5e582 100644
--- a/llvm/test/MC/WebAssembly/simd-encodings.s
+++ b/llvm/test/MC/WebAssembly/simd-encodings.s
@@ -283,6 +283,18 @@ main:
# CHECK: i8x16.mul # encoding: [0xfd,0x5d]
i8x16.mul
+ # CHECK: i8x16.min_s # encoding: [0xfd,0x5e]
+ i8x16.min_s
+
+ # CHECK: i8x16.min_u # encoding: [0xfd,0x5f]
+ i8x16.min_u
+
+ # CHECK: i8x16.max_s # encoding: [0xfd,0x60]
+ i8x16.max_s
+
+ # CHECK: i8x16.max_u # encoding: [0xfd,0x61]
+ i8x16.max_u
+
# CHECK: i16x8.neg # encoding: [0xfd,0x62]
i16x8.neg
@@ -322,6 +334,18 @@ main:
# CHECK: i16x8.mul # encoding: [0xfd,0x6e]
i16x8.mul
+ # CHECK: i16x8.min_s # encoding: [0xfd,0x6f]
+ i16x8.min_s
+
+ # CHECK: i16x8.min_u # encoding: [0xfd,0x70]
+ i16x8.min_u
+
+ # CHECK: i16x8.max_s # encoding: [0xfd,0x71]
+ i16x8.max_s
+
+ # CHECK: i16x8.max_u # encoding: [0xfd,0x72]
+ i16x8.max_u
+
# CHECK: i32x4.neg # encoding: [0xfd,0x73]
i32x4.neg
@@ -349,6 +373,18 @@ main:
# CHECK: i32x4.mul # encoding: [0xfd,0x7f]
i32x4.mul
+ # CHECK: i32x4.min_s # encoding: [0xfd,0x80,0x01]
+ i32x4.min_s
+
+ # CHECK: i32x4.min_u # encoding: [0xfd,0x81,0x01]
+ i32x4.min_u
+
+ # CHECK: i32x4.max_s # encoding: [0xfd,0x82,0x01]
+ i32x4.max_s
+
+ # CHECK: i32x4.max_u # encoding: [0xfd,0x83,0x01]
+ i32x4.max_u
+
# CHECK: i64x2.neg # encoding: [0xfd,0x84,0x01]
i64x2.neg
OpenPOWER on IntegriCloud