cranelift: Rename i{min,max} to s{min,max} (#5187)
This brings these instructions with our general naming convention of signed instructions being prefixed with `s`.
This commit is contained in:
@@ -4,7 +4,7 @@ target aarch64
|
||||
|
||||
function %fn0(i8x8, i8x8) -> i8x8 {
|
||||
block0(v0: i8x8, v1: i8x8):
|
||||
v2 = imin v0, v1
|
||||
v2 = smin v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ block0(v0: i8x8, v1: i8x8):
|
||||
|
||||
function %fn1(i8x16, i8x16) -> i8x16 {
|
||||
block0(v0: i8x16, v1: i8x16):
|
||||
v2 = imin v0, v1
|
||||
v2 = smin v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ block0(v0: i8x16, v1: i8x16):
|
||||
|
||||
function %fn2(i16x4, i16x4) -> i16x4 {
|
||||
block0(v0: i16x4, v1: i16x4):
|
||||
v2 = imin v0, v1
|
||||
v2 = smin v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ block0(v0: i16x4, v1: i16x4):
|
||||
|
||||
function %fn3(i16x8, i16x8) -> i16x8 {
|
||||
block0(v0: i16x8, v1: i16x8):
|
||||
v2 = imin v0, v1
|
||||
v2 = smin v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ block0(v0: i16x8, v1: i16x8):
|
||||
|
||||
function %fn4(i32x2, i32x2) -> i32x2 {
|
||||
block0(v0: i32x2, v1: i32x2):
|
||||
v2 = imin v0, v1
|
||||
v2 = smin v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ block0(v0: i32x2, v1: i32x2):
|
||||
|
||||
function %fn5(i32x4, i32x4) -> i32x4 {
|
||||
block0(v0: i32x4, v1: i32x4):
|
||||
v2 = imin v0, v1
|
||||
v2 = smin v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@ block0(v0: i32x4, v1: i32x4):
|
||||
|
||||
function %fn12(i8x8, i8x8) -> i8x8 {
|
||||
block0(v0: i8x8, v1: i8x8):
|
||||
v2 = imax v0, v1
|
||||
v2 = smax v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ block0(v0: i8x8, v1: i8x8):
|
||||
|
||||
function %fn13(i8x16, i8x16) -> i8x16 {
|
||||
block0(v0: i8x16, v1: i8x16):
|
||||
v2 = imax v0, v1
|
||||
v2 = smax v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ block0(v0: i8x16, v1: i8x16):
|
||||
|
||||
function %fn14(i16x4, i16x4) -> i16x4 {
|
||||
block0(v0: i16x4, v1: i16x4):
|
||||
v2 = imax v0, v1
|
||||
v2 = smax v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -154,7 +154,7 @@ block0(v0: i16x4, v1: i16x4):
|
||||
|
||||
function %fn15(i16x8, i16x8) -> i16x8 {
|
||||
block0(v0: i16x8, v1: i16x8):
|
||||
v2 = imax v0, v1
|
||||
v2 = smax v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ block0(v0: i16x8, v1: i16x8):
|
||||
|
||||
function %fn16(i32x2, i32x2) -> i32x2 {
|
||||
block0(v0: i32x2, v1: i32x2):
|
||||
v2 = imax v0, v1
|
||||
v2 = smax v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -174,7 +174,7 @@ block0(v0: i32x2, v1: i32x2):
|
||||
|
||||
function %fn17(i32x4, i32x4) -> i32x4 {
|
||||
block0(v0: i32x4, v1: i32x4):
|
||||
v2 = imax v0, v1
|
||||
v2 = smax v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
|
||||
@@ -241,9 +241,9 @@ block0(v0: i8x16, v1: i8x16):
|
||||
; vmnlb %v24, %v24, %v25
|
||||
; br %r14
|
||||
|
||||
function %imax_i64x2(i64x2, i64x2) -> i64x2 {
|
||||
function %smax_i64x2(i64x2, i64x2) -> i64x2 {
|
||||
block0(v0: i64x2, v1: i64x2):
|
||||
v2 = imax.i64x2 v0, v1
|
||||
v2 = smax.i64x2 v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -251,9 +251,9 @@ block0(v0: i64x2, v1: i64x2):
|
||||
; vmxg %v24, %v24, %v25
|
||||
; br %r14
|
||||
|
||||
function %imax_i32x4(i32x4, i32x4) -> i32x4 {
|
||||
function %smax_i32x4(i32x4, i32x4) -> i32x4 {
|
||||
block0(v0: i32x4, v1: i32x4):
|
||||
v2 = imax.i32x4 v0, v1
|
||||
v2 = smax.i32x4 v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -261,9 +261,9 @@ block0(v0: i32x4, v1: i32x4):
|
||||
; vmxf %v24, %v24, %v25
|
||||
; br %r14
|
||||
|
||||
function %imax_i16x8(i16x8, i16x8) -> i16x8 {
|
||||
function %smax_i16x8(i16x8, i16x8) -> i16x8 {
|
||||
block0(v0: i16x8, v1: i16x8):
|
||||
v2 = imax.i16x8 v0, v1
|
||||
v2 = smax.i16x8 v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -271,9 +271,9 @@ block0(v0: i16x8, v1: i16x8):
|
||||
; vmxh %v24, %v24, %v25
|
||||
; br %r14
|
||||
|
||||
function %imax_i8x16(i8x16, i8x16) -> i8x16 {
|
||||
function %smax_i8x16(i8x16, i8x16) -> i8x16 {
|
||||
block0(v0: i8x16, v1: i8x16):
|
||||
v2 = imax.i8x16 v0, v1
|
||||
v2 = smax.i8x16 v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -281,9 +281,9 @@ block0(v0: i8x16, v1: i8x16):
|
||||
; vmxb %v24, %v24, %v25
|
||||
; br %r14
|
||||
|
||||
function %imin_i64x2(i64x2, i64x2) -> i64x2 {
|
||||
function %smin_i64x2(i64x2, i64x2) -> i64x2 {
|
||||
block0(v0: i64x2, v1: i64x2):
|
||||
v2 = imin.i64x2 v0, v1
|
||||
v2 = smin.i64x2 v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -291,9 +291,9 @@ block0(v0: i64x2, v1: i64x2):
|
||||
; vmng %v24, %v24, %v25
|
||||
; br %r14
|
||||
|
||||
function %imin_i32x4(i32x4, i32x4) -> i32x4 {
|
||||
function %smin_i32x4(i32x4, i32x4) -> i32x4 {
|
||||
block0(v0: i32x4, v1: i32x4):
|
||||
v2 = imin.i32x4 v0, v1
|
||||
v2 = smin.i32x4 v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -301,9 +301,9 @@ block0(v0: i32x4, v1: i32x4):
|
||||
; vmnf %v24, %v24, %v25
|
||||
; br %r14
|
||||
|
||||
function %imin_i16x8(i16x8, i16x8) -> i16x8 {
|
||||
function %smin_i16x8(i16x8, i16x8) -> i16x8 {
|
||||
block0(v0: i16x8, v1: i16x8):
|
||||
v2 = imin.i16x8 v0, v1
|
||||
v2 = smin.i16x8 v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
@@ -311,9 +311,9 @@ block0(v0: i16x8, v1: i16x8):
|
||||
; vmnh %v24, %v24, %v25
|
||||
; br %r14
|
||||
|
||||
function %imin_i8x16(i8x16, i8x16) -> i8x16 {
|
||||
function %smin_i8x16(i8x16, i8x16) -> i8x16 {
|
||||
block0(v0: i8x16, v1: i8x16):
|
||||
v2 = imin.i8x16 v0, v1
|
||||
v2 = smin.i8x16 v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
|
||||
@@ -6,18 +6,18 @@ target x86_64
|
||||
target riscv64
|
||||
|
||||
|
||||
; sort three signed i8s with imin and imax only
|
||||
; sort three signed i8s with smin and smax only
|
||||
function %isort3(i8, i8, i8) -> i8, i8, i8 {
|
||||
block0(v0: i8, v1: i8, v2: i8):
|
||||
v3 = imin.i8 v0, v1
|
||||
v4 = imin.i8 v1, v2
|
||||
v5 = imin.i8 v2, v0
|
||||
v6 = imin.i8 v3, v4 ; low
|
||||
v7 = imax.i8 v0, v1
|
||||
v8 = imax.i8 v1, v2
|
||||
v9 = imax.i8 v7, v8 ; high
|
||||
v10 = imax.i8 v3, v4
|
||||
v11 = imax.i8 v10, v5 ; mid = max of min of all pairs
|
||||
v3 = smin.i8 v0, v1
|
||||
v4 = smin.i8 v1, v2
|
||||
v5 = smin.i8 v2, v0
|
||||
v6 = smin.i8 v3, v4 ; low
|
||||
v7 = smax.i8 v0, v1
|
||||
v8 = smax.i8 v1, v2
|
||||
v9 = smax.i8 v7, v8 ; high
|
||||
v10 = smax.i8 v3, v4
|
||||
v11 = smax.i8 v10, v5 ; mid = max of min of all pairs
|
||||
return v6, v11, v9
|
||||
}
|
||||
; run: %isort3(1, 2, 3) == [1, 2, 3]
|
||||
@@ -33,65 +33,65 @@ block0(v0: i8, v1: i8, v2: i8):
|
||||
; run: %isort3(5, 4, 4) == [4, 4, 5]
|
||||
|
||||
|
||||
function %imin_max_i8(i8, i8) -> i8, i8 {
|
||||
function %smin_max_i8(i8, i8) -> i8, i8 {
|
||||
block0(v0: i8, v1: i8):
|
||||
v2 = imin.i8 v0, v1
|
||||
v3 = imax.i8 v0, v1
|
||||
v2 = smin.i8 v0, v1
|
||||
v3 = smax.i8 v0, v1
|
||||
return v2, v3
|
||||
}
|
||||
; run: %imin_max_i8(127, -128) == [-128, 127]
|
||||
; run: %imin_max_i8(-128, 127) == [-128, 127]
|
||||
; run: %imin_max_i8(-1, 0) == [-1, 0]
|
||||
; run: %imin_max_i8(1, -1) == [-1, 1]
|
||||
; run: %imin_max_i8(1, 2) == [1, 2]
|
||||
; run: %imin_max_i8(2, 1) == [1, 2]
|
||||
; run: %imin_max_i8(2, 2) == [2, 2]
|
||||
; run: %imin_max_i8(0x7f, 0x80) == [0x80, 0x7f]
|
||||
; run: %smin_max_i8(127, -128) == [-128, 127]
|
||||
; run: %smin_max_i8(-128, 127) == [-128, 127]
|
||||
; run: %smin_max_i8(-1, 0) == [-1, 0]
|
||||
; run: %smin_max_i8(1, -1) == [-1, 1]
|
||||
; run: %smin_max_i8(1, 2) == [1, 2]
|
||||
; run: %smin_max_i8(2, 1) == [1, 2]
|
||||
; run: %smin_max_i8(2, 2) == [2, 2]
|
||||
; run: %smin_max_i8(0x7f, 0x80) == [0x80, 0x7f]
|
||||
|
||||
function %imin_max_i16(i16, i16) -> i16, i16 {
|
||||
function %smin_max_i16(i16, i16) -> i16, i16 {
|
||||
block0(v0: i16, v1: i16):
|
||||
v2 = imin.i16 v0, v1
|
||||
v3 = imax.i16 v0, v1
|
||||
v2 = smin.i16 v0, v1
|
||||
v3 = smax.i16 v0, v1
|
||||
return v2, v3
|
||||
}
|
||||
; run: %imin_max_i16(32767, -32768) == [-32768, 32767]
|
||||
; run: %imin_max_i16(-32768, 32767) == [-32768, 32767]
|
||||
; run: %imin_max_i16(-1, 0) == [-1, 0]
|
||||
; run: %imin_max_i16(1, -1) == [-1, 1]
|
||||
; run: %imin_max_i16(1, 2) == [1, 2]
|
||||
; run: %imin_max_i16(2, 1) == [1, 2]
|
||||
; run: %imin_max_i16(2, 2) == [2, 2]
|
||||
; run: %imin_max_i16(0x7f, 0x80) == [0x7f, 0x80]
|
||||
; run: %imin_max_i16(0x7fff, 0x8000) == [0x8000, 0x7fff]
|
||||
; run: %smin_max_i16(32767, -32768) == [-32768, 32767]
|
||||
; run: %smin_max_i16(-32768, 32767) == [-32768, 32767]
|
||||
; run: %smin_max_i16(-1, 0) == [-1, 0]
|
||||
; run: %smin_max_i16(1, -1) == [-1, 1]
|
||||
; run: %smin_max_i16(1, 2) == [1, 2]
|
||||
; run: %smin_max_i16(2, 1) == [1, 2]
|
||||
; run: %smin_max_i16(2, 2) == [2, 2]
|
||||
; run: %smin_max_i16(0x7f, 0x80) == [0x7f, 0x80]
|
||||
; run: %smin_max_i16(0x7fff, 0x8000) == [0x8000, 0x7fff]
|
||||
|
||||
function %imin_max_i32(i32, i32) -> i32, i32 {
|
||||
function %smin_max_i32(i32, i32) -> i32, i32 {
|
||||
block0(v0: i32, v1: i32):
|
||||
v2 = imin.i32 v0, v1
|
||||
v3 = imax.i32 v0, v1
|
||||
v2 = smin.i32 v0, v1
|
||||
v3 = smax.i32 v0, v1
|
||||
return v2, v3
|
||||
}
|
||||
; run: %imin_max_i32(-1, 0) == [-1, 0]
|
||||
; run: %imin_max_i32(1, -1) == [-1, 1]
|
||||
; run: %imin_max_i32(1, 2) == [1, 2]
|
||||
; run: %imin_max_i32(2, 1) == [1, 2]
|
||||
; run: %imin_max_i32(0x7f, 0x80) == [0x7f, 0x80]
|
||||
; run: %imin_max_i32(0x7fff, 0x8000) == [0x7fff, 0x8000]
|
||||
; run: %imin_max_i32(0x7fffffff, 0x80000000) == [0x80000000, 0x7fffffff]
|
||||
; run: %smin_max_i32(-1, 0) == [-1, 0]
|
||||
; run: %smin_max_i32(1, -1) == [-1, 1]
|
||||
; run: %smin_max_i32(1, 2) == [1, 2]
|
||||
; run: %smin_max_i32(2, 1) == [1, 2]
|
||||
; run: %smin_max_i32(0x7f, 0x80) == [0x7f, 0x80]
|
||||
; run: %smin_max_i32(0x7fff, 0x8000) == [0x7fff, 0x8000]
|
||||
; run: %smin_max_i32(0x7fffffff, 0x80000000) == [0x80000000, 0x7fffffff]
|
||||
|
||||
function %imin_max_i64(i64, i64) -> i64, i64 {
|
||||
function %smin_max_i64(i64, i64) -> i64, i64 {
|
||||
block0(v0: i64, v1: i64):
|
||||
v2 = imin.i64 v0, v1
|
||||
v3 = imax.i64 v0, v1
|
||||
v2 = smin.i64 v0, v1
|
||||
v3 = smax.i64 v0, v1
|
||||
return v2, v3
|
||||
}
|
||||
; run: %imin_max_i64(-1, 0) == [-1, 0]
|
||||
; run: %imin_max_i64(1, -1) == [-1, 1]
|
||||
; run: %imin_max_i64(1, 2) == [1, 2]
|
||||
; run: %imin_max_i64(2, 1) == [1, 2]
|
||||
; run: %imin_max_i64(0x7f, 0x80) == [0x7f, 0x80]
|
||||
; run: %imin_max_i64(0x7fff, 0x8000) == [0x7fff, 0x8000]
|
||||
; run: %imin_max_i64(0x7fffffff, 0x80000000) == [0x7fffffff, 0x80000000]
|
||||
; run: %imin_max_i64(0x7fffffffffffffff, 0x8000000000000000) == [0x8000000000000000, 0x7fffffffffffffff]
|
||||
; run: %smin_max_i64(-1, 0) == [-1, 0]
|
||||
; run: %smin_max_i64(1, -1) == [-1, 1]
|
||||
; run: %smin_max_i64(1, 2) == [1, 2]
|
||||
; run: %smin_max_i64(2, 1) == [1, 2]
|
||||
; run: %smin_max_i64(0x7f, 0x80) == [0x7f, 0x80]
|
||||
; run: %smin_max_i64(0x7fff, 0x8000) == [0x7fff, 0x8000]
|
||||
; run: %smin_max_i64(0x7fffffff, 0x80000000) == [0x7fffffff, 0x80000000]
|
||||
; run: %smin_max_i64(0x7fffffffffffffff, 0x8000000000000000) == [0x8000000000000000, 0x7fffffffffffffff]
|
||||
|
||||
function %umin_max_i8(i8, i8) -> i8, i8 {
|
||||
block0(v0: i8, v1: i8):
|
||||
|
||||
@@ -2,23 +2,23 @@ test run
|
||||
test interpret
|
||||
target aarch64
|
||||
|
||||
function %imin_i64x2(i64x2, i64x2) -> i64x2 {
|
||||
function %smin_i64x2(i64x2, i64x2) -> i64x2 {
|
||||
block0(v0: i64x2, v1: i64x2):
|
||||
v2 = imin v0, v1
|
||||
v2 = smin v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
; run: %imin_i64x2([0xC00FFFEE 0xBADAB00F], [0x98763210 0x43216789]) == [ 0x98763210 0x43216789 ]
|
||||
; run: %imin_i64x2([0x80000000C00FFFEE 0xBADAB00F], [0x98763210 0x43216789]) == [ 0x80000000C00FFFEE 0x43216789 ]
|
||||
; run: %smin_i64x2([0xC00FFFEE 0xBADAB00F], [0x98763210 0x43216789]) == [ 0x98763210 0x43216789 ]
|
||||
; run: %smin_i64x2([0x80000000C00FFFEE 0xBADAB00F], [0x98763210 0x43216789]) == [ 0x80000000C00FFFEE 0x43216789 ]
|
||||
|
||||
function %imax_i64x2(i64x2, i64x2) -> i64x2 {
|
||||
function %smax_i64x2(i64x2, i64x2) -> i64x2 {
|
||||
block0(v0: i64x2, v1: i64x2):
|
||||
v2 = imax v0, v1
|
||||
v2 = smax v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
; run: %imax_i64x2([0xC00FFFEE 0xBADAB00F], [0x98763210 0x43216789]) == [ 0xC00FFFEE 0xBADAB00F ]
|
||||
; run: %imax_i64x2([0xC00FFFEE 0x80000000BADAB00F], [0x98763210 0x43216789]) == [ 0xC00FFFEE 0x43216789 ]
|
||||
; run: %smax_i64x2([0xC00FFFEE 0xBADAB00F], [0x98763210 0x43216789]) == [ 0xC00FFFEE 0xBADAB00F ]
|
||||
; run: %smax_i64x2([0xC00FFFEE 0x80000000BADAB00F], [0x98763210 0x43216789]) == [ 0xC00FFFEE 0x43216789 ]
|
||||
|
||||
function %umin_i64x2(i64x2, i64x2) -> i64x2 {
|
||||
block0(v0: i64x2, v1: i64x2):
|
||||
|
||||
@@ -4,31 +4,31 @@ target aarch64
|
||||
target x86_64
|
||||
target s390x
|
||||
|
||||
function %imin_i8x16(i8x16, i8x16) -> i8x16 {
|
||||
function %smin_i8x16(i8x16, i8x16) -> i8x16 {
|
||||
block0(v0: i8x16, v1: i8x16):
|
||||
v2 = imin v0, v1
|
||||
v2 = smin v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
; run: %imin_i8x16([0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f], [0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f ]) == [ 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f ]
|
||||
; run: %smin_i8x16([0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f], [0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f ]) == [ 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f ]
|
||||
|
||||
; run: %imin_i8x16([0x90 0x01 0x92 0x03 0x94 0x05 0x96 0x07 0x98 0x09 0x9a 0x0b 0x9c 0x0d 0x9e 0x0f], [0x10 0x91 0x12 0x93 0x14 0x95 0x16 0x97 0x18 0x99 0x1a 0x9b 0x1c 0x9d 0x1e 0x9f ]) == [ 0x90 0x91 0x92 0x93 0x94 0x95 0x96 0x97 0x98 0x99 0x9a 0x9b 0x9c 0x9d 0x9e 0x9f ]
|
||||
; run: %smin_i8x16([0x90 0x01 0x92 0x03 0x94 0x05 0x96 0x07 0x98 0x09 0x9a 0x0b 0x9c 0x0d 0x9e 0x0f], [0x10 0x91 0x12 0x93 0x14 0x95 0x16 0x97 0x18 0x99 0x1a 0x9b 0x1c 0x9d 0x1e 0x9f ]) == [ 0x90 0x91 0x92 0x93 0x94 0x95 0x96 0x97 0x98 0x99 0x9a 0x9b 0x9c 0x9d 0x9e 0x9f ]
|
||||
|
||||
function %imin_i16x8(i16x8, i16x8) -> i16x8 {
|
||||
function %smin_i16x8(i16x8, i16x8) -> i16x8 {
|
||||
block0(v0: i16x8, v1: i16x8):
|
||||
v2 = imin v0, v1
|
||||
v2 = smin v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
; run: %imin_i16x8([0x1234 0x5678 0x9876 0x5432 0x7654 0x1234 0x4567 0x3456 ], [ 0x4567 0x1234 0x6789 0x0987 0x0123 0x3210 0x7890 0x3456 ]) == [ 0x1234 0x1234 0x9876 0x0987 0x0123 0x1234 0x4567 0x3456 ]
|
||||
; run: %smin_i16x8([0x1234 0x5678 0x9876 0x5432 0x7654 0x1234 0x4567 0x3456 ], [ 0x4567 0x1234 0x6789 0x0987 0x0123 0x3210 0x7890 0x3456 ]) == [ 0x1234 0x1234 0x9876 0x0987 0x0123 0x1234 0x4567 0x3456 ]
|
||||
|
||||
function %imin_i32x4(i32x4, i32x4) -> i32x4 {
|
||||
function %smin_i32x4(i32x4, i32x4) -> i32x4 {
|
||||
block0(v0: i32x4, v1: i32x4):
|
||||
v2 = imin v0, v1
|
||||
v2 = smin v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
; run: %imin_i32x4([0xBAADF00D 0xDEADBEEF 0xC00FFFEE 0xBADAB00F], [0xCA11ACAB 0x12349876 0x98763210 0x43216789]) == [ 0xBAADF00D 0xDEADBEEF 0x98763210 0xBADAB00F ]
|
||||
; run: %smin_i32x4([0xBAADF00D 0xDEADBEEF 0xC00FFFEE 0xBADAB00F], [0xCA11ACAB 0x12349876 0x98763210 0x43216789]) == [ 0xBAADF00D 0xDEADBEEF 0x98763210 0xBADAB00F ]
|
||||
|
||||
function %umin_i8x16(i8x16, i8x16) -> i8x16 {
|
||||
block0(v0: i8x16, v1: i8x16):
|
||||
@@ -56,31 +56,31 @@ block0(v0: i32x4, v1: i32x4):
|
||||
|
||||
; run: %umin_i32x4([0xBAADF00D 0xDEADBEEF 0xC00FFFEE 0xBADAB00F], [0xCA11ACAB 0x12349876 0x98763210 0x43216789]) == [ 0xBAADF00D 0x12349876 0x98763210 0x43216789 ]
|
||||
|
||||
function %imax_i8x16(i8x16, i8x16) -> i8x16 {
|
||||
function %smax_i8x16(i8x16, i8x16) -> i8x16 {
|
||||
block0(v0: i8x16, v1: i8x16):
|
||||
v2 = imax v0, v1
|
||||
v2 = smax v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
; run: %imax_i8x16([0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f], [0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f ]) == [ 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f ]
|
||||
; run: %smax_i8x16([0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f], [0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f ]) == [ 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f ]
|
||||
|
||||
; run: %imax_i8x16([0x90 0x01 0x92 0x03 0x94 0x05 0x96 0x07 0x98 0x09 0x9a 0x0b 0x9c 0x0d 0x9e 0x0f], [0x10 0x91 0x12 0x93 0x14 0x95 0x16 0x97 0x18 0x99 0x1a 0x9b 0x1c 0x9d 0x1e 0x9f ]) == [ 0x10 0x01 0x12 0x03 0x14 0x05 0x16 0x07 0x18 0x09 0x1a 0x0b 0x1c 0x0d 0x1e 0x0f ]
|
||||
; run: %smax_i8x16([0x90 0x01 0x92 0x03 0x94 0x05 0x96 0x07 0x98 0x09 0x9a 0x0b 0x9c 0x0d 0x9e 0x0f], [0x10 0x91 0x12 0x93 0x14 0x95 0x16 0x97 0x18 0x99 0x1a 0x9b 0x1c 0x9d 0x1e 0x9f ]) == [ 0x10 0x01 0x12 0x03 0x14 0x05 0x16 0x07 0x18 0x09 0x1a 0x0b 0x1c 0x0d 0x1e 0x0f ]
|
||||
|
||||
function %imax_i16x8(i16x8, i16x8) -> i16x8 {
|
||||
function %smax_i16x8(i16x8, i16x8) -> i16x8 {
|
||||
block0(v0: i16x8, v1: i16x8):
|
||||
v2 = imax v0, v1
|
||||
v2 = smax v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
; run: %imax_i16x8([0x1234 0x5678 0x9876 0x5432 0x7654 0x1234 0x4567 0x3456 ], [ 0x4567 0x1234 0x6789 0x0987 0x0123 0x3210 0x7890 0x3456 ]) == [ 0x4567 0x5678 0x6789 0x5432 0x7654 0x3210 0x7890 0x3456 ]
|
||||
; run: %smax_i16x8([0x1234 0x5678 0x9876 0x5432 0x7654 0x1234 0x4567 0x3456 ], [ 0x4567 0x1234 0x6789 0x0987 0x0123 0x3210 0x7890 0x3456 ]) == [ 0x4567 0x5678 0x6789 0x5432 0x7654 0x3210 0x7890 0x3456 ]
|
||||
|
||||
function %imax_i32x4(i32x4, i32x4) -> i32x4 {
|
||||
function %smax_i32x4(i32x4, i32x4) -> i32x4 {
|
||||
block0(v0: i32x4, v1: i32x4):
|
||||
v2 = imax v0, v1
|
||||
v2 = smax v0, v1
|
||||
return v2
|
||||
}
|
||||
|
||||
; run: %imax_i32x4([0xBAADF00D 0xDEADBEEF 0xC00FFFEE 0xBADAB00F], [0xCA11ACAB 0x12349876 0x98763210 0x43216789]) == [ 0xCA11ACAB 0x12349876 0xC00FFFEE 0x43216789 ]
|
||||
; run: %smax_i32x4([0xBAADF00D 0xDEADBEEF 0xC00FFFEE 0xBADAB00F], [0xCA11ACAB 0x12349876 0x98763210 0x43216789]) == [ 0xCA11ACAB 0x12349876 0xC00FFFEE 0x43216789 ]
|
||||
|
||||
function %umax_i8x16(i8x16, i8x16) -> i8x16 {
|
||||
block0(v0: i8x16, v1: i8x16):
|
||||
|
||||
Reference in New Issue
Block a user