|
|
|
|
@@ -3,7 +3,7 @@ set opt_level=speed
|
|
|
|
|
target x86_64
|
|
|
|
|
|
|
|
|
|
;; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
|
;; !!! GENERATED BY 'make-icmp-parameterized-tests.sh' DO NOT EDIT !!!
|
|
|
|
|
;; !!! GENERATED BY 'make-parameterized-icmp-tests.sh' DO NOT EDIT !!!
|
|
|
|
|
;; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
|
;; run with the 'CRANELIFT_TEST_BLESS=1' env var set to update this file
|
|
|
|
|
|
|
|
|
|
@@ -137,6 +137,38 @@ block0(v0: i32):
|
|
|
|
|
; return v2 ; v2 = 1
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %mask_icmp_result(i64, i64) -> i8 {
|
|
|
|
|
block0(v1: i64, v2: i64):
|
|
|
|
|
v3 = icmp ult v1, v2
|
|
|
|
|
v4 = iconst.i8 1
|
|
|
|
|
v5 = band v3, v4
|
|
|
|
|
return v5
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %mask_icmp_result(i64, i64) -> i8 fast {
|
|
|
|
|
; block0(v1: i64, v2: i64):
|
|
|
|
|
; v3 = icmp ult v1, v2
|
|
|
|
|
; v6 -> v3
|
|
|
|
|
; return v3
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %mask_icmp_extend_result(i64, i64) -> i64 {
|
|
|
|
|
block0(v1: i64, v2: i64):
|
|
|
|
|
v3 = icmp ult v1, v2
|
|
|
|
|
v4 = uextend.i64 v3
|
|
|
|
|
v5 = iconst.i64 1
|
|
|
|
|
v6 = band v4, v5
|
|
|
|
|
return v6
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %mask_icmp_extend_result(i64, i64) -> i64 fast {
|
|
|
|
|
; block0(v1: i64, v2: i64):
|
|
|
|
|
; v3 = icmp ult v1, v2
|
|
|
|
|
; v4 = uextend.i64 v3
|
|
|
|
|
; v7 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_eq_umin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0
|
|
|
|
|
@@ -151,20 +183,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_eq_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 1
|
|
|
|
|
v2 = icmp eq v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_eq_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 1
|
|
|
|
|
; v2 = icmp eq v0, v1 ; v1 = 1
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_eq_umax(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFF
|
|
|
|
|
@@ -179,20 +197,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_eq_umax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFE
|
|
|
|
|
v2 = icmp eq v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_eq_umax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0xffff_fffe
|
|
|
|
|
; v2 = icmp eq v0, v1 ; v1 = 0xffff_fffe
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_eq_smin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0000
|
|
|
|
|
@@ -207,20 +211,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_eq_smin_plus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0001
|
|
|
|
|
v2 = icmp eq v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_eq_smin_plus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0x8000_0001
|
|
|
|
|
; v2 = icmp eq v0, v1 ; v1 = 0x8000_0001
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_eq_smax(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFF
|
|
|
|
|
@@ -235,20 +225,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_eq_smax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFE
|
|
|
|
|
v2 = icmp eq v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_eq_smax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0x7fff_fffe
|
|
|
|
|
; v2 = icmp eq v0, v1 ; v1 = 0x7fff_fffe
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ne_umin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0
|
|
|
|
|
@@ -263,20 +239,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ne_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 1
|
|
|
|
|
v2 = icmp ne v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ne_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 1
|
|
|
|
|
; v2 = icmp ne v0, v1 ; v1 = 1
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ne_umax(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFF
|
|
|
|
|
@@ -291,20 +253,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ne_umax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFE
|
|
|
|
|
v2 = icmp ne v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ne_umax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0xffff_fffe
|
|
|
|
|
; v2 = icmp ne v0, v1 ; v1 = 0xffff_fffe
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ne_smin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0000
|
|
|
|
|
@@ -319,20 +267,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ne_smin_plus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0001
|
|
|
|
|
v2 = icmp ne v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ne_smin_plus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0x8000_0001
|
|
|
|
|
; v2 = icmp ne v0, v1 ; v1 = 0x8000_0001
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ne_smax(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFF
|
|
|
|
|
@@ -347,20 +281,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ne_smax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFE
|
|
|
|
|
v2 = icmp ne v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ne_smax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0x7fff_fffe
|
|
|
|
|
; v2 = icmp ne v0, v1 ; v1 = 0x7fff_fffe
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ult_umin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0
|
|
|
|
|
@@ -374,20 +294,6 @@ block0(v0: i32):
|
|
|
|
|
; return v3 ; v3 = 0
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ult_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 1
|
|
|
|
|
v2 = icmp ult v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ult_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 1
|
|
|
|
|
; v2 = icmp ult v0, v1 ; v1 = 1
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ult_umax(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFF
|
|
|
|
|
@@ -403,20 +309,6 @@ block0(v0: i32):
|
|
|
|
|
; return v3
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ult_umax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFE
|
|
|
|
|
v2 = icmp ult v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ult_umax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0xffff_fffe
|
|
|
|
|
; v2 = icmp ult v0, v1 ; v1 = 0xffff_fffe
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ult_smin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0000
|
|
|
|
|
@@ -431,20 +323,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ult_smin_plus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0001
|
|
|
|
|
v2 = icmp ult v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ult_smin_plus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0x8000_0001
|
|
|
|
|
; v2 = icmp ult v0, v1 ; v1 = 0x8000_0001
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ult_smax(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFF
|
|
|
|
|
@@ -459,20 +337,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ult_smax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFE
|
|
|
|
|
v2 = icmp ult v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ult_smax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0x7fff_fffe
|
|
|
|
|
; v2 = icmp ult v0, v1 ; v1 = 0x7fff_fffe
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ule_umin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0
|
|
|
|
|
@@ -483,24 +347,9 @@ block0(v0: i32):
|
|
|
|
|
; function %icmp_ule_umin(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0
|
|
|
|
|
; v5 = icmp eq v0, v1 ; v1 = 0
|
|
|
|
|
; v7 -> v5
|
|
|
|
|
; return v5
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ule_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 1
|
|
|
|
|
v2 = icmp ule v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ule_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 2
|
|
|
|
|
; v4 = icmp ult v0, v3 ; v3 = 2
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; v3 = icmp eq v0, v1 ; v1 = 0
|
|
|
|
|
; v4 -> v3
|
|
|
|
|
; return v3
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ule_umax(i32) -> i8 {
|
|
|
|
|
@@ -516,22 +365,6 @@ block0(v0: i32):
|
|
|
|
|
; return v3 ; v3 = 1
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ule_umax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFE
|
|
|
|
|
v2 = icmp ule v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ule_umax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0xffff_ffff
|
|
|
|
|
; v5 = icmp ne v0, v3 ; v3 = 0xffff_ffff
|
|
|
|
|
; v6 -> v5
|
|
|
|
|
; v7 -> v6
|
|
|
|
|
; return v5
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ule_smin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0000
|
|
|
|
|
@@ -541,25 +374,9 @@ block0(v0: i32):
|
|
|
|
|
|
|
|
|
|
; function %icmp_ule_smin(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0x8000_0001
|
|
|
|
|
; v4 = icmp ult v0, v3 ; v3 = 0x8000_0001
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ule_smin_plus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0001
|
|
|
|
|
v2 = icmp ule v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ule_smin_plus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0x8000_0002
|
|
|
|
|
; v4 = icmp ult v0, v3 ; v3 = 0x8000_0002
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; v1 = iconst.i32 0x8000_0000
|
|
|
|
|
; v2 = icmp ule v0, v1 ; v1 = 0x8000_0000
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ule_smax(i32) -> i8 {
|
|
|
|
|
@@ -571,25 +388,9 @@ block0(v0: i32):
|
|
|
|
|
|
|
|
|
|
; function %icmp_ule_smax(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0x8000_0000
|
|
|
|
|
; v4 = icmp ult v0, v3 ; v3 = 0x8000_0000
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ule_smax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFE
|
|
|
|
|
v2 = icmp ule v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ule_smax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0x7fff_ffff
|
|
|
|
|
; v4 = icmp ult v0, v3 ; v3 = 0x7fff_ffff
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; v1 = iconst.i32 0x7fff_ffff
|
|
|
|
|
; v2 = icmp ule v0, v1 ; v1 = 0x7fff_ffff
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ugt_umin(i32) -> i8 {
|
|
|
|
|
@@ -607,20 +408,6 @@ block0(v0: i32):
|
|
|
|
|
; return v3
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ugt_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 1
|
|
|
|
|
v2 = icmp ugt v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ugt_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 1
|
|
|
|
|
; v2 = icmp ugt v0, v1 ; v1 = 1
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ugt_umax(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFF
|
|
|
|
|
@@ -634,21 +421,6 @@ block0(v0: i32):
|
|
|
|
|
; return v3 ; v3 = 0
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ugt_umax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFE
|
|
|
|
|
v2 = icmp ugt v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ugt_umax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0xffff_ffff
|
|
|
|
|
; v4 = icmp eq v0, v3 ; v3 = 0xffff_ffff
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ugt_smin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0000
|
|
|
|
|
@@ -663,20 +435,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ugt_smin_plus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0001
|
|
|
|
|
v2 = icmp ugt v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ugt_smin_plus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0x8000_0001
|
|
|
|
|
; v2 = icmp ugt v0, v1 ; v1 = 0x8000_0001
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ugt_smax(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFF
|
|
|
|
|
@@ -691,20 +449,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_ugt_smax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFE
|
|
|
|
|
v2 = icmp ugt v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_ugt_smax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0x7fff_fffe
|
|
|
|
|
; v2 = icmp ugt v0, v1 ; v1 = 0x7fff_fffe
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_uge_umin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0
|
|
|
|
|
@@ -718,22 +462,6 @@ block0(v0: i32):
|
|
|
|
|
; return v3 ; v3 = 1
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_uge_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 1
|
|
|
|
|
v2 = icmp uge v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_uge_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0
|
|
|
|
|
; v5 = icmp ne v0, v3 ; v3 = 0
|
|
|
|
|
; v6 -> v5
|
|
|
|
|
; v7 -> v6
|
|
|
|
|
; return v5
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_uge_umax(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFF
|
|
|
|
|
@@ -745,27 +473,10 @@ block0(v0: i32):
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0xffff_ffff
|
|
|
|
|
; v3 = icmp eq v0, v1 ; v1 = 0xffff_ffff
|
|
|
|
|
; v6 -> v3
|
|
|
|
|
; v7 -> v3
|
|
|
|
|
; v8 -> v6
|
|
|
|
|
; v4 -> v3
|
|
|
|
|
; return v3
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_uge_umax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFE
|
|
|
|
|
v2 = icmp uge v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_uge_umax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0xffff_fffd
|
|
|
|
|
; v4 = icmp ugt v0, v3 ; v3 = 0xffff_fffd
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_uge_smin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0000
|
|
|
|
|
@@ -775,25 +486,9 @@ block0(v0: i32):
|
|
|
|
|
|
|
|
|
|
; function %icmp_uge_smin(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0x7fff_ffff
|
|
|
|
|
; v4 = icmp ugt v0, v3 ; v3 = 0x7fff_ffff
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_uge_smin_plus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0001
|
|
|
|
|
v2 = icmp uge v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_uge_smin_plus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0x8000_0000
|
|
|
|
|
; v4 = icmp ugt v0, v3 ; v3 = 0x8000_0000
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; v1 = iconst.i32 0x8000_0000
|
|
|
|
|
; v2 = icmp uge v0, v1 ; v1 = 0x8000_0000
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_uge_smax(i32) -> i8 {
|
|
|
|
|
@@ -805,25 +500,9 @@ block0(v0: i32):
|
|
|
|
|
|
|
|
|
|
; function %icmp_uge_smax(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0x7fff_fffe
|
|
|
|
|
; v4 = icmp ugt v0, v3 ; v3 = 0x7fff_fffe
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_uge_smax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFE
|
|
|
|
|
v2 = icmp uge v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_uge_smax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0x7fff_fffd
|
|
|
|
|
; v4 = icmp ugt v0, v3 ; v3 = 0x7fff_fffd
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; v1 = iconst.i32 0x7fff_ffff
|
|
|
|
|
; v2 = icmp uge v0, v1 ; v1 = 0x7fff_ffff
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_slt_umin(i32) -> i8 {
|
|
|
|
|
@@ -840,20 +519,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_slt_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 1
|
|
|
|
|
v2 = icmp slt v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_slt_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 1
|
|
|
|
|
; v2 = icmp slt v0, v1 ; v1 = 1
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_slt_umax(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFF
|
|
|
|
|
@@ -868,20 +533,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_slt_umax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFE
|
|
|
|
|
v2 = icmp slt v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_slt_umax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0xffff_fffe
|
|
|
|
|
; v2 = icmp slt v0, v1 ; v1 = 0xffff_fffe
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_slt_smin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0000
|
|
|
|
|
@@ -895,21 +546,6 @@ block0(v0: i32):
|
|
|
|
|
; return v3 ; v3 = 0
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_slt_smin_plus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0001
|
|
|
|
|
v2 = icmp slt v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_slt_smin_plus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0x8000_0000
|
|
|
|
|
; v4 = icmp eq v0, v3 ; v3 = 0x8000_0000
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_slt_smax(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFF
|
|
|
|
|
@@ -925,20 +561,6 @@ block0(v0: i32):
|
|
|
|
|
; return v3
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_slt_smax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFE
|
|
|
|
|
v2 = icmp slt v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_slt_smax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0x7fff_fffe
|
|
|
|
|
; v2 = icmp slt v0, v1 ; v1 = 0x7fff_fffe
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sle_umin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0
|
|
|
|
|
@@ -948,25 +570,9 @@ block0(v0: i32):
|
|
|
|
|
|
|
|
|
|
; function %icmp_sle_umin(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 1
|
|
|
|
|
; v4 = icmp slt v0, v3 ; v3 = 1
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sle_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 1
|
|
|
|
|
v2 = icmp sle v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_sle_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 2
|
|
|
|
|
; v4 = icmp slt v0, v3 ; v3 = 2
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; v1 = iconst.i32 0
|
|
|
|
|
; v2 = icmp sle v0, v1 ; v1 = 0
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sle_umax(i32) -> i8 {
|
|
|
|
|
@@ -978,25 +584,9 @@ block0(v0: i32):
|
|
|
|
|
|
|
|
|
|
; function %icmp_sle_umax(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0x0001_0000_0000
|
|
|
|
|
; v4 = icmp slt v0, v3 ; v3 = 0x0001_0000_0000
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sle_umax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFE
|
|
|
|
|
v2 = icmp sle v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_sle_umax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0xffff_ffff
|
|
|
|
|
; v4 = icmp slt v0, v3 ; v3 = 0xffff_ffff
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; v1 = iconst.i32 0xffff_ffff
|
|
|
|
|
; v2 = icmp sle v0, v1 ; v1 = 0xffff_ffff
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sle_smin(i32) -> i8 {
|
|
|
|
|
@@ -1009,26 +599,9 @@ block0(v0: i32):
|
|
|
|
|
; function %icmp_sle_smin(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0x8000_0000
|
|
|
|
|
; v5 = icmp eq v0, v1 ; v1 = 0x8000_0000
|
|
|
|
|
; v6 -> v5
|
|
|
|
|
; v8 -> v5
|
|
|
|
|
; v7 -> v6
|
|
|
|
|
; return v5
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sle_smin_plus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0001
|
|
|
|
|
v2 = icmp sle v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_sle_smin_plus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0x8000_0002
|
|
|
|
|
; v4 = icmp slt v0, v3 ; v3 = 0x8000_0002
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; v3 = icmp eq v0, v1 ; v1 = 0x8000_0000
|
|
|
|
|
; v4 -> v3
|
|
|
|
|
; return v3
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sle_smax(i32) -> i8 {
|
|
|
|
|
@@ -1044,22 +617,6 @@ block0(v0: i32):
|
|
|
|
|
; return v3 ; v3 = 1
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sle_smax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFE
|
|
|
|
|
v2 = icmp sle v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_sle_smax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0x7fff_ffff
|
|
|
|
|
; v5 = icmp ne v0, v3 ; v3 = 0x7fff_ffff
|
|
|
|
|
; v6 -> v5
|
|
|
|
|
; v7 -> v6
|
|
|
|
|
; return v5
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sgt_umin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0
|
|
|
|
|
@@ -1074,20 +631,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sgt_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 1
|
|
|
|
|
v2 = icmp sgt v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_sgt_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 1
|
|
|
|
|
; v2 = icmp sgt v0, v1 ; v1 = 1
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sgt_umax(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFF
|
|
|
|
|
@@ -1102,20 +645,6 @@ block0(v0: i32):
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sgt_umax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFE
|
|
|
|
|
v2 = icmp sgt v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_sgt_umax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0xffff_fffe
|
|
|
|
|
; v2 = icmp sgt v0, v1 ; v1 = 0xffff_fffe
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sgt_smin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0000
|
|
|
|
|
@@ -1131,20 +660,6 @@ block0(v0: i32):
|
|
|
|
|
; return v3
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sgt_smin_plus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0001
|
|
|
|
|
v2 = icmp sgt v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_sgt_smin_plus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0x8000_0001
|
|
|
|
|
; v2 = icmp sgt v0, v1 ; v1 = 0x8000_0001
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sgt_smax(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFF
|
|
|
|
|
@@ -1158,21 +673,6 @@ block0(v0: i32):
|
|
|
|
|
; return v3 ; v3 = 0
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sgt_smax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFE
|
|
|
|
|
v2 = icmp sgt v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_sgt_smax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0x7fff_ffff
|
|
|
|
|
; v4 = icmp eq v0, v3 ; v3 = 0x7fff_ffff
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sge_umin(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0
|
|
|
|
|
@@ -1182,25 +682,9 @@ block0(v0: i32):
|
|
|
|
|
|
|
|
|
|
; function %icmp_sge_umin(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 -1
|
|
|
|
|
; v4 = icmp sgt v0, v3 ; v3 = -1
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sge_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 1
|
|
|
|
|
v2 = icmp sge v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_sge_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0
|
|
|
|
|
; v4 = icmp sgt v0, v3 ; v3 = 0
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; v1 = iconst.i32 0
|
|
|
|
|
; v2 = icmp sge v0, v1 ; v1 = 0
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sge_umax(i32) -> i8 {
|
|
|
|
|
@@ -1212,25 +696,9 @@ block0(v0: i32):
|
|
|
|
|
|
|
|
|
|
; function %icmp_sge_umax(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0xffff_fffe
|
|
|
|
|
; v4 = icmp sgt v0, v3 ; v3 = 0xffff_fffe
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sge_umax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0xFFFF_FFFE
|
|
|
|
|
v2 = icmp sge v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_sge_umax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0xffff_fffd
|
|
|
|
|
; v4 = icmp sgt v0, v3 ; v3 = 0xffff_fffd
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; v1 = iconst.i32 0xffff_ffff
|
|
|
|
|
; v2 = icmp sge v0, v1 ; v1 = 0xffff_ffff
|
|
|
|
|
; return v2
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sge_smin(i32) -> i8 {
|
|
|
|
|
@@ -1246,22 +714,6 @@ block0(v0: i32):
|
|
|
|
|
; return v3 ; v3 = 1
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sge_smin_plus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x8000_0001
|
|
|
|
|
v2 = icmp sge v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_sge_smin_plus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0x8000_0000
|
|
|
|
|
; v5 = icmp ne v0, v3 ; v3 = 0x8000_0000
|
|
|
|
|
; v6 -> v5
|
|
|
|
|
; v7 -> v6
|
|
|
|
|
; return v5
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sge_smax(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFF
|
|
|
|
|
@@ -1272,26 +724,9 @@ block0(v0: i32):
|
|
|
|
|
; function %icmp_sge_smax(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v1 = iconst.i32 0x7fff_ffff
|
|
|
|
|
; v5 = icmp eq v0, v1 ; v1 = 0x7fff_ffff
|
|
|
|
|
; v6 -> v5
|
|
|
|
|
; v8 -> v5
|
|
|
|
|
; v7 -> v6
|
|
|
|
|
; return v5
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_sge_smax_minus_1(i32) -> i8 {
|
|
|
|
|
block0(v0: i32):
|
|
|
|
|
v1 = iconst.i32 0x7FFF_FFFE
|
|
|
|
|
v2 = icmp sge v0, v1
|
|
|
|
|
return v2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; function %icmp_sge_smax_minus_1(i32) -> i8 fast {
|
|
|
|
|
; block0(v0: i32):
|
|
|
|
|
; v3 = iconst.i32 0x7fff_fffd
|
|
|
|
|
; v4 = icmp sgt v0, v3 ; v3 = 0x7fff_fffd
|
|
|
|
|
; v5 -> v4
|
|
|
|
|
; return v4
|
|
|
|
|
; v3 = icmp eq v0, v1 ; v1 = 0x7fff_ffff
|
|
|
|
|
; v4 -> v3
|
|
|
|
|
; return v3
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
function %icmp_and_eq_eq(i32, i32) -> i8 {
|
|
|
|
|
|