Reuse the DominatorTree postorder travesal in BlockLoweringOrder (#5843)

* Rework the blockorder module to reuse the dom tree's cfg postorder

* Update domtree tests

* Treat br_table with an empty jump table as multiple block exits

* Bless tests

* Change branch_idx to succ_idx and fix the comment
This commit is contained in:
Trevor Elliott
2023-02-23 14:05:20 -08:00
committed by GitHub
parent 4314210162
commit 8abfe928d6
175 changed files with 2936 additions and 3186 deletions

View File

@@ -32,31 +32,23 @@ block5(v5: i32):
; block0:
; emit_island 44
; subs wzr, w0, #3
; b.hs label1 ; csel x15, xzr, x0, hs ; csdb ; adr x14, pc+16 ; ldrsw x15, [x14, x15, uxtw #2] ; add x14, x14, x15 ; br x14 ; jt_entries [Label(MachLabel(3)), Label(MachLabel(5)), Label(MachLabel(7))]
; b.hs label4 ; csel x11, xzr, x0, hs ; csdb ; adr x10, pc+16 ; ldrsw x11, [x10, x11, uxtw #2] ; add x10, x10, x11 ; br x10 ; jt_entries [Label(MachLabel(3)), Label(MachLabel(2)), Label(MachLabel(1))]
; block1:
; movz w5, #4
; b label2
; bti j
; movz w5, #3
; b label5
; block2:
; b label9
; bti j
; movz w5, #2
; b label5
; block3:
; bti j
; movz w5, #1
; b label4
; b label5
; block4:
; b label9
; movz w5, #4
; b label5
; block5:
; bti j
; movz w5, #2
; b label6
; block6:
; b label9
; block7:
; bti j
; movz w5, #3
; b label8
; block8:
; b label9
; block9:
; add w0, w0, w5
; ret
;
@@ -65,34 +57,31 @@ block5(v5: i32):
; hint #0x22
; block1: ; offset 0x4
; cmp w0, #3
; b.hs #0x30
; csel x15, xzr, x0, hs
; b.hs #0x54
; csel x11, xzr, x0, hs
; csdb
; adr x14, #0x24
; ldrsw x15, [x14, w15, uxtw #2]
; add x14, x14, x15
; br x14
; .byte 0x14, 0x00, 0x00, 0x00
; .byte 0x20, 0x00, 0x00, 0x00
; .byte 0x2c, 0x00, 0x00, 0x00
; adr x10, #0x24
; ldrsw x11, [x10, w11, uxtw #2]
; add x10, x10, x11
; br x10
; .byte 0x24, 0x00, 0x00, 0x00
; .byte 0x18, 0x00, 0x00, 0x00
; .byte 0x0c, 0x00, 0x00, 0x00
; block2: ; offset 0x30
; mov w5, #4
; block3: ; offset 0x34
; b #0x58
; block4: ; offset 0x38
; hint #0x24
; mov w5, #1
; block5: ; offset 0x40
; b #0x58
; block6: ; offset 0x44
; hint #0x24
; mov w5, #2
; block7: ; offset 0x4c
; b #0x58
; block8: ; offset 0x50
; hint #0x24
; mov w5, #3
; block9: ; offset 0x58
; b #0x58
; block3: ; offset 0x3c
; hint #0x24
; mov w5, #2
; b #0x58
; block4: ; offset 0x48
; hint #0x24
; mov w5, #1
; b #0x58
; block5: ; offset 0x54
; mov w5, #4
; block6: ; offset 0x58
; add w0, w0, w5
; ret
@@ -118,15 +107,15 @@ block2:
; mov x8, x5
; emit_island 36
; subs wzr, w0, #1
; b.hs label1 ; csel x7, xzr, x0, hs ; csdb ; adr x6, pc+16 ; ldrsw x7, [x6, x7, uxtw #2] ; add x6, x6, x7 ; br x6 ; jt_entries [Label(MachLabel(2))]
; b.hs label2 ; csel x7, xzr, x0, hs ; csdb ; adr x6, pc+16 ; ldrsw x7, [x6, x7, uxtw #2] ; add x6, x6, x7 ; br x6 ; jt_entries [Label(MachLabel(1))]
; block1:
; mov x0, x8
; ret
; block2:
; bti j
; mov x0, x8
; add x0, x0, #42
; ret
; block2:
; mov x0, x8
; ret
;
; Disassembled:
; block0: ; offset 0x0
@@ -135,22 +124,22 @@ block2:
; ldr x5, [x0]
; mov x8, x5
; cmp w0, #1
; b.hs #0x30
; b.hs #0x40
; csel x7, xzr, x0, hs
; csdb
; adr x6, #0x2c
; ldrsw x7, [x6, w7, uxtw #2]
; add x6, x6, x7
; br x6
; .byte 0x0c, 0x00, 0x00, 0x00
; .byte 0x04, 0x00, 0x00, 0x00
; block2: ; offset 0x30
; mov x0, x8
; ret
; block3: ; offset 0x38
; hint #0x24
; mov x0, x8
; add x0, x0, #0x2a
; ret
; block3: ; offset 0x40
; mov x0, x8
; ret
function %f3(i64) -> i64 {
fn0 = %g(i64) -> i64

View File

@@ -270,23 +270,23 @@ block2:
; VCode:
; block0:
; subs xzr, x0, x1
; b.eq label1 ; b label2
; b.eq label2 ; b label1
; block1:
; movz x0, #1
; movz x0, #2
; ret
; block2:
; movz x0, #2
; movz x0, #1
; ret
;
; Disassembled:
; block0: ; offset 0x0
; cmp x0, x1
; b.ne #0x10
; b.eq #0x10
; block1: ; offset 0x8
; mov x0, #1
; mov x0, #2
; ret
; block2: ; offset 0x10
; mov x0, #2
; mov x0, #1
; ret
function %f(i64, i64) -> i64 {

View File

@@ -31,59 +31,48 @@ block5(v5: i32):
; block0:
; emit_island 44
; subs wzr, w0, #3
; b.hs label1 ; csel x15, xzr, x0, hs ; csdb ; adr x14, pc+16 ; ldrsw x15, [x14, x15, uxtw #2] ; add x14, x14, x15 ; br x14 ; jt_entries [Label(MachLabel(3)), Label(MachLabel(5)), Label(MachLabel(7))]
; b.hs label4 ; csel x11, xzr, x0, hs ; csdb ; adr x10, pc+16 ; ldrsw x11, [x10, x11, uxtw #2] ; add x10, x10, x11 ; br x10 ; jt_entries [Label(MachLabel(3)), Label(MachLabel(2)), Label(MachLabel(1))]
; block1:
; movz w5, #4
; b label2
; movz w5, #3
; b label5
; block2:
; b label9
; movz w5, #2
; b label5
; block3:
; movz w5, #1
; b label4
; b label5
; block4:
; b label9
; movz w5, #4
; b label5
; block5:
; movz w5, #2
; b label6
; block6:
; b label9
; block7:
; movz w5, #3
; b label8
; block8:
; b label9
; block9:
; add w0, w0, w5
; ret
;
; Disassembled:
; block0: ; offset 0x0
; cmp w0, #3
; b.hs #0x2c
; csel x15, xzr, x0, hs
; b.hs #0x44
; csel x11, xzr, x0, hs
; csdb
; adr x14, #0x20
; ldrsw x15, [x14, w15, uxtw #2]
; add x14, x14, x15
; br x14
; .byte 0x14, 0x00, 0x00, 0x00
; adr x10, #0x20
; ldrsw x11, [x10, w11, uxtw #2]
; add x10, x10, x11
; br x10
; .byte 0x1c, 0x00, 0x00, 0x00
; .byte 0x24, 0x00, 0x00, 0x00
; .byte 0x14, 0x00, 0x00, 0x00
; .byte 0x0c, 0x00, 0x00, 0x00
; block1: ; offset 0x2c
; mov w5, #4
; block2: ; offset 0x30
; b #0x48
; block3: ; offset 0x34
; mov w5, #1
; block4: ; offset 0x38
; b #0x48
; block5: ; offset 0x3c
; mov w5, #2
; block6: ; offset 0x40
; b #0x48
; block7: ; offset 0x44
; mov w5, #3
; block8: ; offset 0x48
; b #0x48
; block2: ; offset 0x34
; mov w5, #2
; b #0x48
; block3: ; offset 0x3c
; mov w5, #1
; b #0x48
; block4: ; offset 0x44
; mov w5, #4
; block5: ; offset 0x48
; add w0, w0, w5
; ret

View File

@@ -94,28 +94,24 @@ block3(v7: r64, v8: r64):
; block0:
; str x0, [sp, #8]
; str x1, [sp, #16]
; load_ext_name x1, TestCase(%f)+0
; blr x1
; mov x15, sp
; ldr x6, [sp, #8]
; str x6, [x15]
; uxtb w0, w0
; cbnz x0, label1 ; b label3
; load_ext_name x12, TestCase(%f)+0
; blr x12
; mov x11, sp
; ldr x2, [sp, #8]
; str x2, [x11]
; uxtb w12, w0
; cbnz x12, label2 ; b label1
; block1:
; b label2
; block2:
; mov x0, x6
; ldr x1, [sp, #16]
; b label5
; block3:
; b label4
; block4:
; mov x1, x6
; mov x1, x2
; ldr x0, [sp, #16]
; b label5
; block5:
; mov x2, sp
; ldr x2, [x2]
; b label3
; block2:
; mov x0, x2
; ldr x1, [sp, #16]
; b label3
; block3:
; mov x15, sp
; ldr x2, [x15]
; add sp, sp, #32
; ldp fp, lr, [sp], #16
; ret
@@ -128,26 +124,26 @@ block3(v7: r64, v8: r64):
; block1: ; offset 0xc
; stur x0, [sp, #8]
; stur x1, [sp, #0x10]
; ldr x1, #0x1c
; ldr x12, #0x1c
; b #0x24
; .byte 0x00, 0x00, 0x00, 0x00 ; reloc_external Abs8 %f 0
; .byte 0x00, 0x00, 0x00, 0x00
; blr x1
; mov x15, sp
; ldur x6, [sp, #8]
; str x6, [x15]
; uxtb w0, w0
; cbz x0, #0x48
; blr x12
; mov x11, sp
; ldur x2, [sp, #8]
; str x2, [x11]
; uxtb w12, w0
; cbnz x12, #0x48
; block2: ; offset 0x3c
; mov x0, x6
; ldur x1, [sp, #0x10]
; mov x1, x2
; ldur x0, [sp, #0x10]
; b #0x50
; block3: ; offset 0x48
; mov x1, x6
; ldur x0, [sp, #0x10]
; mov x0, x2
; ldur x1, [sp, #0x10]
; block4: ; offset 0x50
; mov x2, sp
; ldr x2, [x2]
; mov x15, sp
; ldr x2, [x15]
; add sp, sp, #0x20
; ldp x29, x30, [sp], #0x10
; ret

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -29,67 +29,61 @@ block5(v5: i32):
; VCode:
; block0:
; br_table a0,[MachLabel(1),MachLabel(3),MachLabel(5),MachLabel(6),MachLabel(8)]##tmp1=t3,tmp2=t4
; br_table a0,[MachLabel(6),MachLabel(5),MachLabel(1),MachLabel(2),MachLabel(3)]##tmp1=a5,tmp2=a6
; block1:
; li a1,4
; j label2
; block2:
; j label10
; block3:
; li a1,1
; j label4
; block2:
; j label4
; block3:
; li a2,3
; j label7
; block4:
; j label10
; li a2,2
; j label7
; block5:
; li a2,1
; j label7
; block6:
; li a2,4
; j label7
; block7:
; li a1,2
; j label10
; block8:
; li a1,3
; j label9
; block9:
; j label10
; block10:
; addw a0,a0,a1
; addw a0,a0,a2
; ret
;
; Disassembled:
; block0: ; offset 0x0
; slli t6, a0, 0x20
; srli t6, t6, 0x20
; addi t4, zero, 4
; bltu t6, t4, 0xc
; auipc t4, 0
; jalr zero, t4, 0x38
; auipc t3, 0
; slli t4, t6, 3
; add t3, t3, t4
; jalr zero, t3, 0x10
; auipc t4, 0
; jalr zero, t4, 0x28
; auipc t4, 0
; jalr zero, t4, 0x28
; auipc t4, 0
; jalr zero, t4, 0x20
; auipc t4, 0
; jalr zero, t4, 0x20
; addi a6, zero, 4
; bltu t6, a6, 0xc
; auipc a6, 0
; jalr zero, a6, 0x54
; auipc a5, 0
; slli a6, t6, 3
; add a5, a5, a6
; jalr zero, a5, 0x10
; auipc a6, 0
; jalr zero, a6, 0x34
; auipc a6, 0
; jalr zero, a6, 0x24
; auipc a6, 0
; jalr zero, a6, 0x1c
; auipc a6, 0
; jalr zero, a6, 0xc
; block1: ; offset 0x48
; addi a1, zero, 4
; j 0xc
; block2: ; offset 0x4c
; addi a2, zero, 3
; j 0x18
; block3: ; offset 0x50
; addi a1, zero, 1
; block4: ; offset 0x54
; block3: ; offset 0x54
; addi a2, zero, 2
; j 0x10
; block5: ; offset 0x58
; addi a1, zero, 2
; block4: ; offset 0x5c
; addi a2, zero, 1
; j 8
; block6: ; offset 0x60
; addi a1, zero, 3
; block7: ; offset 0x64
; addw a0, a0, a1
; block5: ; offset 0x64
; addi a2, zero, 4
; block6: ; offset 0x68
; addw a0, a0, a2
; ret

View File

@@ -246,12 +246,12 @@ block2:
; VCode:
; block0:
; eq a2,a0,a1##ty=i64
; bne a2,zero,taken(label1),not_taken(label2)
; bne a2,zero,taken(label2),not_taken(label1)
; block1:
; li a0,1
; li a0,2
; ret
; block2:
; li a0,2
; li a0,1
; ret
;
; Disassembled:
@@ -260,12 +260,12 @@ block2:
; addi a2, zero, 1
; j 8
; mv a2, zero
; beqz a2, 0xc
; bnez a2, 0xc
; block1: ; offset 0x14
; addi a0, zero, 1
; addi a0, zero, 2
; ret
; block2: ; offset 0x1c
; addi a0, zero, 2
; addi a0, zero, 1
; ret
function %f(i64, i64) -> i64 {

View File

@@ -94,38 +94,34 @@ block3(v7: r64, v8: r64):
; sd ra,8(sp)
; sd fp,0(sp)
; mv fp,sp
; sd s7,-8(sp)
; sd s3,-8(sp)
; add sp,-48
; block0:
; sd a0,8(nominal_sp)
; sd a1,16(nominal_sp)
; mv s7,a2
; load_sym a1,%f+0
; callind a1
; load_addr a1,nsp+0
; ld t4,8(nominal_sp)
; sd t4,0(a1)
; andi a1,a0,255
; bne a1,zero,taken(label1),not_taken(label3)
; mv s3,a2
; load_sym t0,%f+0
; callind t0
; load_addr t4,nsp+0
; ld a5,8(nominal_sp)
; sd a5,0(t4)
; andi t0,a0,255
; bne t0,zero,taken(label2),not_taken(label1)
; block1:
; j label2
; block2:
; mv a0,t4
; ld a1,16(nominal_sp)
; j label5
; block3:
; j label4
; block4:
; mv a1,t4
; mv a1,a5
; ld a0,16(nominal_sp)
; j label5
; block5:
; j label3
; block2:
; mv a0,a5
; ld a1,16(nominal_sp)
; j label3
; block3:
; load_addr a2,nsp+0
; ld a2,0(a2)
; mv a3,s7
; sd a2,0(a3)
; mv t3,s3
; sd a2,0(t3)
; add sp,+48
; ld s7,-8(sp)
; ld s3,-8(sp)
; ld ra,8(sp)
; ld fp,0(sp)
; add sp,+16
@@ -137,37 +133,37 @@ block3(v7: r64, v8: r64):
; sd ra, 8(sp)
; sd s0, 0(sp)
; ori s0, sp, 0
; sd s7, -8(sp)
; sd s3, -8(sp)
; addi sp, sp, -0x30
; block1: ; offset 0x18
; sd a0, 8(sp)
; sd a1, 0x10(sp)
; ori s7, a2, 0
; auipc a1, 0
; ld a1, 0xc(a1)
; ori s3, a2, 0
; auipc t0, 0
; ld t0, 0xc(t0)
; j 0xc
; .byte 0x00, 0x00, 0x00, 0x00 ; reloc_external Abs8 %f 0
; .byte 0x00, 0x00, 0x00, 0x00
; jalr a1
; mv a1, sp
; ld t4, 8(sp)
; sd t4, 0(a1)
; andi a1, a0, 0xff
; beqz a1, 0x10
; jalr t0
; mv t4, sp
; ld a5, 8(sp)
; sd a5, 0(t4)
; andi t0, a0, 0xff
; bnez t0, 0x10
; block2: ; offset 0x50
; ori a0, t4, 0
; ld a1, 0x10(sp)
; ori a1, a5, 0
; ld a0, 0x10(sp)
; j 0xc
; block3: ; offset 0x5c
; ori a1, t4, 0
; ld a0, 0x10(sp)
; ori a0, a5, 0
; ld a1, 0x10(sp)
; block4: ; offset 0x64
; mv a2, sp
; ld a2, 0(a2)
; ori a3, s7, 0
; sd a2, 0(a3)
; ori t3, s3, 0
; sd a2, 0(t3)
; addi sp, sp, 0x30
; ld s7, -8(sp)
; ld s3, -8(sp)
; ld ra, 8(sp)
; ld s0, 0(sp)
; addi sp, sp, 0x10

View File

@@ -27,10 +27,10 @@ block0(v0: i64):
; block0:
; li t2,42
; eq a1,a0,t2##ty=i64
; bne a1,zero,taken(label1),not_taken(label2)
; block2:
; ret
; bne a1,zero,taken(label2),not_taken(label1)
; block1:
; ret
; block2:
; udf##trap_code=user0
;
; Disassembled:

View File

@@ -46,15 +46,15 @@
;; ld a7,8(a2)
;; addi a7,a7,-4
;; ugt a7,t3,a7##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ld t4,0(a2)
;; add t4,t4,t3
;; sw a1,0(t4)
;; j label3
;; block3:
;; ret
;; bne a7,zero,taken(label3),not_taken(label1)
;; block1:
;; ld t4,0(a2)
;; add t3,t4,t3
;; sw a1,0(t3)
;; j label2
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -64,13 +64,13 @@
;; ld a7,8(a1)
;; addi a7,a7,-4
;; ugt a7,t3,a7##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ld t4,0(a1)
;; add t4,t4,t3
;; lw a0,0(t4)
;; j label3
;; block3:
;; ret
;; bne a7,zero,taken(label3),not_taken(label1)
;; block1:
;; ld t4,0(a1)
;; add t3,t4,t3
;; lw a0,0(t3)
;; j label2
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob

View File

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

View File

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

View File

@@ -45,15 +45,15 @@
;; srli a7,a5,32
;; ld a6,8(a2)
;; uge a6,a7,a6##ty=i64
;; bne a6,zero,taken(label1),not_taken(label2)
;; block2:
;; ld t3,0(a2)
;; add t3,t3,a7
;; sb a1,0(t3)
;; j label3
;; block3:
;; ret
;; bne a6,zero,taken(label3),not_taken(label1)
;; block1:
;; ld t3,0(a2)
;; add a7,t3,a7
;; sb a1,0(a7)
;; j label2
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -62,13 +62,13 @@
;; srli a7,a5,32
;; ld a6,8(a1)
;; uge a6,a7,a6##ty=i64
;; bne a6,zero,taken(label1),not_taken(label2)
;; block2:
;; ld t3,0(a1)
;; add t3,t3,a7
;; lbu a0,0(t3)
;; j label3
;; block3:
;; ret
;; bne a6,zero,taken(label3),not_taken(label1)
;; block1:
;; ld t3,0(a1)
;; add a7,t3,a7
;; lbu a0,0(a7)
;; j label2
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob

View File

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

View File

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

View File

@@ -46,15 +46,15 @@
;; ld a7,8(a2)
;; addi a7,a7,-4
;; ugt a7,t3,a7##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ld t4,0(a2)
;; add t4,t4,t3
;; sw a1,0(t4)
;; j label3
;; block3:
;; ret
;; bne a7,zero,taken(label3),not_taken(label1)
;; block1:
;; ld t4,0(a2)
;; add t3,t4,t3
;; sw a1,0(t3)
;; j label2
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -64,13 +64,13 @@
;; ld a7,8(a1)
;; addi a7,a7,-4
;; ugt a7,t3,a7##ty=i64
;; bne a7,zero,taken(label1),not_taken(label2)
;; block2:
;; ld t4,0(a1)
;; add t4,t4,t3
;; lw a0,0(t4)
;; j label3
;; block3:
;; ret
;; bne a7,zero,taken(label3),not_taken(label1)
;; block1:
;; ld t4,0(a1)
;; add t3,t4,t3
;; lw a0,0(t3)
;; j label2
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob

View File

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

View File

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

View File

@@ -45,15 +45,15 @@
;; srli a7,a5,32
;; ld a6,8(a2)
;; uge a6,a7,a6##ty=i64
;; bne a6,zero,taken(label1),not_taken(label2)
;; block2:
;; ld t3,0(a2)
;; add t3,t3,a7
;; sb a1,0(t3)
;; j label3
;; block3:
;; ret
;; bne a6,zero,taken(label3),not_taken(label1)
;; block1:
;; ld t3,0(a2)
;; add a7,t3,a7
;; sb a1,0(a7)
;; j label2
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -62,13 +62,13 @@
;; srli a7,a5,32
;; ld a6,8(a1)
;; uge a6,a7,a6##ty=i64
;; bne a6,zero,taken(label1),not_taken(label2)
;; block2:
;; ld t3,0(a1)
;; add t3,t3,a7
;; lbu a0,0(t3)
;; j label3
;; block3:
;; ret
;; bne a6,zero,taken(label3),not_taken(label1)
;; block1:
;; ld t3,0(a1)
;; add a7,t3,a7
;; lbu a0,0(a7)
;; j label2
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob

View File

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

View File

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

View File

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

View File

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

View File

@@ -47,17 +47,17 @@
;; trap_if t1,heap_oob
;; ld t0,8(a2)
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; 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
;; bne t0,zero,taken(label3),not_taken(label1)
;; 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
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -68,15 +68,15 @@
;; trap_if t1,heap_oob
;; ld t0,8(a1)
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; 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:
;; ret
;; bne t0,zero,taken(label3),not_taken(label1)
;; 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
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob

View File

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

View File

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

View File

@@ -47,17 +47,17 @@
;; trap_if t1,heap_oob
;; ld t0,8(a2)
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; 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
;; bne t0,zero,taken(label3),not_taken(label1)
;; 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
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -68,15 +68,15 @@
;; trap_if t1,heap_oob
;; ld t0,8(a1)
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; 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:
;; ret
;; bne t0,zero,taken(label3),not_taken(label1)
;; 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
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob

View File

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

View File

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

View File

@@ -47,17 +47,17 @@
;; trap_if t1,heap_oob
;; ld t0,8(a2)
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; 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
;; bne t0,zero,taken(label3),not_taken(label1)
;; 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
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -68,15 +68,15 @@
;; trap_if t1,heap_oob
;; ld t0,8(a1)
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; 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:
;; ret
;; bne t0,zero,taken(label3),not_taken(label1)
;; 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
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob

View File

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

View File

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

View File

@@ -47,17 +47,17 @@
;; trap_if t1,heap_oob
;; ld t0,8(a2)
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; 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
;; bne t0,zero,taken(label3),not_taken(label1)
;; 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
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -68,15 +68,15 @@
;; trap_if t1,heap_oob
;; ld t0,8(a1)
;; ugt t0,t4,t0##ty=i64
;; bne t0,zero,taken(label1),not_taken(label2)
;; block2:
;; 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:
;; ret
;; bne t0,zero,taken(label3),not_taken(label1)
;; 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
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob

View File

@@ -44,15 +44,15 @@
;; lui a6,65536
;; addi a6,a6,4092
;; ugt t4,t3,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ld t4,0(a2)
;; add t4,t4,t3
;; sw a1,0(t4)
;; j label3
;; block3:
;; ret
;; bne t4,zero,taken(label3),not_taken(label1)
;; block1:
;; ld t4,0(a2)
;; add t3,t4,t3
;; sw a1,0(t3)
;; j label2
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -62,13 +62,13 @@
;; lui a6,65536
;; addi a6,a6,4092
;; ugt t4,t3,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ld t4,0(a1)
;; add t4,t4,t3
;; lw a0,0(t4)
;; j label3
;; block3:
;; ret
;; bne t4,zero,taken(label3),not_taken(label1)
;; block1:
;; ld t4,0(a1)
;; add t3,t4,t3
;; lw a0,0(t3)
;; j label2
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob

View File

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

View File

@@ -44,15 +44,15 @@
;; lui a6,65536
;; addi a6,a6,4095
;; ugt t4,t3,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ld t4,0(a2)
;; add t4,t4,t3
;; sb a1,0(t4)
;; j label3
;; block3:
;; ret
;; bne t4,zero,taken(label3),not_taken(label1)
;; block1:
;; ld t4,0(a2)
;; add t3,t4,t3
;; sb a1,0(t3)
;; j label2
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob
;;
;; function u0:1:
@@ -62,13 +62,13 @@
;; lui a6,65536
;; addi a6,a6,4095
;; ugt t4,t3,a6##ty=i64
;; bne t4,zero,taken(label1),not_taken(label2)
;; block2:
;; ld t4,0(a1)
;; add t4,t4,t3
;; lbu a0,0(t4)
;; j label3
;; block3:
;; ret
;; bne t4,zero,taken(label3),not_taken(label1)
;; block1:
;; ld t4,0(a1)
;; add t3,t4,t3
;; lbu a0,0(t3)
;; j label2
;; block2:
;; ret
;; block3:
;; udf##trap_code=heap_oob

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -38,23 +38,23 @@ block2:
; VCode:
; block0:
; clgr %r2, %r3
; jge label1 ; jg label2
; jge label2 ; jg label1
; block1:
; lghi %r2, 1
; lghi %r2, 2
; br %r14
; block2:
; lghi %r2, 2
; lghi %r2, 1
; br %r14
;
; Disassembled:
; block0: ; offset 0x0
; clgr %r2, %r3
; jgne 0x10
; jge 0x10
; block1: ; offset 0xa
; lghi %r2, 1
; lghi %r2, 2
; br %r14
; block2: ; offset 0x10
; lghi %r2, 2
; lghi %r2, 1
; br %r14
function %f(i64, i64) -> i64 {

View File

@@ -30,30 +30,22 @@ block5(v5: i32):
; block0:
; llgfr %r3, %r2
; clgfi %r3, 3
; jghe label1
; jghe label4
; sllg %r3, %r3, 2
; larl %r1, 14 ; agf %r1, 0(%r1, %r3) ; br %r1 ; jt_entries label3 label5 label7
; larl %r1, 14 ; agf %r1, 0(%r1, %r3) ; br %r1 ; jt_entries label3 label2 label1
; block1:
; lhi %r5, 4
; jg label2
; lhi %r5, 3
; jg label5
; block2:
; jg label9
; lhi %r5, 2
; jg label5
; block3:
; lhi %r5, 1
; jg label4
; jg label5
; block4:
; jg label9
; lhi %r5, 4
; jg label5
; block5:
; lhi %r5, 2
; jg label6
; block6:
; jg label9
; block7:
; lhi %r5, 3
; jg label8
; block8:
; jg label9
; block9:
; ar %r2, %r5
; br %r14
;
@@ -61,32 +53,29 @@ block5(v5: i32):
; block0: ; offset 0x0
; llgfr %r3, %r2
; clgfi %r3, 3
; jghe 0x30
; jghe 0x4e
; sllg %r3, %r3, 2
; larl %r1, 0x24
; agf %r1, 0(%r3, %r1)
; br %r1
; .byte 0x00, 0x00
; .byte 0x00, 0x16
; .byte 0x00, 0x00
; .byte 0x00, 0x20
; .byte 0x00, 0x00
; .byte 0x00, 0x2a
; .byte 0x00, 0x16
; .byte 0x00, 0x00
; .byte 0x00, 0x0c
; block1: ; offset 0x30
; lhi %r5, 4
; block2: ; offset 0x34
; jg 0x52
; block3: ; offset 0x3a
; lhi %r5, 1
; block4: ; offset 0x3e
; jg 0x52
; block5: ; offset 0x44
; lhi %r5, 2
; block6: ; offset 0x48
; jg 0x52
; block7: ; offset 0x4e
; lhi %r5, 3
; block8: ; offset 0x52
; jg 0x52
; block2: ; offset 0x3a
; lhi %r5, 2
; jg 0x52
; block3: ; offset 0x44
; lhi %r5, 1
; jg 0x52
; block4: ; offset 0x4e
; lhi %r5, 4
; block5: ; offset 0x52
; ar %r2, %r5
; br %r14

View File

@@ -106,20 +106,16 @@ block3(v7: r64, v8: r64):
; stg %r4, 0(%r5)
; lbr %r2, %r2
; chi %r2, 0
; jglh label1 ; jg label3
; jglh label2 ; jg label1
; block1:
; jg label2
; lgr %r3, %r4
; lg %r2, 176(%r15)
; jg label3
; block2:
; lgr %r2, %r4
; lg %r3, 176(%r15)
; jg label5
; jg label3
; block3:
; jg label4
; block4:
; lgr %r3, %r4
; lg %r2, 176(%r15)
; jg label5
; block5:
; la %r4, 160(%r15)
; lg %r4, 0(%r4)
; lmg %r14, %r15, 296(%r15)
@@ -144,14 +140,14 @@ block3(v7: r64, v8: r64):
; stg %r4, 0(%r5)
; lbr %r2, %r2
; chi %r2, 0
; jgnlh 0x58
; jglh 0x58
; block2: ; offset 0x48
; lgr %r2, %r4
; lg %r3, 0xb0(%r15)
; jg 0x62
; block3: ; offset 0x58
; lgr %r3, %r4
; lg %r2, 0xb0(%r15)
; jg 0x62
; block3: ; offset 0x58
; lgr %r2, %r4
; lg %r3, 0xb0(%r15)
; block4: ; offset 0x62
; la %r4, 0xa0(%r15)
; lg %r4, 0(%r4)

View File

@@ -42,10 +42,10 @@ block0(v0: i64):
; VCode:
; block0:
; clgfi %r2, 42
; jge label1 ; jg label2
; block1:
; br %r14
; jge label2 ; jg label1
; block2:
; br %r14
; block1:
; trap
;
; Disassembled:
@@ -68,10 +68,10 @@ block0(v0: i64):
; VCode:
; block0:
; clgfi %r2, 42
; jge label1 ; jg label2
; block2:
; br %r14
; jge label2 ; jg label1
; block1:
; br %r14
; block2:
; trap
;
; Disassembled:
@@ -94,10 +94,10 @@ block0(v0: i64):
; VCode:
; block0:
; clgfi %r2, 42
; jge label1 ; jg label2
; block2:
; br %r14
; jge label2 ; jg label1
; block1:
; br %r14
; block2:
; trap
;
; Disassembled:

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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