cranelift: Remove brz and brnz (#5630)

Remove the brz and brnz instructions, as their behavior is now redundant with brif.
This commit is contained in:
Trevor Elliott
2023-01-30 12:34:56 -08:00
committed by GitHub
parent 77cf547f41
commit a5698cedf8
247 changed files with 2947 additions and 3754 deletions

View File

@@ -153,8 +153,7 @@ function %f(i64, i64) -> i64 {
block0(v0: i64, v1: i64):
v2 = icmp eq v0, v1
v3 = uextend.i32 v2
brnz v3, block1
jump block2
brif v3, block1, block2
block1:
v4 = iconst.i64 1
@@ -179,8 +178,7 @@ function %f(i64, i64) -> i64 {
block0(v0: i64, v1: i64):
v2 = icmp eq v0, v1
v3 = uextend.i32 v2
brnz v3, block1
jump block1
brif v3, block1, block1
block1:
v4 = iconst.i64 1
@@ -198,10 +196,9 @@ block1:
; movz x0, #1
; ret
function %i128_brz(i128){
function %i128_brif_false(i128){
block0(v0: i128):
brz v0, block1
jump block1
brif v0, block1, block1
block1:
nop
@@ -210,7 +207,7 @@ block1:
; block0:
; orr x3, x0, x1
; cbz x3, label1 ; b label2
; cbnz x3, label1 ; b label2
; block1:
; b label3
; block2:
@@ -218,10 +215,9 @@ block1:
; block3:
; ret
function %i128_brnz(i128){
function %i128_brif_true(i128){
block0(v0: i128):
brnz v0, block1
jump block1
brif v0, block1, block1
block1:
nop
@@ -242,8 +238,7 @@ function %i128_bricmp_eq(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp eq v0, v1
v3 = uextend.i32 v2
brnz v3, block1
jump block1
brif v3, block1, block1
block1:
return
@@ -264,8 +259,7 @@ function %i128_bricmp_ne(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp ne v0, v1
v3 = uextend.i32 v2
brnz v3, block1
jump block1
brif v3, block1, block1
block1:
return
@@ -286,8 +280,7 @@ function %i128_bricmp_slt(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp slt v0, v1
v3 = uextend.i32 v2
brnz v3, block1
jump block1
brif v3, block1, block1
block1:
return
@@ -312,8 +305,7 @@ function %i128_bricmp_ult(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp ult v0, v1
v3 = uextend.i32 v2
brnz v3, block1
jump block1
brif v3, block1, block1
block1:
return
@@ -338,8 +330,7 @@ function %i128_bricmp_sle(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp sle v0, v1
v3 = uextend.i32 v2
brnz v3, block1
jump block1
brif v3, block1, block1
block1:
return
@@ -365,8 +356,7 @@ function %i128_bricmp_ule(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp ule v0, v1
v3 = uextend.i32 v2
brnz v3, block1
jump block1
brif v3, block1, block1
block1:
return
@@ -392,8 +382,7 @@ function %i128_bricmp_sgt(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp sgt v0, v1
v3 = uextend.i32 v2
brnz v3, block1
jump block1
brif v3, block1, block1
block1:
return
@@ -418,8 +407,7 @@ function %i128_bricmp_ugt(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp ugt v0, v1
v3 = uextend.i32 v2
brnz v3, block1
jump block1
brif v3, block1, block1
block1:
return
@@ -444,8 +432,7 @@ function %i128_bricmp_sge(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp sge v0, v1
v3 = uextend.i32 v2
brnz v3, block1
jump block1
brif v3, block1, block1
block1:
return
@@ -471,8 +458,7 @@ function %i128_bricmp_uge(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp uge v0, v1
v3 = uextend.i32 v2
brnz v3, block1
jump block1
brif v3, block1, block1
block1:
return

View File

@@ -49,8 +49,7 @@ function %f4(r64, r64) -> r64, r64, r64 {
block0(v0: r64, v1: r64):
v2 = call fn0(v0)
stack_store.r64 v0, ss0
brz v2, block1(v1, v0)
jump block2(v0, v1)
brif v2, block2(v0, v1), block1(v1, v0)
block1(v3: r64, v4: r64):
jump block3(v3, v4)
@@ -75,18 +74,18 @@ block3(v7: r64, v8: r64):
; ldr x6, [sp, #8]
; str x6, [x15]
; uxtb w0, w0
; cbz x0, label1 ; b label3
; cbnz x0, label1 ; b label3
; block1:
; b label2
; block2:
; mov x1, x6
; ldr x0, [sp, #16]
; mov x0, x6
; ldr x1, [sp, #16]
; b label5
; block3:
; b label4
; block4:
; mov x0, x6
; ldr x1, [sp, #16]
; mov x1, x6
; ldr x0, [sp, #16]
; b label5
; block5:
; mov x2, sp

View File

@@ -45,14 +45,14 @@
;; ldr x8, [x2, #8]
;; sub x8, x8, #4
;; subs xzr, x7, x8
;; b.ls label1 ; b label3
;; block1:
;; ldr x9, [x2]
;; str w1, [x9, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x10, [x2]
;; str w1, [x10, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -61,12 +61,12 @@
;; ldr x8, [x1, #8]
;; sub x8, x8, #4
;; subs xzr, x7, x8
;; b.ls label1 ; b label3
;; block1:
;; ldr x9, [x1]
;; ldr w0, [x9, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x10, [x1]
;; ldr w0, [x10, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -46,15 +46,15 @@
;; movn x8, #4099
;; add x10, x10, x8
;; subs xzr, x9, x10
;; b.ls label1 ; b label3
;; block1:
;; ldr x11, [x2]
;; add x11, x11, #4096
;; str w1, [x11, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x12, [x2]
;; add x12, x12, #4096
;; str w1, [x12, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -64,13 +64,13 @@
;; movn x8, #4099
;; add x10, x10, x8
;; subs xzr, x9, x10
;; b.ls label1 ; b label3
;; block1:
;; ldr x11, [x1]
;; add x10, x11, #4096
;; ldr w0, [x10, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x12, [x1]
;; add x11, x12, #4096
;; ldr w0, [x11, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -47,16 +47,16 @@
;; b.lo 8 ; udf
;; ldr x12, [x2, #8]
;; subs xzr, x11, x12
;; b.ls label1 ; b label3
;; block1:
;; ldr x13, [x2]
;; movz x14, #65535, LSL #16
;; add x13, x14, x13
;; str w1, [x13, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x14, [x2]
;; movz x15, #65535, LSL #16
;; add x14, x15, x14
;; str w1, [x14, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -67,14 +67,14 @@
;; b.lo 8 ; udf
;; ldr x12, [x1, #8]
;; subs xzr, x11, x12
;; b.ls label1 ; b label3
;; block1:
;; ldr x13, [x1]
;; movz x12, #65535, LSL #16
;; add x12, x12, x13
;; ldr w0, [x12, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x14, [x1]
;; movz x13, #65535, LSL #16
;; add x13, x13, x14
;; ldr w0, [x13, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -44,14 +44,14 @@
;; mov w6, w0
;; ldr x7, [x2, #8]
;; subs xzr, x6, x7
;; b.lo label1 ; b label3
;; block1:
;; ldr x8, [x2]
;; strb w1, [x8, w0, UXTW]
;; b label2
;; b.hs label1 ; b label2
;; block2:
;; ret
;; ldr x9, [x2]
;; strb w1, [x9, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -59,12 +59,12 @@
;; mov w6, w0
;; ldr x7, [x1, #8]
;; subs xzr, x6, x7
;; b.lo label1 ; b label3
;; block1:
;; ldr x8, [x1]
;; ldrb w0, [x8, w0, UXTW]
;; b label2
;; b.hs label1 ; b label2
;; block2:
;; ret
;; ldr x9, [x1]
;; ldrb w0, [x9, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -46,15 +46,15 @@
;; movn x8, #4096
;; add x10, x10, x8
;; subs xzr, x9, x10
;; b.ls label1 ; b label3
;; block1:
;; ldr x11, [x2]
;; add x11, x11, #4096
;; strb w1, [x11, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x12, [x2]
;; add x12, x12, #4096
;; strb w1, [x12, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -64,13 +64,13 @@
;; movn x8, #4096
;; add x10, x10, x8
;; subs xzr, x9, x10
;; b.ls label1 ; b label3
;; block1:
;; ldr x11, [x1]
;; add x10, x11, #4096
;; ldrb w0, [x10, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x12, [x1]
;; add x11, x12, #4096
;; ldrb w0, [x11, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -47,16 +47,16 @@
;; b.lo 8 ; udf
;; ldr x12, [x2, #8]
;; subs xzr, x11, x12
;; b.ls label1 ; b label3
;; block1:
;; ldr x13, [x2]
;; movz x14, #65535, LSL #16
;; add x13, x14, x13
;; strb w1, [x13, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x14, [x2]
;; movz x15, #65535, LSL #16
;; add x14, x15, x14
;; strb w1, [x14, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -67,14 +67,14 @@
;; b.lo 8 ; udf
;; ldr x12, [x1, #8]
;; subs xzr, x11, x12
;; b.ls label1 ; b label3
;; block1:
;; ldr x13, [x1]
;; movz x12, #65535, LSL #16
;; add x12, x12, x13
;; ldrb w0, [x12, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x14, [x1]
;; movz x13, #65535, LSL #16
;; add x13, x13, x14
;; ldrb w0, [x13, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -45,14 +45,14 @@
;; ldr x8, [x2, #8]
;; sub x8, x8, #4
;; subs xzr, x7, x8
;; b.ls label1 ; b label3
;; block1:
;; ldr x9, [x2]
;; str w1, [x9, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x10, [x2]
;; str w1, [x10, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -61,12 +61,12 @@
;; ldr x8, [x1, #8]
;; sub x8, x8, #4
;; subs xzr, x7, x8
;; b.ls label1 ; b label3
;; block1:
;; ldr x9, [x1]
;; ldr w0, [x9, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x10, [x1]
;; ldr w0, [x10, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -46,15 +46,15 @@
;; movn x8, #4099
;; add x10, x10, x8
;; subs xzr, x9, x10
;; b.ls label1 ; b label3
;; block1:
;; ldr x11, [x2]
;; add x11, x11, #4096
;; str w1, [x11, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x12, [x2]
;; add x12, x12, #4096
;; str w1, [x12, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -64,13 +64,13 @@
;; movn x8, #4099
;; add x10, x10, x8
;; subs xzr, x9, x10
;; b.ls label1 ; b label3
;; block1:
;; ldr x11, [x1]
;; add x10, x11, #4096
;; ldr w0, [x10, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x12, [x1]
;; add x11, x12, #4096
;; ldr w0, [x11, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -47,16 +47,16 @@
;; b.lo 8 ; udf
;; ldr x12, [x2, #8]
;; subs xzr, x11, x12
;; b.ls label1 ; b label3
;; block1:
;; ldr x13, [x2]
;; movz x14, #65535, LSL #16
;; add x13, x14, x13
;; str w1, [x13, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x14, [x2]
;; movz x15, #65535, LSL #16
;; add x14, x15, x14
;; str w1, [x14, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -67,14 +67,14 @@
;; b.lo 8 ; udf
;; ldr x12, [x1, #8]
;; subs xzr, x11, x12
;; b.ls label1 ; b label3
;; block1:
;; ldr x13, [x1]
;; movz x12, #65535, LSL #16
;; add x12, x12, x13
;; ldr w0, [x12, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x14, [x1]
;; movz x13, #65535, LSL #16
;; add x13, x13, x14
;; ldr w0, [x13, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -44,14 +44,14 @@
;; mov w6, w0
;; ldr x7, [x2, #8]
;; subs xzr, x6, x7
;; b.lo label1 ; b label3
;; block1:
;; ldr x8, [x2]
;; strb w1, [x8, w0, UXTW]
;; b label2
;; b.hs label1 ; b label2
;; block2:
;; ret
;; ldr x9, [x2]
;; strb w1, [x9, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -59,12 +59,12 @@
;; mov w6, w0
;; ldr x7, [x1, #8]
;; subs xzr, x6, x7
;; b.lo label1 ; b label3
;; block1:
;; ldr x8, [x1]
;; ldrb w0, [x8, w0, UXTW]
;; b label2
;; b.hs label1 ; b label2
;; block2:
;; ret
;; ldr x9, [x1]
;; ldrb w0, [x9, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -46,15 +46,15 @@
;; movn x8, #4096
;; add x10, x10, x8
;; subs xzr, x9, x10
;; b.ls label1 ; b label3
;; block1:
;; ldr x11, [x2]
;; add x11, x11, #4096
;; strb w1, [x11, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x12, [x2]
;; add x12, x12, #4096
;; strb w1, [x12, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -64,13 +64,13 @@
;; movn x8, #4096
;; add x10, x10, x8
;; subs xzr, x9, x10
;; b.ls label1 ; b label3
;; block1:
;; ldr x11, [x1]
;; add x10, x11, #4096
;; ldrb w0, [x10, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x12, [x1]
;; add x11, x12, #4096
;; ldrb w0, [x11, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -47,16 +47,16 @@
;; b.lo 8 ; udf
;; ldr x12, [x2, #8]
;; subs xzr, x11, x12
;; b.ls label1 ; b label3
;; block1:
;; ldr x13, [x2]
;; movz x14, #65535, LSL #16
;; add x13, x14, x13
;; strb w1, [x13, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x14, [x2]
;; movz x15, #65535, LSL #16
;; add x14, x15, x14
;; strb w1, [x14, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -67,14 +67,14 @@
;; b.lo 8 ; udf
;; ldr x12, [x1, #8]
;; subs xzr, x11, x12
;; b.ls label1 ; b label3
;; block1:
;; ldr x13, [x1]
;; movz x12, #65535, LSL #16
;; add x12, x12, x13
;; ldrb w0, [x12, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x14, [x1]
;; movz x13, #65535, LSL #16
;; add x13, x13, x14
;; ldrb w0, [x13, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -44,14 +44,14 @@
;; ldr x6, [x2, #8]
;; sub x6, x6, #4
;; subs xzr, x0, x6
;; b.ls label1 ; b label3
;; block1:
;; ldr x8, [x2]
;; str w1, [x8, x0]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x9, [x2]
;; str w1, [x9, x0]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -59,12 +59,12 @@
;; ldr x6, [x1, #8]
;; sub x6, x6, #4
;; subs xzr, x0, x6
;; b.ls label1 ; b label3
;; block1:
;; ldr x8, [x1]
;; ldr w0, [x8, x0]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x9, [x1]
;; ldr w0, [x9, x0]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -45,15 +45,15 @@
;; movn x7, #4099
;; add x9, x8, x7
;; subs xzr, x0, x9
;; b.ls label1 ; b label3
;; block1:
;; ldr x10, [x2]
;; add x11, x0, #4096
;; str w1, [x11, x10]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x11, [x2]
;; add x12, x0, #4096
;; str w1, [x12, x11]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -62,13 +62,13 @@
;; movn x7, #4099
;; add x9, x8, x7
;; subs xzr, x0, x9
;; b.ls label1 ; b label3
;; block1:
;; ldr x10, [x1]
;; add x9, x0, #4096
;; ldr w0, [x9, x10]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x11, [x1]
;; add x10, x0, #4096
;; ldr w0, [x10, x11]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -46,16 +46,16 @@
;; b.lo 8 ; udf
;; ldr x11, [x2, #8]
;; subs xzr, x10, x11
;; b.ls label1 ; b label3
;; block1:
;; ldr x12, [x2]
;; movz x13, #65535, LSL #16
;; add x13, x13, x0
;; str w1, [x13, x12]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x13, [x2]
;; movz x14, #65535, LSL #16
;; add x14, x14, x0
;; str w1, [x14, x13]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -65,14 +65,14 @@
;; b.lo 8 ; udf
;; ldr x11, [x1, #8]
;; subs xzr, x10, x11
;; b.ls label1 ; b label3
;; block1:
;; ldr x12, [x1]
;; movz x11, #65535, LSL #16
;; add x11, x11, x0
;; ldr w0, [x11, x12]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x13, [x1]
;; movz x12, #65535, LSL #16
;; add x12, x12, x0
;; ldr w0, [x12, x13]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -43,26 +43,26 @@
;; block0:
;; ldr x5, [x2, #8]
;; subs xzr, x0, x5
;; b.lo label1 ; b label3
;; block1:
;; ldr x7, [x2]
;; strb w1, [x7, x0]
;; b label2
;; b.hs label1 ; b label2
;; block2:
;; ret
;; ldr x8, [x2]
;; strb w1, [x8, x0]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
;; block0:
;; ldr x5, [x1, #8]
;; subs xzr, x0, x5
;; b.lo label1 ; b label3
;; block1:
;; ldr x7, [x1]
;; ldrb w0, [x7, x0]
;; b label2
;; b.hs label1 ; b label2
;; block2:
;; ret
;; ldr x8, [x1]
;; ldrb w0, [x8, x0]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -45,15 +45,15 @@
;; movn x7, #4096
;; add x9, x8, x7
;; subs xzr, x0, x9
;; b.ls label1 ; b label3
;; block1:
;; ldr x10, [x2]
;; add x11, x0, #4096
;; strb w1, [x11, x10]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x11, [x2]
;; add x12, x0, #4096
;; strb w1, [x12, x11]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -62,13 +62,13 @@
;; movn x7, #4096
;; add x9, x8, x7
;; subs xzr, x0, x9
;; b.ls label1 ; b label3
;; block1:
;; ldr x10, [x1]
;; add x9, x0, #4096
;; ldrb w0, [x9, x10]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x11, [x1]
;; add x10, x0, #4096
;; ldrb w0, [x10, x11]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -46,16 +46,16 @@
;; b.lo 8 ; udf
;; ldr x11, [x2, #8]
;; subs xzr, x10, x11
;; b.ls label1 ; b label3
;; block1:
;; ldr x12, [x2]
;; movz x13, #65535, LSL #16
;; add x13, x13, x0
;; strb w1, [x13, x12]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x13, [x2]
;; movz x14, #65535, LSL #16
;; add x14, x14, x0
;; strb w1, [x14, x13]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -65,14 +65,14 @@
;; b.lo 8 ; udf
;; ldr x11, [x1, #8]
;; subs xzr, x10, x11
;; b.ls label1 ; b label3
;; block1:
;; ldr x12, [x1]
;; movz x11, #65535, LSL #16
;; add x11, x11, x0
;; ldrb w0, [x11, x12]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x13, [x1]
;; movz x12, #65535, LSL #16
;; add x12, x12, x0
;; ldrb w0, [x12, x13]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -44,14 +44,14 @@
;; ldr x6, [x2, #8]
;; sub x6, x6, #4
;; subs xzr, x0, x6
;; b.ls label1 ; b label3
;; block1:
;; ldr x8, [x2]
;; str w1, [x8, x0]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x9, [x2]
;; str w1, [x9, x0]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -59,12 +59,12 @@
;; ldr x6, [x1, #8]
;; sub x6, x6, #4
;; subs xzr, x0, x6
;; b.ls label1 ; b label3
;; block1:
;; ldr x8, [x1]
;; ldr w0, [x8, x0]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x9, [x1]
;; ldr w0, [x9, x0]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -45,15 +45,15 @@
;; movn x7, #4099
;; add x9, x8, x7
;; subs xzr, x0, x9
;; b.ls label1 ; b label3
;; block1:
;; ldr x10, [x2]
;; add x11, x0, #4096
;; str w1, [x11, x10]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x11, [x2]
;; add x12, x0, #4096
;; str w1, [x12, x11]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -62,13 +62,13 @@
;; movn x7, #4099
;; add x9, x8, x7
;; subs xzr, x0, x9
;; b.ls label1 ; b label3
;; block1:
;; ldr x10, [x1]
;; add x9, x0, #4096
;; ldr w0, [x9, x10]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x11, [x1]
;; add x10, x0, #4096
;; ldr w0, [x10, x11]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -46,16 +46,16 @@
;; b.lo 8 ; udf
;; ldr x11, [x2, #8]
;; subs xzr, x10, x11
;; b.ls label1 ; b label3
;; block1:
;; ldr x12, [x2]
;; movz x13, #65535, LSL #16
;; add x13, x13, x0
;; str w1, [x13, x12]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x13, [x2]
;; movz x14, #65535, LSL #16
;; add x14, x14, x0
;; str w1, [x14, x13]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -65,14 +65,14 @@
;; b.lo 8 ; udf
;; ldr x11, [x1, #8]
;; subs xzr, x10, x11
;; b.ls label1 ; b label3
;; block1:
;; ldr x12, [x1]
;; movz x11, #65535, LSL #16
;; add x11, x11, x0
;; ldr w0, [x11, x12]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x13, [x1]
;; movz x12, #65535, LSL #16
;; add x12, x12, x0
;; ldr w0, [x12, x13]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -43,26 +43,26 @@
;; block0:
;; ldr x5, [x2, #8]
;; subs xzr, x0, x5
;; b.lo label1 ; b label3
;; block1:
;; ldr x7, [x2]
;; strb w1, [x7, x0]
;; b label2
;; b.hs label1 ; b label2
;; block2:
;; ret
;; ldr x8, [x2]
;; strb w1, [x8, x0]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
;; block0:
;; ldr x5, [x1, #8]
;; subs xzr, x0, x5
;; b.lo label1 ; b label3
;; block1:
;; ldr x7, [x1]
;; ldrb w0, [x7, x0]
;; b label2
;; b.hs label1 ; b label2
;; block2:
;; ret
;; ldr x8, [x1]
;; ldrb w0, [x8, x0]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -45,15 +45,15 @@
;; movn x7, #4096
;; add x9, x8, x7
;; subs xzr, x0, x9
;; b.ls label1 ; b label3
;; block1:
;; ldr x10, [x2]
;; add x11, x0, #4096
;; strb w1, [x11, x10]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x11, [x2]
;; add x12, x0, #4096
;; strb w1, [x12, x11]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -62,13 +62,13 @@
;; movn x7, #4096
;; add x9, x8, x7
;; subs xzr, x0, x9
;; b.ls label1 ; b label3
;; block1:
;; ldr x10, [x1]
;; add x9, x0, #4096
;; ldrb w0, [x9, x10]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x11, [x1]
;; add x10, x0, #4096
;; ldrb w0, [x10, x11]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -46,16 +46,16 @@
;; b.lo 8 ; udf
;; ldr x11, [x2, #8]
;; subs xzr, x10, x11
;; b.ls label1 ; b label3
;; block1:
;; ldr x12, [x2]
;; movz x13, #65535, LSL #16
;; add x13, x13, x0
;; strb w1, [x13, x12]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x13, [x2]
;; movz x14, #65535, LSL #16
;; add x14, x14, x0
;; strb w1, [x14, x13]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -65,14 +65,14 @@
;; b.lo 8 ; udf
;; ldr x11, [x1, #8]
;; subs xzr, x10, x11
;; b.ls label1 ; b label3
;; block1:
;; ldr x12, [x1]
;; movz x11, #65535, LSL #16
;; add x11, x11, x0
;; ldrb w0, [x11, x12]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x13, [x1]
;; movz x12, #65535, LSL #16
;; add x12, x12, x0
;; ldrb w0, [x12, x13]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -42,14 +42,14 @@
;; mov w6, w0
;; orr x7, xzr, #268435452
;; subs xzr, x6, x7
;; b.ls label1 ; b label3
;; block1:
;; ldr x8, [x2]
;; str w1, [x8, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x9, [x2]
;; str w1, [x9, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -57,12 +57,12 @@
;; mov w6, w0
;; orr x7, xzr, #268435452
;; subs xzr, x6, x7
;; b.ls label1 ; b label3
;; block1:
;; ldr x8, [x1]
;; ldr w0, [x8, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x9, [x1]
;; ldr w0, [x9, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -43,15 +43,15 @@
;; movz w9, #61436
;; movk w9, w9, #4095, LSL #16
;; subs xzr, x8, x9
;; b.ls label1 ; b label3
;; block1:
;; ldr x10, [x2]
;; add x10, x10, #4096
;; str w1, [x10, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x11, [x2]
;; add x11, x11, #4096
;; str w1, [x11, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -60,13 +60,13 @@
;; movz w9, #61436
;; movk w9, w9, #4095, LSL #16
;; subs xzr, x8, x9
;; b.ls label1 ; b label3
;; block1:
;; ldr x10, [x1]
;; add x9, x10, #4096
;; ldr w0, [x9, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x11, [x1]
;; add x10, x11, #4096
;; ldr w0, [x10, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -42,14 +42,14 @@
;; mov w6, w0
;; orr x7, xzr, #268435455
;; subs xzr, x6, x7
;; b.ls label1 ; b label3
;; block1:
;; ldr x8, [x2]
;; strb w1, [x8, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x9, [x2]
;; strb w1, [x9, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -57,12 +57,12 @@
;; mov w6, w0
;; orr x7, xzr, #268435455
;; subs xzr, x6, x7
;; b.ls label1 ; b label3
;; block1:
;; ldr x8, [x1]
;; ldrb w0, [x8, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x9, [x1]
;; ldrb w0, [x9, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -43,15 +43,15 @@
;; movz w9, #61439
;; movk w9, w9, #4095, LSL #16
;; subs xzr, x8, x9
;; b.ls label1 ; b label3
;; block1:
;; ldr x10, [x2]
;; add x10, x10, #4096
;; strb w1, [x10, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x11, [x2]
;; add x11, x11, #4096
;; strb w1, [x11, w0, UXTW]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -60,13 +60,13 @@
;; movz w9, #61439
;; movk w9, w9, #4095, LSL #16
;; subs xzr, x8, x9
;; b.ls label1 ; b label3
;; block1:
;; ldr x10, [x1]
;; add x9, x10, #4096
;; ldrb w0, [x9, w0, UXTW]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x11, [x1]
;; add x10, x11, #4096
;; ldrb w0, [x10, w0, UXTW]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -41,26 +41,26 @@
;; block0:
;; orr x5, xzr, #268435452
;; subs xzr, x0, x5
;; b.ls label1 ; b label3
;; block1:
;; ldr x7, [x2]
;; str w1, [x7, x0]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x8, [x2]
;; str w1, [x8, x0]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
;; block0:
;; orr x5, xzr, #268435452
;; subs xzr, x0, x5
;; b.ls label1 ; b label3
;; block1:
;; ldr x7, [x1]
;; ldr w0, [x7, x0]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x8, [x1]
;; ldr w0, [x8, x0]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -42,15 +42,15 @@
;; movz w7, #61436
;; movk w7, w7, #4095, LSL #16
;; subs xzr, x0, x7
;; b.ls label1 ; b label3
;; block1:
;; ldr x9, [x2]
;; add x10, x0, #4096
;; str w1, [x10, x9]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x10, [x2]
;; add x11, x0, #4096
;; str w1, [x11, x10]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -58,13 +58,13 @@
;; movz w7, #61436
;; movk w7, w7, #4095, LSL #16
;; subs xzr, x0, x7
;; b.ls label1 ; b label3
;; block1:
;; ldr x9, [x1]
;; add x8, x0, #4096
;; ldr w0, [x8, x9]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x10, [x1]
;; add x9, x0, #4096
;; ldr w0, [x9, x10]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -41,26 +41,26 @@
;; block0:
;; orr x5, xzr, #268435455
;; subs xzr, x0, x5
;; b.ls label1 ; b label3
;; block1:
;; ldr x7, [x2]
;; strb w1, [x7, x0]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x8, [x2]
;; strb w1, [x8, x0]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
;; block0:
;; orr x5, xzr, #268435455
;; subs xzr, x0, x5
;; b.ls label1 ; b label3
;; block1:
;; ldr x7, [x1]
;; ldrb w0, [x7, x0]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x8, [x1]
;; ldrb w0, [x8, x0]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -42,15 +42,15 @@
;; movz w7, #61439
;; movk w7, w7, #4095, LSL #16
;; subs xzr, x0, x7
;; b.ls label1 ; b label3
;; block1:
;; ldr x9, [x2]
;; add x10, x0, #4096
;; strb w1, [x10, x9]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x10, [x2]
;; add x11, x0, #4096
;; strb w1, [x11, x10]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -58,13 +58,13 @@
;; movz w7, #61439
;; movk w7, w7, #4095, LSL #16
;; subs xzr, x0, x7
;; b.ls label1 ; b label3
;; block1:
;; ldr x9, [x1]
;; add x8, x0, #4096
;; ldrb w0, [x8, x9]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x10, [x1]
;; add x9, x0, #4096
;; ldrb w0, [x9, x10]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -41,26 +41,26 @@
;; block0:
;; orr x5, xzr, #268435452
;; subs xzr, x0, x5
;; b.ls label1 ; b label3
;; block1:
;; ldr x7, [x2]
;; str w1, [x7, x0]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x8, [x2]
;; str w1, [x8, x0]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
;; block0:
;; orr x5, xzr, #268435452
;; subs xzr, x0, x5
;; b.ls label1 ; b label3
;; block1:
;; ldr x7, [x1]
;; ldr w0, [x7, x0]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x8, [x1]
;; ldr w0, [x8, x0]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -42,15 +42,15 @@
;; movz w7, #61436
;; movk w7, w7, #4095, LSL #16
;; subs xzr, x0, x7
;; b.ls label1 ; b label3
;; block1:
;; ldr x9, [x2]
;; add x10, x0, #4096
;; str w1, [x10, x9]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x10, [x2]
;; add x11, x0, #4096
;; str w1, [x11, x10]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -58,13 +58,13 @@
;; movz w7, #61436
;; movk w7, w7, #4095, LSL #16
;; subs xzr, x0, x7
;; b.ls label1 ; b label3
;; block1:
;; ldr x9, [x1]
;; add x8, x0, #4096
;; ldr w0, [x8, x9]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x10, [x1]
;; add x9, x0, #4096
;; ldr w0, [x9, x10]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -41,26 +41,26 @@
;; block0:
;; orr x5, xzr, #268435455
;; subs xzr, x0, x5
;; b.ls label1 ; b label3
;; block1:
;; ldr x7, [x2]
;; strb w1, [x7, x0]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x8, [x2]
;; strb w1, [x8, x0]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
;; block0:
;; orr x5, xzr, #268435455
;; subs xzr, x0, x5
;; b.ls label1 ; b label3
;; block1:
;; ldr x7, [x1]
;; ldrb w0, [x7, x0]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x8, [x1]
;; ldrb w0, [x8, x0]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f

View File

@@ -42,15 +42,15 @@
;; movz w7, #61439
;; movk w7, w7, #4095, LSL #16
;; subs xzr, x0, x7
;; b.ls label1 ; b label3
;; block1:
;; ldr x9, [x2]
;; add x10, x0, #4096
;; strb w1, [x10, x9]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x10, [x2]
;; add x11, x0, #4096
;; strb w1, [x11, x10]
;; b label3
;; block3:
;; ret
;; block1:
;; udf #0xc11f
;;
;; function u0:1:
@@ -58,13 +58,13 @@
;; movz w7, #61439
;; movk w7, w7, #4095, LSL #16
;; subs xzr, x0, x7
;; b.ls label1 ; b label3
;; block1:
;; ldr x9, [x1]
;; add x8, x0, #4096
;; ldrb w0, [x8, x9]
;; b label2
;; b.hi label1 ; b label2
;; block2:
;; ret
;; ldr x10, [x1]
;; add x9, x0, #4096
;; ldrb w0, [x9, x10]
;; b label3
;; block3:
;; udf #0xc11f
;; ret
;; block1:
;; udf #0xc11f