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

View File

@@ -115,8 +115,7 @@ block0(v0: i128, v1: i128):
function %f(i64, i64) -> i64 {
block0(v0: i64, v1: i64):
v2 = icmp eq v0, v1
brnz v2, block1
jump block2
brif v2, block1, block2
block1:
v4 = iconst.i64 1
@@ -140,8 +139,7 @@ block2:
function %f(i64, i64) -> i64 {
block0(v0: i64, v1: i64):
v2 = icmp eq v0, v1
brnz v2, block1
jump block1
brif v2, block1, block1
block1:
v4 = iconst.i64 1
@@ -159,30 +157,9 @@ block1:
; li a0,1
; ret
function %i128_brz(i128){
function %i128_brif(i128){
block0(v0: i128):
brz v0, block1
jump block1
block1:
nop
return
}
; block0:
; eq a0,[a0,a1],[zerozero]##ty=i128
; bne a0,zero,taken(label1),not_taken(label2)
; block1:
; j label3
; block2:
; j label3
; block3:
; ret
function %i128_brnz(i128){
block0(v0: i128):
brnz v0, block1
jump block1
brif v0, block1, block1
block1:
nop
@@ -202,8 +179,7 @@ block1:
function %i128_bricmp_eq(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp eq v0, v1
brnz v2, block1
jump block1
brif v2, block1, block1
block1:
return
@@ -222,8 +198,7 @@ block1:
function %i128_bricmp_ne(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp ne v0, v1
brnz v2, block1
jump block1
brif v2, block1, block1
block1:
return
@@ -242,8 +217,7 @@ block1:
function %i128_bricmp_slt(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp slt v0, v1
brnz v2, block1
jump block1
brif v2, block1, block1
block1:
return
@@ -262,8 +236,7 @@ block1:
function %i128_bricmp_ult(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp ult v0, v1
brnz v2, block1
jump block1
brif v2, block1, block1
block1:
return
@@ -282,8 +255,7 @@ block1:
function %i128_bricmp_sle(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp sle v0, v1
brnz v2, block1
jump block1
brif v2, block1, block1
block1:
return
@@ -302,8 +274,7 @@ block1:
function %i128_bricmp_ule(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp ule v0, v1
brnz v2, block1
jump block1
brif v2, block1, block1
block1:
return
@@ -322,8 +293,7 @@ block1:
function %i128_bricmp_sgt(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp sgt v0, v1
brnz v2, block1
jump block1
brif v2, block1, block1
block1:
return
@@ -342,8 +312,7 @@ block1:
function %i128_bricmp_ugt(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp ugt v0, v1
brnz v2, block1
jump block1
brif v2, block1, block1
block1:
return
@@ -362,8 +331,7 @@ block1:
function %i128_bricmp_sge(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp sge v0, v1
brnz v2, block1
jump block1
brif v2, block1, block1
block1:
return
@@ -382,8 +350,7 @@ block1:
function %i128_bricmp_uge(i128, i128) {
block0(v0: i128, v1: i128):
v2 = icmp uge v0, v1
brnz v2, block1
jump block1
brif v2, block1, block1
block1:
return
@@ -401,30 +368,9 @@ block1:
function %i8_brz(i8){
function %i8_brif(i8){
block0(v0: i8):
brz v0, block1
jump block1
block1:
nop
return
}
; block0:
; andi t2,a0,255
; beq t2,zero,taken(label1),not_taken(label2)
; block1:
; j label3
; block2:
; j label3
; block3:
; ret
function %i8_brnz(i8){
block0(v0: i8):
brnz v0, block1
jump block1
brif v0, block1, block1
block1:
nop
@@ -441,32 +387,9 @@ block1:
; block3:
; ret
function %i16_brz(i16){
function %i16_brif(i16){
block0(v0: i16):
brz v0, block1
jump block1
block1:
nop
return
}
; block0:
; lui a1,16
; addi a1,a1,4095
; and a3,a0,a1
; beq a3,zero,taken(label1),not_taken(label2)
; block1:
; j label3
; block2:
; j label3
; block3:
; ret
function %i16_brnz(i16){
block0(v0: i16):
brnz v0, block1
jump block1
brif v0, block1, block1
block1:
nop
@@ -485,30 +408,9 @@ block1:
; block3:
; ret
function %i32_brz(i32){
function %i32_brif(i32){
block0(v0: i32):
brz v0, block1
jump block1
block1:
nop
return
}
; block0:
; addiw t2,a0,0
; beq t2,zero,taken(label1),not_taken(label2)
; block1:
; j label3
; block2:
; j label3
; block3:
; ret
function %i32_brnz(i32){
block0(v0: i32):
brnz v0, block1
jump block1
brif v0, block1, block1
block1:
nop
@@ -525,29 +427,9 @@ block1:
; block3:
; ret
function %i64_brz(i64){
function %i64_brif(i64){
block0(v0: i64):
brz v0, block1
jump block1
block1:
nop
return
}
; block0:
; beq a0,zero,taken(label1),not_taken(label2)
; block1:
; j label3
; block2:
; j label3
; block3:
; ret
function %i64_brnz(i64){
block0(v0: i64):
brnz v0, block1
jump block1
brif v0, block1, block1
block1:
nop

View File

@@ -6,33 +6,31 @@ function %f0() {
block0:
v0 = f64const 0.0
v1 = fcmp ult v0, v0
brz v1, block1
jump block1
block1:
return
}
; block0:
; li t1,0
; fmv.d.x ft1,t1
; li a2,0
; fmv.d.x ft5,a2
; fle.d a5,ft5,ft1
; bne a5,zero,taken(label1),not_taken(label2)
; block1:
; j label3
; block2:
; j label3
; block3:
; ret
function %f1() {
block0:
v0 = f64const 0.0
v1 = fcmp ult v0, v0
brnz v1, block1
jump block1
brif v1, block1, block1
block1:
return
}
; block0:
; li t1,0
; fmv.d.x ft1,t1
; li a2,0
; fmv.d.x ft5,a2
; fle.d a5,ft5,ft1
; bne a5,zero,taken(label2),not_taken(label1)
; block1:
; j label3
; block2:
; j label3
; block3:
; ret
function %f1() {
block0:
v0 = f64const 0.0
v1 = fcmp ult v0, v0
brif v1, block1, block1
block1:
return

View File

@@ -47,8 +47,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)
@@ -77,18 +76,18 @@ block3(v7: r64, v8: r64):
; ld t4,8(nominal_sp)
; sd t4,0(a1)
; andi a1,a0,255
; beq a1,zero,taken(label1),not_taken(label3)
; bne a1,zero,taken(label1),not_taken(label3)
; block1:
; j label2
; block2:
; mv a1,t4
; ld a0,16(nominal_sp)
; mv a0,t4
; ld a1,16(nominal_sp)
; j label5
; block3:
; j label4
; block4:
; mv a0,t4
; ld a1,16(nominal_sp)
; mv a1,t4
; ld a0,16(nominal_sp)
; j label5
; block5:
; load_addr a2,nsp+0

View File

@@ -20,11 +20,11 @@ block0(v0: i64):
; block0:
; li t2,42
; ne a1,a0,t2##ty=i64
; eq a1,a0,t2##ty=i64
; bne a1,zero,taken(label1),not_taken(label2)
; block1:
; ret
; block2:
; ret
; block1:
; udf##trap_code=user0
function %h() {

View File

@@ -44,16 +44,16 @@
;; uext.w a6,a0
;; ld a7,8(a2)
;; addi a7,a7,-4
;; ule a7,a6,a7##ty=i64
;; bne a7,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a7,0(a2)
;; add a7,a7,a6
;; sw a1,0(a7)
;; j label2
;; ugt a7,a6,a7##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t3,0(a2)
;; add t3,t3,a6
;; sw a1,0(t3)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -61,14 +61,14 @@
;; uext.w a6,a0
;; ld a7,8(a1)
;; addi a7,a7,-4
;; ule a7,a6,a7##ty=i64
;; bne a7,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a7,0(a1)
;; add a7,a7,a6
;; lw a0,0(a7)
;; j label2
;; ugt a7,a6,a7##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t3,0(a1)
;; add t3,t3,a6
;; lw a0,0(t3)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -46,18 +46,18 @@
;; lui t4,1048575
;; addi t4,t4,4092
;; add t2,t1,t4
;; ule t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a2)
;; add t1,t1,t0
;; lui t0,1
;; add t2,t1,t0
;; sw a1,0(t2)
;; j label2
;; ugt t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a2)
;; add t2,t2,t0
;; lui t1,1
;; add a0,t2,t1
;; sw a1,0(a0)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -67,16 +67,16 @@
;; lui t4,1048575
;; addi t4,t4,4092
;; add t2,t1,t4
;; ule t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a1)
;; add t1,t1,t0
;; lui t0,1
;; add t2,t1,t0
;; lw a0,0(t2)
;; j label2
;; ugt t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a1)
;; add t2,t2,t0
;; lui t1,1
;; add a0,t2,t1
;; lw a0,0(a0)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -47,18 +47,18 @@
;; ult t2,t1,t0##ty=i64
;; trap_if t2,heap_oob
;; ld t2,8(a2)
;; ule t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t2,0(a2)
;; add t2,t2,t0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; sw a1,0(a0)
;; j label2
;; ugt t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a0,0(a2)
;; add a0,a0,t0
;; auipc t2,0; ld t2,12(t2); j 12; .8byte 0xffff0000
;; add a2,a0,t2
;; sw a1,0(a2)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -69,16 +69,16 @@
;; ult t2,t1,t0##ty=i64
;; trap_if t2,heap_oob
;; ld t2,8(a1)
;; ule t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t2,0(a1)
;; add t2,t2,t0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; lw a0,0(a0)
;; j label2
;; ugt t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a0,0(a1)
;; add a0,a0,t0
;; auipc t2,0; ld t2,12(t2); j 12; .8byte 0xffff0000
;; add a1,a0,t2
;; lw a0,0(a1)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -43,30 +43,30 @@
;; block0:
;; uext.w a5,a0
;; ld a6,8(a2)
;; ult a6,a5,a6##ty=i64
;; bne a6,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a2)
;; add a6,a6,a5
;; sb a1,0(a6)
;; j label2
;; uge a6,a5,a6##ty=i64
;; bne a6,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a2)
;; add a7,a7,a5
;; sb a1,0(a7)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
;; block0:
;; uext.w a5,a0
;; ld a6,8(a1)
;; ult a6,a5,a6##ty=i64
;; bne a6,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a1)
;; add a6,a6,a5
;; lbu a0,0(a6)
;; j label2
;; uge a6,a5,a6##ty=i64
;; bne a6,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a1)
;; add a7,a7,a5
;; lbu a0,0(a7)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -46,18 +46,18 @@
;; lui t4,1048575
;; addi t4,t4,4095
;; add t2,t1,t4
;; ule t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a2)
;; add t1,t1,t0
;; lui t0,1
;; add t2,t1,t0
;; sb a1,0(t2)
;; j label2
;; ugt t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a2)
;; add t2,t2,t0
;; lui t1,1
;; add a0,t2,t1
;; sb a1,0(a0)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -67,16 +67,16 @@
;; lui t4,1048575
;; addi t4,t4,4095
;; add t2,t1,t4
;; ule t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a1)
;; add t1,t1,t0
;; lui t0,1
;; add t2,t1,t0
;; lbu a0,0(t2)
;; j label2
;; ugt t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a1)
;; add t2,t2,t0
;; lui t1,1
;; add a0,t2,t1
;; lbu a0,0(a0)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -47,18 +47,18 @@
;; ult t2,t1,t0##ty=i64
;; trap_if t2,heap_oob
;; ld t2,8(a2)
;; ule t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t2,0(a2)
;; add t2,t2,t0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; sb a1,0(a0)
;; j label2
;; ugt t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a0,0(a2)
;; add a0,a0,t0
;; auipc t2,0; ld t2,12(t2); j 12; .8byte 0xffff0000
;; add a2,a0,t2
;; sb a1,0(a2)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -69,16 +69,16 @@
;; ult t2,t1,t0##ty=i64
;; trap_if t2,heap_oob
;; ld t2,8(a1)
;; ule t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t2,0(a1)
;; add t2,t2,t0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; lbu a0,0(a0)
;; j label2
;; ugt t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a0,0(a1)
;; add a0,a0,t0
;; auipc t2,0; ld t2,12(t2); j 12; .8byte 0xffff0000
;; add a1,a0,t2
;; lbu a0,0(a1)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -44,16 +44,16 @@
;; uext.w a6,a0
;; ld a7,8(a2)
;; addi a7,a7,-4
;; ule a7,a6,a7##ty=i64
;; bne a7,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a7,0(a2)
;; add a7,a7,a6
;; sw a1,0(a7)
;; j label2
;; ugt a7,a6,a7##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t3,0(a2)
;; add t3,t3,a6
;; sw a1,0(t3)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -61,14 +61,14 @@
;; uext.w a6,a0
;; ld a7,8(a1)
;; addi a7,a7,-4
;; ule a7,a6,a7##ty=i64
;; bne a7,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a7,0(a1)
;; add a7,a7,a6
;; lw a0,0(a7)
;; j label2
;; ugt a7,a6,a7##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t3,0(a1)
;; add t3,t3,a6
;; lw a0,0(t3)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -46,18 +46,18 @@
;; lui t4,1048575
;; addi t4,t4,4092
;; add t2,t1,t4
;; ule t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a2)
;; add t1,t1,t0
;; lui t0,1
;; add t2,t1,t0
;; sw a1,0(t2)
;; j label2
;; ugt t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a2)
;; add t2,t2,t0
;; lui t1,1
;; add a0,t2,t1
;; sw a1,0(a0)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -67,16 +67,16 @@
;; lui t4,1048575
;; addi t4,t4,4092
;; add t2,t1,t4
;; ule t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a1)
;; add t1,t1,t0
;; lui t0,1
;; add t2,t1,t0
;; lw a0,0(t2)
;; j label2
;; ugt t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a1)
;; add t2,t2,t0
;; lui t1,1
;; add a0,t2,t1
;; lw a0,0(a0)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -47,18 +47,18 @@
;; ult t2,t1,t0##ty=i64
;; trap_if t2,heap_oob
;; ld t2,8(a2)
;; ule t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t2,0(a2)
;; add t2,t2,t0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; sw a1,0(a0)
;; j label2
;; ugt t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a0,0(a2)
;; add a0,a0,t0
;; auipc t2,0; ld t2,12(t2); j 12; .8byte 0xffff0000
;; add a2,a0,t2
;; sw a1,0(a2)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -69,16 +69,16 @@
;; ult t2,t1,t0##ty=i64
;; trap_if t2,heap_oob
;; ld t2,8(a1)
;; ule t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t2,0(a1)
;; add t2,t2,t0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; lw a0,0(a0)
;; j label2
;; ugt t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a0,0(a1)
;; add a0,a0,t0
;; auipc t2,0; ld t2,12(t2); j 12; .8byte 0xffff0000
;; add a1,a0,t2
;; lw a0,0(a1)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -43,30 +43,30 @@
;; block0:
;; uext.w a5,a0
;; ld a6,8(a2)
;; ult a6,a5,a6##ty=i64
;; bne a6,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a2)
;; add a6,a6,a5
;; sb a1,0(a6)
;; j label2
;; uge a6,a5,a6##ty=i64
;; bne a6,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a2)
;; add a7,a7,a5
;; sb a1,0(a7)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
;; block0:
;; uext.w a5,a0
;; ld a6,8(a1)
;; ult a6,a5,a6##ty=i64
;; bne a6,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a1)
;; add a6,a6,a5
;; lbu a0,0(a6)
;; j label2
;; uge a6,a5,a6##ty=i64
;; bne a6,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a1)
;; add a7,a7,a5
;; lbu a0,0(a7)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -46,18 +46,18 @@
;; lui t4,1048575
;; addi t4,t4,4095
;; add t2,t1,t4
;; ule t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a2)
;; add t1,t1,t0
;; lui t0,1
;; add t2,t1,t0
;; sb a1,0(t2)
;; j label2
;; ugt t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a2)
;; add t2,t2,t0
;; lui t1,1
;; add a0,t2,t1
;; sb a1,0(a0)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -67,16 +67,16 @@
;; lui t4,1048575
;; addi t4,t4,4095
;; add t2,t1,t4
;; ule t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a1)
;; add t1,t1,t0
;; lui t0,1
;; add t2,t1,t0
;; lbu a0,0(t2)
;; j label2
;; ugt t1,t0,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a1)
;; add t2,t2,t0
;; lui t1,1
;; add a0,t2,t1
;; lbu a0,0(a0)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -47,18 +47,18 @@
;; ult t2,t1,t0##ty=i64
;; trap_if t2,heap_oob
;; ld t2,8(a2)
;; ule t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t2,0(a2)
;; add t2,t2,t0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; sb a1,0(a0)
;; j label2
;; ugt t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a0,0(a2)
;; add a0,a0,t0
;; auipc t2,0; ld t2,12(t2); j 12; .8byte 0xffff0000
;; add a2,a0,t2
;; sb a1,0(a2)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -69,16 +69,16 @@
;; ult t2,t1,t0##ty=i64
;; trap_if t2,heap_oob
;; ld t2,8(a1)
;; ule t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t2,0(a1)
;; add t2,t2,t0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; lbu a0,0(a0)
;; j label2
;; ugt t1,t1,t2##ty=i64
;; bne t1,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a0,0(a1)
;; add a0,a0,t0
;; auipc t2,0; ld t2,12(t2); j 12; .8byte 0xffff0000
;; add a1,a0,t2
;; lbu a0,0(a1)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -43,30 +43,30 @@
;; block0:
;; ld a5,8(a2)
;; addi a5,a5,-4
;; ule a5,a0,a5##ty=i64
;; bne a5,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a2)
;; add a6,a6,a0
;; sw a1,0(a6)
;; j label2
;; ugt a5,a0,a5##ty=i64
;; bne a5,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a2)
;; add a7,a7,a0
;; sw a1,0(a7)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
;; block0:
;; ld a5,8(a1)
;; addi a5,a5,-4
;; ule a5,a0,a5##ty=i64
;; bne a5,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a1)
;; add a6,a6,a0
;; lw a0,0(a6)
;; j label2
;; ugt a5,a0,a5##ty=i64
;; bne a5,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a1)
;; add a7,a7,a0
;; lw a0,0(a7)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -45,18 +45,18 @@
;; lui t3,1048575
;; addi t3,t3,4092
;; add t1,t4,t3
;; ule t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t0,0(a2)
;; add t0,t0,a0
;; lui t4,1
;; add t1,t0,t4
;; sw a1,0(t1)
;; j label2
;; ugt t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t1,0(a2)
;; add t1,t1,a0
;; lui t0,1
;; add t2,t1,t0
;; sw a1,0(t2)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -65,16 +65,16 @@
;; lui t3,1048575
;; addi t3,t3,4092
;; add t1,t4,t3
;; ule t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t0,0(a1)
;; add t0,t0,a0
;; lui t4,1
;; add t1,t0,t4
;; lw a0,0(t1)
;; j label2
;; ugt t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t1,0(a1)
;; add t1,t1,a0
;; lui t0,1
;; add t2,t1,t0
;; lw a0,0(t2)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -46,18 +46,18 @@
;; ult t1,t4,a0##ty=i64
;; trap_if t1,heap_oob
;; ld t0,8(a2)
;; ule t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a2)
;; add t1,t1,a0
;; auipc t0,0; ld t0,12(t0); j 12; .8byte 0xffff0000
;; add t2,t1,t0
;; sw a1,0(t2)
;; j label2
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a2)
;; add t2,t2,a0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; sw a1,0(a0)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -67,16 +67,16 @@
;; ult t1,t4,a0##ty=i64
;; trap_if t1,heap_oob
;; ld t0,8(a1)
;; ule t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a1)
;; add t1,t1,a0
;; auipc t0,0; ld t0,12(t0); j 12; .8byte 0xffff0000
;; add t2,t1,t0
;; lw a0,0(t2)
;; j label2
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a1)
;; add t2,t2,a0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; lw a0,0(a0)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -42,29 +42,29 @@
;; function u0:0:
;; block0:
;; ld a4,8(a2)
;; ult a4,a0,a4##ty=i64
;; bne a4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a5,0(a2)
;; add a5,a5,a0
;; sb a1,0(a5)
;; j label2
;; uge a4,a0,a4##ty=i64
;; bne a4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a6,0(a2)
;; add a6,a6,a0
;; sb a1,0(a6)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
;; block0:
;; ld a4,8(a1)
;; ult a4,a0,a4##ty=i64
;; bne a4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a5,0(a1)
;; add a5,a5,a0
;; lbu a0,0(a5)
;; j label2
;; uge a4,a0,a4##ty=i64
;; bne a4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a6,0(a1)
;; add a6,a6,a0
;; lbu a0,0(a6)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -45,18 +45,18 @@
;; lui t3,1048575
;; addi t3,t3,4095
;; add t1,t4,t3
;; ule t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t0,0(a2)
;; add t0,t0,a0
;; lui t4,1
;; add t1,t0,t4
;; sb a1,0(t1)
;; j label2
;; ugt t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t1,0(a2)
;; add t1,t1,a0
;; lui t0,1
;; add t2,t1,t0
;; sb a1,0(t2)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -65,16 +65,16 @@
;; lui t3,1048575
;; addi t3,t3,4095
;; add t1,t4,t3
;; ule t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t0,0(a1)
;; add t0,t0,a0
;; lui t4,1
;; add t1,t0,t4
;; lbu a0,0(t1)
;; j label2
;; ugt t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t1,0(a1)
;; add t1,t1,a0
;; lui t0,1
;; add t2,t1,t0
;; lbu a0,0(t2)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -46,18 +46,18 @@
;; ult t1,t4,a0##ty=i64
;; trap_if t1,heap_oob
;; ld t0,8(a2)
;; ule t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a2)
;; add t1,t1,a0
;; auipc t0,0; ld t0,12(t0); j 12; .8byte 0xffff0000
;; add t2,t1,t0
;; sb a1,0(t2)
;; j label2
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a2)
;; add t2,t2,a0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; sb a1,0(a0)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -67,16 +67,16 @@
;; ult t1,t4,a0##ty=i64
;; trap_if t1,heap_oob
;; ld t0,8(a1)
;; ule t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a1)
;; add t1,t1,a0
;; auipc t0,0; ld t0,12(t0); j 12; .8byte 0xffff0000
;; add t2,t1,t0
;; lbu a0,0(t2)
;; j label2
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a1)
;; add t2,t2,a0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; lbu a0,0(a0)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -43,30 +43,30 @@
;; block0:
;; ld a5,8(a2)
;; addi a5,a5,-4
;; ule a5,a0,a5##ty=i64
;; bne a5,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a2)
;; add a6,a6,a0
;; sw a1,0(a6)
;; j label2
;; ugt a5,a0,a5##ty=i64
;; bne a5,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a2)
;; add a7,a7,a0
;; sw a1,0(a7)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
;; block0:
;; ld a5,8(a1)
;; addi a5,a5,-4
;; ule a5,a0,a5##ty=i64
;; bne a5,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a1)
;; add a6,a6,a0
;; lw a0,0(a6)
;; j label2
;; ugt a5,a0,a5##ty=i64
;; bne a5,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a1)
;; add a7,a7,a0
;; lw a0,0(a7)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -45,18 +45,18 @@
;; lui t3,1048575
;; addi t3,t3,4092
;; add t1,t4,t3
;; ule t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t0,0(a2)
;; add t0,t0,a0
;; lui t4,1
;; add t1,t0,t4
;; sw a1,0(t1)
;; j label2
;; ugt t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t1,0(a2)
;; add t1,t1,a0
;; lui t0,1
;; add t2,t1,t0
;; sw a1,0(t2)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -65,16 +65,16 @@
;; lui t3,1048575
;; addi t3,t3,4092
;; add t1,t4,t3
;; ule t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t0,0(a1)
;; add t0,t0,a0
;; lui t4,1
;; add t1,t0,t4
;; lw a0,0(t1)
;; j label2
;; ugt t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t1,0(a1)
;; add t1,t1,a0
;; lui t0,1
;; add t2,t1,t0
;; lw a0,0(t2)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -46,18 +46,18 @@
;; ult t1,t4,a0##ty=i64
;; trap_if t1,heap_oob
;; ld t0,8(a2)
;; ule t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a2)
;; add t1,t1,a0
;; auipc t0,0; ld t0,12(t0); j 12; .8byte 0xffff0000
;; add t2,t1,t0
;; sw a1,0(t2)
;; j label2
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a2)
;; add t2,t2,a0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; sw a1,0(a0)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -67,16 +67,16 @@
;; ult t1,t4,a0##ty=i64
;; trap_if t1,heap_oob
;; ld t0,8(a1)
;; ule t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a1)
;; add t1,t1,a0
;; auipc t0,0; ld t0,12(t0); j 12; .8byte 0xffff0000
;; add t2,t1,t0
;; lw a0,0(t2)
;; j label2
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a1)
;; add t2,t2,a0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; lw a0,0(a0)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -42,29 +42,29 @@
;; function u0:0:
;; block0:
;; ld a4,8(a2)
;; ult a4,a0,a4##ty=i64
;; bne a4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a5,0(a2)
;; add a5,a5,a0
;; sb a1,0(a5)
;; j label2
;; uge a4,a0,a4##ty=i64
;; bne a4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a6,0(a2)
;; add a6,a6,a0
;; sb a1,0(a6)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
;; block0:
;; ld a4,8(a1)
;; ult a4,a0,a4##ty=i64
;; bne a4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a5,0(a1)
;; add a5,a5,a0
;; lbu a0,0(a5)
;; j label2
;; uge a4,a0,a4##ty=i64
;; bne a4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a6,0(a1)
;; add a6,a6,a0
;; lbu a0,0(a6)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -45,18 +45,18 @@
;; lui t3,1048575
;; addi t3,t3,4095
;; add t1,t4,t3
;; ule t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t0,0(a2)
;; add t0,t0,a0
;; lui t4,1
;; add t1,t0,t4
;; sb a1,0(t1)
;; j label2
;; ugt t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t1,0(a2)
;; add t1,t1,a0
;; lui t0,1
;; add t2,t1,t0
;; sb a1,0(t2)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -65,16 +65,16 @@
;; lui t3,1048575
;; addi t3,t3,4095
;; add t1,t4,t3
;; ule t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t0,0(a1)
;; add t0,t0,a0
;; lui t4,1
;; add t1,t0,t4
;; lbu a0,0(t1)
;; j label2
;; ugt t4,a0,t1##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t1,0(a1)
;; add t1,t1,a0
;; lui t0,1
;; add t2,t1,t0
;; lbu a0,0(t2)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -46,18 +46,18 @@
;; ult t1,t4,a0##ty=i64
;; trap_if t1,heap_oob
;; ld t0,8(a2)
;; ule t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a2)
;; add t1,t1,a0
;; auipc t0,0; ld t0,12(t0); j 12; .8byte 0xffff0000
;; add t2,t1,t0
;; sb a1,0(t2)
;; j label2
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a2)
;; add t2,t2,a0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; sb a1,0(a0)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -67,16 +67,16 @@
;; ult t1,t4,a0##ty=i64
;; trap_if t1,heap_oob
;; ld t0,8(a1)
;; ule t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t1,0(a1)
;; add t1,t1,a0
;; auipc t0,0; ld t0,12(t0); j 12; .8byte 0xffff0000
;; add t2,t1,t0
;; lbu a0,0(t2)
;; j label2
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t2,0(a1)
;; add t2,t2,a0
;; auipc t1,0; ld t1,12(t1); j 12; .8byte 0xffff0000
;; add a0,t2,t1
;; lbu a0,0(a0)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -42,16 +42,16 @@
;; uext.w a6,a0
;; lui a5,65536
;; addi a5,a5,4092
;; ule t3,a6,a5##ty=i64
;; bne t3,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a7,0(a2)
;; add a7,a7,a6
;; sw a1,0(a7)
;; j label2
;; ugt t3,a6,a5##ty=i64
;; bne t3,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t3,0(a2)
;; add t3,t3,a6
;; sw a1,0(t3)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -59,14 +59,14 @@
;; uext.w a6,a0
;; lui a5,65536
;; addi a5,a5,4092
;; ule t3,a6,a5##ty=i64
;; bne t3,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a7,0(a1)
;; add a7,a7,a6
;; lw a0,0(a7)
;; j label2
;; ugt t3,a6,a5##ty=i64
;; bne t3,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t3,0(a1)
;; add t3,t3,a6
;; lw a0,0(t3)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -42,18 +42,18 @@
;; uext.w t3,a0
;; lui a7,65535
;; addi a7,a7,4092
;; ule t0,t3,a7##ty=i64
;; bne t0,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t4,0(a2)
;; add t4,t4,t3
;; lui t3,1
;; add t0,t4,t3
;; sw a1,0(t0)
;; j label2
;; ugt t0,t3,a7##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t0,0(a2)
;; add t0,t0,t3
;; lui t4,1
;; add t1,t0,t4
;; sw a1,0(t1)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -61,16 +61,16 @@
;; uext.w t3,a0
;; lui a7,65535
;; addi a7,a7,4092
;; ule t0,t3,a7##ty=i64
;; bne t0,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t4,0(a1)
;; add t4,t4,t3
;; lui t3,1
;; add t0,t4,t3
;; lw a0,0(t0)
;; j label2
;; ugt t0,t3,a7##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t0,0(a1)
;; add t0,t0,t3
;; lui t4,1
;; add t1,t0,t4
;; lw a0,0(t1)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -42,16 +42,16 @@
;; uext.w a6,a0
;; lui a5,65536
;; addi a5,a5,4095
;; ule t3,a6,a5##ty=i64
;; bne t3,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a7,0(a2)
;; add a7,a7,a6
;; sb a1,0(a7)
;; j label2
;; ugt t3,a6,a5##ty=i64
;; bne t3,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t3,0(a2)
;; add t3,t3,a6
;; sb a1,0(t3)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -59,14 +59,14 @@
;; uext.w a6,a0
;; lui a5,65536
;; addi a5,a5,4095
;; ule t3,a6,a5##ty=i64
;; bne t3,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a7,0(a1)
;; add a7,a7,a6
;; lbu a0,0(a7)
;; j label2
;; ugt t3,a6,a5##ty=i64
;; bne t3,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t3,0(a1)
;; add t3,t3,a6
;; lbu a0,0(t3)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -42,18 +42,18 @@
;; uext.w t3,a0
;; lui a7,65535
;; addi a7,a7,4095
;; ule t0,t3,a7##ty=i64
;; bne t0,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t4,0(a2)
;; add t4,t4,t3
;; lui t3,1
;; add t0,t4,t3
;; sb a1,0(t0)
;; j label2
;; ugt t0,t3,a7##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t0,0(a2)
;; add t0,t0,t3
;; lui t4,1
;; add t1,t0,t4
;; sb a1,0(t1)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -61,16 +61,16 @@
;; uext.w t3,a0
;; lui a7,65535
;; addi a7,a7,4095
;; ule t0,t3,a7##ty=i64
;; bne t0,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t4,0(a1)
;; add t4,t4,t3
;; lui t3,1
;; add t0,t4,t3
;; lbu a0,0(t0)
;; j label2
;; ugt t0,t3,a7##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t0,0(a1)
;; add t0,t0,t3
;; lui t4,1
;; add t1,t0,t4
;; lbu a0,0(t1)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -41,30 +41,30 @@
;; block0:
;; lui a4,65536
;; addi a4,a4,4092
;; ule a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a2)
;; add a6,a6,a0
;; sw a1,0(a6)
;; j label2
;; ugt a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a2)
;; add a7,a7,a0
;; sw a1,0(a7)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
;; block0:
;; lui a4,65536
;; addi a4,a4,4092
;; ule a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a1)
;; add a6,a6,a0
;; lw a0,0(a6)
;; j label2
;; ugt a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a1)
;; add a7,a7,a0
;; lw a0,0(a7)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -41,34 +41,34 @@
;; block0:
;; lui a6,65535
;; addi a6,a6,4092
;; ule t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t3,0(a2)
;; add t3,t3,a0
;; lui a7,1
;; add t4,t3,a7
;; sw a1,0(t4)
;; j label2
;; ugt t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t4,0(a2)
;; add t4,t4,a0
;; lui t3,1
;; add t0,t4,t3
;; sw a1,0(t0)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
;; block0:
;; lui a6,65535
;; addi a6,a6,4092
;; ule t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t3,0(a1)
;; add t3,t3,a0
;; lui a7,1
;; add t4,t3,a7
;; lw a0,0(t4)
;; j label2
;; ugt t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t4,0(a1)
;; add t4,t4,a0
;; lui t3,1
;; add t0,t4,t3
;; lw a0,0(t0)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -41,30 +41,30 @@
;; block0:
;; lui a4,65536
;; addi a4,a4,4095
;; ule a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a2)
;; add a6,a6,a0
;; sb a1,0(a6)
;; j label2
;; ugt a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a2)
;; add a7,a7,a0
;; sb a1,0(a7)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
;; block0:
;; lui a4,65536
;; addi a4,a4,4095
;; ule a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a1)
;; add a6,a6,a0
;; lbu a0,0(a6)
;; j label2
;; ugt a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a1)
;; add a7,a7,a0
;; lbu a0,0(a7)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -41,34 +41,34 @@
;; block0:
;; lui a6,65535
;; addi a6,a6,4095
;; ule t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t3,0(a2)
;; add t3,t3,a0
;; lui a7,1
;; add t4,t3,a7
;; sb a1,0(t4)
;; j label2
;; ugt t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t4,0(a2)
;; add t4,t4,a0
;; lui t3,1
;; add t0,t4,t3
;; sb a1,0(t0)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
;; block0:
;; lui a6,65535
;; addi a6,a6,4095
;; ule t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t3,0(a1)
;; add t3,t3,a0
;; lui a7,1
;; add t4,t3,a7
;; lbu a0,0(t4)
;; j label2
;; ugt t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t4,0(a1)
;; add t4,t4,a0
;; lui t3,1
;; add t0,t4,t3
;; lbu a0,0(t0)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -41,30 +41,30 @@
;; block0:
;; lui a4,65536
;; addi a4,a4,4092
;; ule a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a2)
;; add a6,a6,a0
;; sw a1,0(a6)
;; j label2
;; ugt a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a2)
;; add a7,a7,a0
;; sw a1,0(a7)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
;; block0:
;; lui a4,65536
;; addi a4,a4,4092
;; ule a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a1)
;; add a6,a6,a0
;; lw a0,0(a6)
;; j label2
;; ugt a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a1)
;; add a7,a7,a0
;; lw a0,0(a7)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -41,34 +41,34 @@
;; block0:
;; lui a6,65535
;; addi a6,a6,4092
;; ule t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t3,0(a2)
;; add t3,t3,a0
;; lui a7,1
;; add t4,t3,a7
;; sw a1,0(t4)
;; j label2
;; ugt t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t4,0(a2)
;; add t4,t4,a0
;; lui t3,1
;; add t0,t4,t3
;; sw a1,0(t0)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
;; block0:
;; lui a6,65535
;; addi a6,a6,4092
;; ule t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t3,0(a1)
;; add t3,t3,a0
;; lui a7,1
;; add t4,t3,a7
;; lw a0,0(t4)
;; j label2
;; ugt t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t4,0(a1)
;; add t4,t4,a0
;; lui t3,1
;; add t0,t4,t3
;; lw a0,0(t0)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -41,30 +41,30 @@
;; block0:
;; lui a4,65536
;; addi a4,a4,4095
;; ule a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a2)
;; add a6,a6,a0
;; sb a1,0(a6)
;; j label2
;; ugt a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a2)
;; add a7,a7,a0
;; sb a1,0(a7)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
;; block0:
;; lui a4,65536
;; addi a4,a4,4095
;; ule a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label3)
;; block1:
;; ld a6,0(a1)
;; add a6,a6,a0
;; lbu a0,0(a6)
;; j label2
;; ugt a7,a0,a4##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld a7,0(a1)
;; add a7,a7,a0
;; lbu a0,0(a7)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -41,34 +41,34 @@
;; block0:
;; lui a6,65535
;; addi a6,a6,4095
;; ule t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t3,0(a2)
;; add t3,t3,a0
;; lui a7,1
;; add t4,t3,a7
;; sb a1,0(t4)
;; j label2
;; ugt t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t4,0(a2)
;; add t4,t4,a0
;; lui t3,1
;; add t0,t4,t3
;; sb a1,0(t0)
;; j label3
;; block3:
;; ret
;; block1:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
;; block0:
;; lui a6,65535
;; addi a6,a6,4095
;; ule t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label3)
;; block1:
;; ld t3,0(a1)
;; add t3,t3,a0
;; lui a7,1
;; add t4,t3,a7
;; lbu a0,0(t4)
;; j label2
;; ugt t4,a0,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ret
;; ld t4,0(a1)
;; add t4,t4,a0
;; lui t3,1
;; add t0,t4,t3
;; lbu a0,0(t0)
;; j label3
;; block3:
;; udf##trap_code=heap_oob
;; ret
;; block1:
;; udf##trap_code=heap_oob

View File

@@ -16,8 +16,7 @@ block0(v0: i64, v1: i64):
function %f(i64, i64) -> i64 {
block0(v0: i64, v1: i64):
v2 = icmp eq v0, v1
brnz v2, block1
jump block2
brif v2, block1, block2
block1:
v4 = iconst.i64 1
@@ -41,8 +40,7 @@ block2:
function %f(i64, i64) -> i64 {
block0(v0: i64, v1: i64):
v2 = icmp eq v0, v1
brnz v2, block1
jump block1
brif v2, block1, block1
block1:
v4 = iconst.i64 1

View File

@@ -51,8 +51,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)
@@ -78,18 +77,18 @@ block3(v7: r64, v8: r64):
; stg %r4, 0(%r5)
; lbr %r2, %r2
; chi %r2, 0
; jgnlh label1 ; jg label3
; jglh label1 ; jg label3
; block1:
; jg label2
; block2:
; lgr %r3, %r4
; lg %r2, 176(%r15)
; lgr %r2, %r4
; lg %r3, 176(%r15)
; jg label5
; block3:
; jg label4
; block4:
; lgr %r2, %r4
; lg %r3, 176(%r15)
; lgr %r3, %r4
; lg %r2, 176(%r15)
; jg label5
; block5:
; la %r4, 160(%r15)

View File

@@ -47,10 +47,10 @@ block0(v0: i64):
; block0:
; clgfi %r2, 42
; jgne label1 ; jg label2
; block1:
; br %r14
; jge label1 ; jg label2
; block2:
; br %r14
; block1:
; trap
function %resumable_trapnz(i64) {
@@ -63,10 +63,10 @@ block0(v0: i64):
; block0:
; clgfi %r2, 42
; jgne label1 ; jg label2
; block1:
; br %r14
; jge label1 ; jg label2
; block2:
; br %r14
; block1:
; trap
function %h() {

View File

@@ -47,14 +47,14 @@
;; lghi %r2, -4
;; ag %r2, 8(%r4)
;; clgr %r5, %r2
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; lg %r4, 0(%r4)
;; strv %r3, 0(%r5,%r4)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; br %r14
;; block1:
;; trap
;;
;; function u0:1:
@@ -65,12 +65,12 @@
;; lghi %r2, -4
;; ag %r2, 8(%r3)
;; clgr %r5, %r2
;; jgnh label1 ; jg label3
;; block1:
;; lg %r3, 0(%r3)
;; lrv %r2, 0(%r5,%r3)
;; jg label2
;; jgh label1 ; jg label2
;; block2:
;; br %r14
;; lg %r4, 0(%r3)
;; lrv %r2, 0(%r5,%r4)
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -48,15 +48,15 @@
;; lghi %r2, -4100
;; ag %r2, 8(%r5)
;; clgr %r4, %r2
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; ag %r4, 0(%r5)
;; lghi %r5, 4096
;; strv %r3, 0(%r5,%r4)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; br %r14
;; block1:
;; trap
;;
;; function u0:1:
@@ -69,13 +69,13 @@
;; lgr %r5, %r4
;; ag %r2, 8(%r5)
;; clgr %r3, %r2
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; ag %r3, 0(%r5)
;; lghi %r4, 4096
;; lrv %r2, 0(%r4,%r3)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -62,16 +62,16 @@
;; lgr %r5, %r7
;; lg %r7, 8(%r5)
;; clgr %r2, %r7
;; jgnh label1 ; jg label3
;; block1:
;; ag %r4, 0(%r5)
;; llilh %r2, 65535
;; strv %r3, 0(%r2,%r4)
;; jg label2
;; jgh label1 ; jg label2
;; block2:
;; ag %r4, 0(%r5)
;; llilh %r5, 65535
;; strv %r3, 0(%r5,%r4)
;; jg label3
;; block3:
;; lmg %r7, %r15, 56(%r15)
;; br %r14
;; block3:
;; block1:
;; trap
;;
;; function u0:1:
@@ -85,13 +85,13 @@
;; jle 6 ; trap
;; lg %r2, 8(%r4)
;; clgr %r5, %r2
;; jgnh label1 ; jg label3
;; block1:
;; ag %r3, 0(%r4)
;; llilh %r5, 65535
;; lrv %r2, 0(%r5,%r3)
;; jg label2
;; jgh label1 ; jg label2
;; block2:
;; br %r14
;; ag %r3, 0(%r4)
;; llilh %r2, 65535
;; lrv %r2, 0(%r2,%r3)
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -48,14 +48,14 @@
;; lgr %r2, %r5
;; lg %r5, 8(%r2)
;; clgr %r4, %r5
;; jgnhe label1 ; jg label3
;; block1:
;; lg %r2, 0(%r2)
;; stc %r3, 0(%r4,%r2)
;; jg label2
;; jghe label1 ; jg label2
;; block2:
;; br %r14
;; lg %r5, 0(%r2)
;; stc %r3, 0(%r4,%r5)
;; jg label3
;; block3:
;; br %r14
;; block1:
;; trap
;;
;; function u0:1:
@@ -65,12 +65,12 @@
;; llgfr %r4, %r2
;; lg %r5, 8(%r3)
;; clgr %r4, %r5
;; jgnhe label1 ; jg label3
;; block1:
;; lg %r2, 0(%r3)
;; llc %r2, 0(%r4,%r2)
;; jg label2
;; jghe label1 ; jg label2
;; block2:
;; br %r14
;; lg %r3, 0(%r3)
;; llc %r2, 0(%r4,%r3)
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -48,15 +48,15 @@
;; lghi %r2, -4097
;; ag %r2, 8(%r5)
;; clgr %r4, %r2
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; ag %r4, 0(%r5)
;; lghi %r5, 4096
;; stc %r3, 0(%r5,%r4)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; br %r14
;; block1:
;; trap
;;
;; function u0:1:
@@ -69,13 +69,13 @@
;; lgr %r5, %r4
;; ag %r2, 8(%r5)
;; clgr %r3, %r2
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; ag %r3, 0(%r5)
;; lghi %r4, 4096
;; llc %r2, 0(%r4,%r3)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -62,16 +62,16 @@
;; lgr %r5, %r7
;; lg %r7, 8(%r5)
;; clgr %r2, %r7
;; jgnh label1 ; jg label3
;; block1:
;; ag %r4, 0(%r5)
;; llilh %r2, 65535
;; stc %r3, 0(%r2,%r4)
;; jg label2
;; jgh label1 ; jg label2
;; block2:
;; ag %r4, 0(%r5)
;; llilh %r5, 65535
;; stc %r3, 0(%r5,%r4)
;; jg label3
;; block3:
;; lmg %r7, %r15, 56(%r15)
;; br %r14
;; block3:
;; block1:
;; trap
;;
;; function u0:1:
@@ -85,13 +85,13 @@
;; jle 6 ; trap
;; lg %r2, 8(%r4)
;; clgr %r5, %r2
;; jgnh label1 ; jg label3
;; block1:
;; ag %r3, 0(%r4)
;; llilh %r5, 65535
;; llc %r2, 0(%r5,%r3)
;; jg label2
;; jgh label1 ; jg label2
;; block2:
;; br %r14
;; ag %r3, 0(%r4)
;; llilh %r2, 65535
;; llc %r2, 0(%r2,%r3)
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -47,14 +47,14 @@
;; lghi %r2, -4
;; ag %r2, 8(%r4)
;; clgr %r5, %r2
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; lg %r4, 0(%r4)
;; strv %r3, 0(%r5,%r4)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; br %r14
;; block1:
;; trap
;;
;; function u0:1:
@@ -65,12 +65,12 @@
;; lghi %r2, -4
;; ag %r2, 8(%r3)
;; clgr %r5, %r2
;; jgnh label1 ; jg label3
;; block1:
;; lg %r3, 0(%r3)
;; lrv %r2, 0(%r5,%r3)
;; jg label2
;; jgh label1 ; jg label2
;; block2:
;; br %r14
;; lg %r4, 0(%r3)
;; lrv %r2, 0(%r5,%r4)
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -48,15 +48,15 @@
;; lghi %r2, -4100
;; ag %r2, 8(%r5)
;; clgr %r4, %r2
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; ag %r4, 0(%r5)
;; lghi %r5, 4096
;; strv %r3, 0(%r5,%r4)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; br %r14
;; block1:
;; trap
;;
;; function u0:1:
@@ -69,13 +69,13 @@
;; lgr %r5, %r4
;; ag %r2, 8(%r5)
;; clgr %r3, %r2
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; ag %r3, 0(%r5)
;; lghi %r4, 4096
;; lrv %r2, 0(%r4,%r3)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -62,16 +62,16 @@
;; lgr %r5, %r7
;; lg %r7, 8(%r5)
;; clgr %r2, %r7
;; jgnh label1 ; jg label3
;; block1:
;; ag %r4, 0(%r5)
;; llilh %r2, 65535
;; strv %r3, 0(%r2,%r4)
;; jg label2
;; jgh label1 ; jg label2
;; block2:
;; ag %r4, 0(%r5)
;; llilh %r5, 65535
;; strv %r3, 0(%r5,%r4)
;; jg label3
;; block3:
;; lmg %r7, %r15, 56(%r15)
;; br %r14
;; block3:
;; block1:
;; trap
;;
;; function u0:1:
@@ -85,13 +85,13 @@
;; jle 6 ; trap
;; lg %r2, 8(%r4)
;; clgr %r5, %r2
;; jgnh label1 ; jg label3
;; block1:
;; ag %r3, 0(%r4)
;; llilh %r5, 65535
;; lrv %r2, 0(%r5,%r3)
;; jg label2
;; jgh label1 ; jg label2
;; block2:
;; br %r14
;; ag %r3, 0(%r4)
;; llilh %r2, 65535
;; lrv %r2, 0(%r2,%r3)
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -48,14 +48,14 @@
;; lgr %r2, %r5
;; lg %r5, 8(%r2)
;; clgr %r4, %r5
;; jgnhe label1 ; jg label3
;; block1:
;; lg %r2, 0(%r2)
;; stc %r3, 0(%r4,%r2)
;; jg label2
;; jghe label1 ; jg label2
;; block2:
;; br %r14
;; lg %r5, 0(%r2)
;; stc %r3, 0(%r4,%r5)
;; jg label3
;; block3:
;; br %r14
;; block1:
;; trap
;;
;; function u0:1:
@@ -65,12 +65,12 @@
;; llgfr %r4, %r2
;; lg %r5, 8(%r3)
;; clgr %r4, %r5
;; jgnhe label1 ; jg label3
;; block1:
;; lg %r2, 0(%r3)
;; llc %r2, 0(%r4,%r2)
;; jg label2
;; jghe label1 ; jg label2
;; block2:
;; br %r14
;; lg %r3, 0(%r3)
;; llc %r2, 0(%r4,%r3)
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -48,15 +48,15 @@
;; lghi %r2, -4097
;; ag %r2, 8(%r5)
;; clgr %r4, %r2
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; ag %r4, 0(%r5)
;; lghi %r5, 4096
;; stc %r3, 0(%r5,%r4)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; br %r14
;; block1:
;; trap
;;
;; function u0:1:
@@ -69,13 +69,13 @@
;; lgr %r5, %r4
;; ag %r2, 8(%r5)
;; clgr %r3, %r2
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; ag %r3, 0(%r5)
;; lghi %r4, 4096
;; llc %r2, 0(%r4,%r3)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -62,16 +62,16 @@
;; lgr %r5, %r7
;; lg %r7, 8(%r5)
;; clgr %r2, %r7
;; jgnh label1 ; jg label3
;; block1:
;; ag %r4, 0(%r5)
;; llilh %r2, 65535
;; stc %r3, 0(%r2,%r4)
;; jg label2
;; jgh label1 ; jg label2
;; block2:
;; ag %r4, 0(%r5)
;; llilh %r5, 65535
;; stc %r3, 0(%r5,%r4)
;; jg label3
;; block3:
;; lmg %r7, %r15, 56(%r15)
;; br %r14
;; block3:
;; block1:
;; trap
;;
;; function u0:1:
@@ -85,13 +85,13 @@
;; jle 6 ; trap
;; lg %r2, 8(%r4)
;; clgr %r5, %r2
;; jgnh label1 ; jg label3
;; block1:
;; ag %r3, 0(%r4)
;; llilh %r5, 65535
;; llc %r2, 0(%r5,%r3)
;; jg label2
;; jgh label1 ; jg label2
;; block2:
;; br %r14
;; ag %r3, 0(%r4)
;; llilh %r2, 65535
;; llc %r2, 0(%r2,%r3)
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -46,14 +46,14 @@
;; lghi %r5, -4
;; ag %r5, 8(%r4)
;; clgr %r2, %r5
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; lg %r4, 0(%r4)
;; strv %r3, 0(%r2,%r4)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; br %r14
;; block1:
;; trap
;;
;; function u0:1:
@@ -63,12 +63,12 @@
;; lghi %r4, -4
;; ag %r4, 8(%r3)
;; clgr %r2, %r4
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; lg %r3, 0(%r3)
;; lrv %r2, 0(%r2,%r3)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -46,16 +46,16 @@
;; lghi %r5, -4100
;; ag %r5, 8(%r4)
;; clgr %r2, %r5
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; lgr %r5, %r2
;; ag %r5, 0(%r4)
;; lghi %r4, 4096
;; strv %r3, 0(%r4,%r5)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; br %r14
;; block1:
;; trap
;;
;; function u0:1:
@@ -65,14 +65,14 @@
;; lghi %r5, -4100
;; ag %r5, 8(%r3)
;; clgr %r2, %r5
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; lgr %r4, %r2
;; ag %r4, 0(%r3)
;; lghi %r2, 4096
;; lrv %r2, 0(%r2,%r4)
;; jg label2
;; block2:
;; br %r14
;; lghi %r3, 4096
;; lrv %r2, 0(%r3,%r4)
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -51,17 +51,17 @@
;; jle 6 ; trap
;; lg %r14, 8(%r4)
;; clgr %r5, %r14
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; lgr %r5, %r2
;; ag %r5, 0(%r4)
;; llilh %r4, 65535
;; strv %r3, 0(%r4,%r5)
;; jg label2
;; block2:
;; llilh %r2, 65535
;; strv %r3, 0(%r2,%r5)
;; jg label3
;; block3:
;; lmg %r14, %r15, 112(%r15)
;; br %r14
;; block3:
;; block1:
;; trap
;;
;; function u0:1:
@@ -73,14 +73,14 @@
;; jle 6 ; trap
;; lg %r4, 8(%r3)
;; clgr %r5, %r4
;; jgnh label1 ; jg label3
;; block1:
;; lgr %r4, %r2
;; ag %r4, 0(%r3)
;; llilh %r3, 65535
;; lrv %r2, 0(%r3,%r4)
;; jg label2
;; jgh label1 ; jg label2
;; block2:
;; br %r14
;; lgr %r5, %r2
;; ag %r5, 0(%r3)
;; llilh %r4, 65535
;; lrv %r2, 0(%r4,%r5)
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -45,14 +45,14 @@
;; block0:
;; lg %r5, 8(%r4)
;; clgr %r2, %r5
;; jgnhe label1 ; jg label3
;; block1:
;; lg %r5, 0(%r4)
;; stc %r3, 0(%r2,%r5)
;; jg label2
;; jghe label1 ; jg label2
;; block2:
;; br %r14
;; lg %r4, 0(%r4)
;; stc %r3, 0(%r2,%r4)
;; jg label3
;; block3:
;; br %r14
;; block1:
;; trap
;;
;; function u0:1:
@@ -61,12 +61,12 @@
;; block0:
;; lg %r4, 8(%r3)
;; clgr %r2, %r4
;; jgnhe label1 ; jg label3
;; block1:
;; lg %r5, 0(%r3)
;; llc %r2, 0(%r2,%r5)
;; jg label2
;; jghe label1 ; jg label2
;; block2:
;; br %r14
;; lg %r3, 0(%r3)
;; llc %r2, 0(%r2,%r3)
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -46,16 +46,16 @@
;; lghi %r5, -4097
;; ag %r5, 8(%r4)
;; clgr %r2, %r5
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; lgr %r5, %r2
;; ag %r5, 0(%r4)
;; lghi %r4, 4096
;; stc %r3, 0(%r4,%r5)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; br %r14
;; block1:
;; trap
;;
;; function u0:1:
@@ -65,14 +65,14 @@
;; lghi %r5, -4097
;; ag %r5, 8(%r3)
;; clgr %r2, %r5
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; lgr %r4, %r2
;; ag %r4, 0(%r3)
;; lghi %r2, 4096
;; llc %r2, 0(%r2,%r4)
;; jg label2
;; block2:
;; br %r14
;; lghi %r3, 4096
;; llc %r2, 0(%r3,%r4)
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -51,17 +51,17 @@
;; jle 6 ; trap
;; lg %r14, 8(%r4)
;; clgr %r5, %r14
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; lgr %r5, %r2
;; ag %r5, 0(%r4)
;; llilh %r4, 65535
;; stc %r3, 0(%r4,%r5)
;; jg label2
;; block2:
;; llilh %r2, 65535
;; stc %r3, 0(%r2,%r5)
;; jg label3
;; block3:
;; lmg %r14, %r15, 112(%r15)
;; br %r14
;; block3:
;; block1:
;; trap
;;
;; function u0:1:
@@ -73,14 +73,14 @@
;; jle 6 ; trap
;; lg %r4, 8(%r3)
;; clgr %r5, %r4
;; jgnh label1 ; jg label3
;; block1:
;; lgr %r4, %r2
;; ag %r4, 0(%r3)
;; llilh %r3, 65535
;; llc %r2, 0(%r3,%r4)
;; jg label2
;; jgh label1 ; jg label2
;; block2:
;; br %r14
;; lgr %r5, %r2
;; ag %r5, 0(%r3)
;; llilh %r4, 65535
;; llc %r2, 0(%r4,%r5)
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

View File

@@ -46,14 +46,14 @@
;; lghi %r5, -4
;; ag %r5, 8(%r4)
;; clgr %r2, %r5
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; lg %r4, 0(%r4)
;; strv %r3, 0(%r2,%r4)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; br %r14
;; block1:
;; trap
;;
;; function u0:1:
@@ -63,12 +63,12 @@
;; lghi %r4, -4
;; ag %r4, 8(%r3)
;; clgr %r2, %r4
;; jgnh label1 ; jg label3
;; block1:
;; jgh label1 ; jg label2
;; block2:
;; lg %r3, 0(%r3)
;; lrv %r2, 0(%r2,%r3)
;; jg label2
;; block2:
;; br %r14
;; jg label3
;; block3:
;; trap
;; br %r14
;; block1:
;; trap

Some files were not shown because too many files have changed in this diff Show More