Add x86 SIMD encoding for icmp sgt
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
test binemit
|
||||
set enable_simd
|
||||
target x86_64 skylake
|
||||
|
||||
function %icmp_sgt_i8x16(i8x16, i8x16) -> b8x16 {
|
||||
ebb0(v0: i8x16 [%xmm2], v1: i8x16 [%xmm1]):
|
||||
[-, %xmm2] v2 = icmp sgt v0, v1 ; bin: 66 0f 64 d1
|
||||
return v2
|
||||
}
|
||||
|
||||
function %icmp_sgt_i16x8(i16x8, i16x8) -> b16x8 {
|
||||
ebb0(v0: i16x8 [%xmm4], v1: i16x8 [%xmm3]):
|
||||
[-, %xmm4] v2 = icmp sgt v0, v1 ; bin: 66 0f 65 e3
|
||||
return v2
|
||||
}
|
||||
|
||||
function %icmp_sgt_i32x4(i32x4, i32x4) -> b32x4 {
|
||||
ebb0(v0: i32x4 [%xmm6], v1: i32x4 [%xmm5]):
|
||||
[-, %xmm6] v2 = icmp sgt v0, v1 ; bin: 66 0f 66 f5
|
||||
return v2
|
||||
}
|
||||
|
||||
function %icmp_sgt_i64x2(i64x2, i64x2) -> b64x2 {
|
||||
ebb0(v0: i64x2 [%xmm0], v1: i64x2 [%xmm7]):
|
||||
[-, %xmm0] v2 = icmp sgt v0, v1 ; bin: 66 0f 38 37 c7
|
||||
return v2
|
||||
}
|
||||
@@ -43,3 +43,26 @@ ebb0:
|
||||
return v5
|
||||
}
|
||||
; run
|
||||
|
||||
function %icmp_sgt_i8x16() -> b1 {
|
||||
ebb0:
|
||||
v0 = vconst.i8x16 [0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0]
|
||||
v1 = vconst.i8x16 [1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0xff]
|
||||
v2 = icmp sgt v0, v1
|
||||
v3 = raw_bitcast.i8x16 v2
|
||||
v4 = vconst.i8x16 [0 0 0xff 0 0 0 0 0 0 0 0 0 0 0 0 0xff]
|
||||
v7 = icmp eq v3, v4
|
||||
v8 = vall_true v7
|
||||
return v8
|
||||
}
|
||||
; run
|
||||
|
||||
function %icmp_sgt_i64x2() -> b1 {
|
||||
ebb0:
|
||||
v0 = vconst.i64x2 [0 -42]
|
||||
v1 = vconst.i64x2 [-1 -43]
|
||||
v2 = icmp sgt v0, v1
|
||||
v8 = vall_true v2
|
||||
return v8
|
||||
}
|
||||
; run
|
||||
|
||||
Reference in New Issue
Block a user