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:
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user