From 3bb1841730f38e24e1381bcde8b67c41952d0385 Mon Sep 17 00:00:00 2001 From: Nick Fitzgerald Date: Fri, 20 Sep 2024 18:29:20 -0700 Subject: [PATCH] Update disas tests --- .../filetests/isa/pulley64/trap.clif | 2 +- ...re-access-same-index-different-offsets.wat | 70 ++++++---------- tests/disas/epoch-interruption-x86.wat | 4 +- tests/disas/gc/externref-globals.wat | 53 +++--------- tests/disas/gc/struct-get.wat | 83 ++++--------------- tests/disas/gc/struct-new-default.wat | 57 ++++--------- tests/disas/gc/struct-new.wat | 64 ++++---------- tests/disas/gc/struct-set.wat | 78 ++++------------- tests/disas/icall-loop.wat | 14 +--- ...0_guard_no_spectre_i32_access_0_offset.wat | 36 ++++---- ...rd_no_spectre_i32_access_0x1000_offset.wat | 44 +++++----- ...o_spectre_i32_access_0xffff0000_offset.wat | 56 +++++++------ ..._0_guard_no_spectre_i8_access_0_offset.wat | 32 +++---- ...ard_no_spectre_i8_access_0x1000_offset.wat | 44 +++++----- ...no_spectre_i8_access_0xffff0000_offset.wat | 56 +++++++------ ...f_guard_no_spectre_i32_access_0_offset.wat | 32 +++---- ...rd_no_spectre_i32_access_0x1000_offset.wat | 36 ++++---- ...o_spectre_i32_access_0xffff0000_offset.wat | 40 +++++---- ...ff_guard_no_spectre_i8_access_0_offset.wat | 32 +++---- ...ard_no_spectre_i8_access_0x1000_offset.wat | 36 ++++---- ...no_spectre_i8_access_0xffff0000_offset.wat | 40 +++++---- ...0_guard_no_spectre_i32_access_0_offset.wat | 32 +++---- ...rd_no_spectre_i32_access_0x1000_offset.wat | 40 +++++---- ...o_spectre_i32_access_0xffff0000_offset.wat | 52 ++++++------ ..._0_guard_no_spectre_i8_access_0_offset.wat | 28 ++++--- ...ard_no_spectre_i8_access_0x1000_offset.wat | 40 +++++---- ...no_spectre_i8_access_0xffff0000_offset.wat | 52 ++++++------ ...f_guard_no_spectre_i32_access_0_offset.wat | 28 ++++--- ...rd_no_spectre_i32_access_0x1000_offset.wat | 32 +++---- ...o_spectre_i32_access_0xffff0000_offset.wat | 36 ++++---- ...ff_guard_no_spectre_i8_access_0_offset.wat | 28 ++++--- ...ard_no_spectre_i8_access_0x1000_offset.wat | 32 +++---- ...no_spectre_i8_access_0xffff0000_offset.wat | 36 ++++---- ...0_guard_no_spectre_i32_access_0_offset.wat | 28 ++++--- ...rd_no_spectre_i32_access_0x1000_offset.wat | 32 +++---- ...o_spectre_i32_access_0xffff0000_offset.wat | 36 ++++---- ...ard_no_spectre_i8_access_0x1000_offset.wat | 32 +++---- ...no_spectre_i8_access_0xffff0000_offset.wat | 36 ++++---- ...0_guard_no_spectre_i32_access_0_offset.wat | 24 +++--- ...rd_no_spectre_i32_access_0x1000_offset.wat | 32 +++---- ...o_spectre_i32_access_0xffff0000_offset.wat | 36 ++++---- ..._0_guard_no_spectre_i8_access_0_offset.wat | 24 +++--- ...ard_no_spectre_i8_access_0x1000_offset.wat | 32 +++---- ...no_spectre_i8_access_0xffff0000_offset.wat | 36 ++++---- ...f_guard_no_spectre_i32_access_0_offset.wat | 24 +++--- ...rd_no_spectre_i32_access_0x1000_offset.wat | 32 +++---- ...o_spectre_i32_access_0xffff0000_offset.wat | 36 ++++---- ...ff_guard_no_spectre_i8_access_0_offset.wat | 24 +++--- ...ard_no_spectre_i8_access_0x1000_offset.wat | 32 +++---- ...no_spectre_i8_access_0xffff0000_offset.wat | 36 ++++---- ...0_guard_no_spectre_i32_access_0_offset.wat | 8 +- ...rd_no_spectre_i32_access_0x1000_offset.wat | 8 +- ...o_spectre_i32_access_0xffff0000_offset.wat | 8 +- ..._0_guard_no_spectre_i8_access_0_offset.wat | 8 +- ...ard_no_spectre_i8_access_0x1000_offset.wat | 8 +- ...no_spectre_i8_access_0xffff0000_offset.wat | 8 +- ...f_guard_no_spectre_i32_access_0_offset.wat | 8 +- ...rd_no_spectre_i32_access_0x1000_offset.wat | 8 +- ...o_spectre_i32_access_0xffff0000_offset.wat | 8 +- ...ff_guard_no_spectre_i8_access_0_offset.wat | 8 +- ...ard_no_spectre_i8_access_0x1000_offset.wat | 8 +- ...no_spectre_i8_access_0xffff0000_offset.wat | 8 +- ...0_guard_no_spectre_i32_access_0_offset.wat | 8 +- ...rd_no_spectre_i32_access_0x1000_offset.wat | 8 +- ...o_spectre_i32_access_0xffff0000_offset.wat | 8 +- ..._0_guard_no_spectre_i8_access_0_offset.wat | 8 +- ...ard_no_spectre_i8_access_0x1000_offset.wat | 8 +- ...no_spectre_i8_access_0xffff0000_offset.wat | 8 +- ...f_guard_no_spectre_i32_access_0_offset.wat | 8 +- ...rd_no_spectre_i32_access_0x1000_offset.wat | 8 +- ...o_spectre_i32_access_0xffff0000_offset.wat | 8 +- ...ff_guard_no_spectre_i8_access_0_offset.wat | 8 +- ...ard_no_spectre_i8_access_0x1000_offset.wat | 8 +- ...no_spectre_i8_access_0xffff0000_offset.wat | 8 +- ...0_guard_no_spectre_i32_access_0_offset.wat | 8 +- ...rd_no_spectre_i32_access_0x1000_offset.wat | 8 +- ...o_spectre_i32_access_0xffff0000_offset.wat | 8 +- ...ard_no_spectre_i8_access_0x1000_offset.wat | 8 +- ...no_spectre_i8_access_0xffff0000_offset.wat | 8 +- ...0_guard_no_spectre_i32_access_0_offset.wat | 8 +- ...rd_no_spectre_i32_access_0x1000_offset.wat | 8 +- ...o_spectre_i32_access_0xffff0000_offset.wat | 8 +- ..._0_guard_no_spectre_i8_access_0_offset.wat | 8 +- ...ard_no_spectre_i8_access_0x1000_offset.wat | 8 +- ...no_spectre_i8_access_0xffff0000_offset.wat | 8 +- ...f_guard_no_spectre_i32_access_0_offset.wat | 8 +- ...rd_no_spectre_i32_access_0x1000_offset.wat | 8 +- ...o_spectre_i32_access_0xffff0000_offset.wat | 8 +- ...ff_guard_no_spectre_i8_access_0_offset.wat | 8 +- ...ard_no_spectre_i8_access_0x1000_offset.wat | 8 +- ...no_spectre_i8_access_0xffff0000_offset.wat | 8 +- ...0_guard_no_spectre_i32_access_0_offset.wat | 6 +- ...rd_no_spectre_i32_access_0x1000_offset.wat | 6 +- ...o_spectre_i32_access_0xffff0000_offset.wat | 8 +- ..._0_guard_no_spectre_i8_access_0_offset.wat | 6 +- ...ard_no_spectre_i8_access_0x1000_offset.wat | 6 +- ...no_spectre_i8_access_0xffff0000_offset.wat | 6 +- ...f_guard_no_spectre_i32_access_0_offset.wat | 6 +- ...rd_no_spectre_i32_access_0x1000_offset.wat | 6 +- ...o_spectre_i32_access_0xffff0000_offset.wat | 6 +- ...ff_guard_no_spectre_i8_access_0_offset.wat | 6 +- ...ard_no_spectre_i8_access_0x1000_offset.wat | 6 +- ...no_spectre_i8_access_0xffff0000_offset.wat | 6 +- ...0_guard_no_spectre_i32_access_0_offset.wat | 6 +- ...rd_no_spectre_i32_access_0x1000_offset.wat | 6 +- ...o_spectre_i32_access_0xffff0000_offset.wat | 8 +- ..._0_guard_no_spectre_i8_access_0_offset.wat | 6 +- ...ard_no_spectre_i8_access_0x1000_offset.wat | 6 +- ...no_spectre_i8_access_0xffff0000_offset.wat | 6 +- ...f_guard_no_spectre_i32_access_0_offset.wat | 6 +- ...rd_no_spectre_i32_access_0x1000_offset.wat | 6 +- ...o_spectre_i32_access_0xffff0000_offset.wat | 6 +- ...ff_guard_no_spectre_i8_access_0_offset.wat | 6 +- ...ard_no_spectre_i8_access_0x1000_offset.wat | 6 +- ...no_spectre_i8_access_0xffff0000_offset.wat | 6 +- ...0_guard_no_spectre_i32_access_0_offset.wat | 6 +- ...rd_no_spectre_i32_access_0x1000_offset.wat | 6 +- ...o_spectre_i32_access_0xffff0000_offset.wat | 6 +- ...ard_no_spectre_i8_access_0x1000_offset.wat | 6 +- ...no_spectre_i8_access_0xffff0000_offset.wat | 6 +- ...0_guard_no_spectre_i32_access_0_offset.wat | 6 +- ...rd_no_spectre_i32_access_0x1000_offset.wat | 6 +- ...o_spectre_i32_access_0xffff0000_offset.wat | 6 +- ..._0_guard_no_spectre_i8_access_0_offset.wat | 6 +- ...ard_no_spectre_i8_access_0x1000_offset.wat | 6 +- ...no_spectre_i8_access_0xffff0000_offset.wat | 6 +- ...f_guard_no_spectre_i32_access_0_offset.wat | 6 +- ...rd_no_spectre_i32_access_0x1000_offset.wat | 6 +- ...o_spectre_i32_access_0xffff0000_offset.wat | 6 +- ...ff_guard_no_spectre_i8_access_0_offset.wat | 6 +- ...ard_no_spectre_i8_access_0x1000_offset.wat | 6 +- ...no_spectre_i8_access_0xffff0000_offset.wat | 6 +- ...0_guard_no_spectre_i32_access_0_offset.wat | 36 ++++---- ...rd_no_spectre_i32_access_0x1000_offset.wat | 36 ++++---- ...o_spectre_i32_access_0xffff0000_offset.wat | 50 ++++++----- ..._0_guard_no_spectre_i8_access_0_offset.wat | 26 +++--- ...ard_no_spectre_i8_access_0x1000_offset.wat | 36 ++++---- ...no_spectre_i8_access_0xffff0000_offset.wat | 55 ++++++------ ...f_guard_no_spectre_i32_access_0_offset.wat | 26 +++--- ...rd_no_spectre_i32_access_0x1000_offset.wat | 26 +++--- ...o_spectre_i32_access_0xffff0000_offset.wat | 34 ++++---- ...ff_guard_no_spectre_i8_access_0_offset.wat | 26 +++--- ...ard_no_spectre_i8_access_0x1000_offset.wat | 26 +++--- ...no_spectre_i8_access_0xffff0000_offset.wat | 34 ++++---- ...0_guard_no_spectre_i32_access_0_offset.wat | 32 +++---- ...rd_no_spectre_i32_access_0x1000_offset.wat | 32 +++---- ...o_spectre_i32_access_0xffff0000_offset.wat | 54 ++++++------ ..._0_guard_no_spectre_i8_access_0_offset.wat | 26 +++--- ...ard_no_spectre_i8_access_0x1000_offset.wat | 32 +++---- ...no_spectre_i8_access_0xffff0000_offset.wat | 52 +++++++----- ...f_guard_no_spectre_i32_access_0_offset.wat | 26 +++--- ...rd_no_spectre_i32_access_0x1000_offset.wat | 26 +++--- ...o_spectre_i32_access_0xffff0000_offset.wat | 30 +++---- ...ff_guard_no_spectre_i8_access_0_offset.wat | 26 +++--- ...ard_no_spectre_i8_access_0x1000_offset.wat | 26 +++--- ...no_spectre_i8_access_0xffff0000_offset.wat | 30 +++---- ...0_guard_no_spectre_i32_access_0_offset.wat | 42 ++++++---- ...rd_no_spectre_i32_access_0x1000_offset.wat | 38 +++++---- ...o_spectre_i32_access_0xffff0000_offset.wat | 24 +++--- ...ard_no_spectre_i8_access_0x1000_offset.wat | 33 ++++---- ...no_spectre_i8_access_0xffff0000_offset.wat | 24 +++--- ...0_guard_no_spectre_i32_access_0_offset.wat | 28 ++++--- ...rd_no_spectre_i32_access_0x1000_offset.wat | 40 +++++---- ...o_spectre_i32_access_0xffff0000_offset.wat | 24 +++--- ..._0_guard_no_spectre_i8_access_0_offset.wat | 27 +++--- ...ard_no_spectre_i8_access_0x1000_offset.wat | 35 ++++---- ...no_spectre_i8_access_0xffff0000_offset.wat | 24 +++--- ...f_guard_no_spectre_i32_access_0_offset.wat | 28 ++++--- ...rd_no_spectre_i32_access_0x1000_offset.wat | 40 +++++---- ...o_spectre_i32_access_0xffff0000_offset.wat | 24 +++--- ...ff_guard_no_spectre_i8_access_0_offset.wat | 27 +++--- ...ard_no_spectre_i8_access_0x1000_offset.wat | 35 ++++---- ...no_spectre_i8_access_0xffff0000_offset.wat | 24 +++--- tests/disas/readonly-funcrefs.wat | 7 +- tests/disas/table-get-fixed-size.wat | 40 +++------ tests/disas/table-get.wat | 40 +++------ tests/disas/table-set-fixed-size.wat | 76 ++++------------- tests/disas/table-set.wat | 76 ++++------------- .../winch/x64/call_indirect/call_indirect.wat | 4 +- .../winch/x64/call_indirect/local_arg.wat | 2 +- tests/disas/winch/x64/load/grow_load.wat | 2 +- tests/disas/winch/x64/table/fill.wat | 4 +- tests/disas/winch/x64/table/get.wat | 2 +- tests/disas/winch/x64/table/grow.wat | 2 +- .../disas/winch/x64/table/init_copy_drop.wat | 20 ++--- tests/disas/winch/x64/table/set.wat | 2 +- 186 files changed, 1961 insertions(+), 2091 deletions(-) diff --git a/cranelift/filetests/filetests/isa/pulley64/trap.clif b/cranelift/filetests/filetests/isa/pulley64/trap.clif index 8c19d897b2c5..e829879fc8ec 100644 --- a/cranelift/filetests/filetests/isa/pulley64/trap.clif +++ b/cranelift/filetests/filetests/isa/pulley64/trap.clif @@ -105,7 +105,7 @@ block1: block2: v2 = iconst.i64 0 trapnz v2, user0 - return + Return } ; VCode: diff --git a/tests/disas/dynamic-memory-no-spectre-access-same-index-different-offsets.wat b/tests/disas/dynamic-memory-no-spectre-access-same-index-different-offsets.wat index e555465c81de..2097a0522332 100644 --- a/tests/disas/dynamic-memory-no-spectre-access-same-index-different-offsets.wat +++ b/tests/disas/dynamic-memory-no-spectre-access-same-index-different-offsets.wat @@ -48,33 +48,23 @@ ;; @0047 v7 = load.i64 notrap aligned v0+104 ;; @0047 v6 = uextend.i64 v2 ;; @0047 v8 = icmp ugt v6, v7 -;; @0047 brif v8, block2, block3 -;; -;; block2 cold: -;; @0047 trap heap_oob -;; -;; block3: +;; @0047 trapnz v8, heap_oob ;; @0047 v9 = load.i64 notrap aligned checked v0+96 ;; @0047 v10 = iadd v9, v6 ;; @0047 v11 = load.i32 little heap v10 -;; @004c brif.i8 v8, block4, block5 -;; -;; block4 cold: -;; @004c trap heap_oob -;; -;; block5: +;; @004c v13 = load.i64 notrap aligned v0+104 +;; @004c v14 = icmp ugt v6, v13 +;; @004c trapnz v14, heap_oob +;; @004c v15 = load.i64 notrap aligned checked v0+96 +;; @004c v16 = iadd v15, v6 ;; @004c v17 = iconst.i64 4 -;; @004c v18 = iadd.i64 v10, v17 ; v17 = 4 +;; @004c v18 = iadd v16, v17 ; v17 = 4 ;; @004c v19 = load.i32 little heap v18 ;; @0051 v21 = iconst.i64 0x0010_0003 -;; @0051 v22 = uadd_overflow_trap.i64 v6, v21, heap_oob ; v21 = 0x0010_0003 -;; @0051 v24 = icmp ugt v22, v7 -;; @0051 brif v24, block6, block7 -;; -;; block6 cold: -;; @0051 trap heap_oob -;; -;; block7: +;; @0051 v22 = uadd_overflow_trap v6, v21, heap_oob ; v21 = 0x0010_0003 +;; @0051 v23 = load.i64 notrap aligned v0+104 +;; @0051 v24 = icmp ugt v22, v23 +;; @0051 trapnz v24, heap_oob ;; @0051 v25 = load.i64 notrap aligned checked v0+96 ;; @0051 v26 = iadd v25, v6 ;; @0051 v27 = iconst.i64 0x000f_ffff @@ -99,38 +89,28 @@ ;; @005d v7 = load.i64 notrap aligned v0+104 ;; @005d v6 = uextend.i64 v2 ;; @005d v8 = icmp ugt v6, v7 -;; @005d brif v8, block2, block3 -;; -;; block2 cold: -;; @005d trap heap_oob -;; -;; block3: +;; @005d trapnz v8, heap_oob ;; @005d v9 = load.i64 notrap aligned checked v0+96 ;; @005d v10 = iadd v9, v6 -;; @005d store.i32 little heap v3, v10 -;; @0064 brif.i8 v8, block4, block5 -;; -;; block4 cold: -;; @0064 trap heap_oob -;; -;; block5: +;; @005d store little heap v3, v10 +;; @0064 v12 = load.i64 notrap aligned v0+104 +;; @0064 v13 = icmp ugt v6, v12 +;; @0064 trapnz v13, heap_oob +;; @0064 v14 = load.i64 notrap aligned checked v0+96 +;; @0064 v15 = iadd v14, v6 ;; @0064 v16 = iconst.i64 4 -;; @0064 v17 = iadd.i64 v10, v16 ; v16 = 4 -;; @0064 store.i32 little heap v4, v17 +;; @0064 v17 = iadd v15, v16 ; v16 = 4 +;; @0064 store little heap v4, v17 ;; @006b v19 = iconst.i64 0x0010_0003 -;; @006b v20 = uadd_overflow_trap.i64 v6, v19, heap_oob ; v19 = 0x0010_0003 -;; @006b v22 = icmp ugt v20, v7 -;; @006b brif v22, block6, block7 -;; -;; block6 cold: -;; @006b trap heap_oob -;; -;; block7: +;; @006b v20 = uadd_overflow_trap v6, v19, heap_oob ; v19 = 0x0010_0003 +;; @006b v21 = load.i64 notrap aligned v0+104 +;; @006b v22 = icmp ugt v20, v21 +;; @006b trapnz v22, heap_oob ;; @006b v23 = load.i64 notrap aligned checked v0+96 ;; @006b v24 = iadd v23, v6 ;; @006b v25 = iconst.i64 0x000f_ffff ;; @006b v26 = iadd v24, v25 ; v25 = 0x000f_ffff -;; @006b store.i32 little heap v5, v26 +;; @006b store little heap v5, v26 ;; @0070 jump block1 ;; ;; block1: diff --git a/tests/disas/epoch-interruption-x86.wat b/tests/disas/epoch-interruption-x86.wat index b4f4719083c9..9fb90a01e1ff 100644 --- a/tests/disas/epoch-interruption-x86.wat +++ b/tests/disas/epoch-interruption-x86.wat @@ -28,12 +28,12 @@ ;; jae 0x64 ;; jmp 0x46 ;; 57: movq %r13, %rdi -;; callq 0xdf +;; callq 0xf3 ;; jmp 0x46 ;; 64: movq 0x10(%r12), %rax ;; cmpq %rax, %rdi ;; jb 0x46 ;; 72: movq %r13, %rdi -;; callq 0xdf +;; callq 0xf3 ;; jmp 0x46 ;; 7f: ud2 diff --git a/tests/disas/gc/externref-globals.wat b/tests/disas/gc/externref-globals.wat index 95ce3ce51a58..f50bbcb02cd5 100644 --- a/tests/disas/gc/externref-globals.wat +++ b/tests/disas/gc/externref-globals.wat @@ -46,30 +46,19 @@ ;; @0034 v19 = uadd_overflow_trap v17, v16, user65535 ; v16 = 8 ;; @0034 v14 = load.i64 notrap aligned readonly v0+48 ;; @0034 v20 = icmp ult v19, v14 -;; @0034 brif v20, block7, block6 -;; -;; block6 cold: -;; @0034 trap user65535 -;; -;; block7: +;; @0034 trapz v20, user65535 ;; @0034 v13 = load.i64 notrap aligned readonly v0+40 ;; @0034 v21 = iadd v13, v17 ;; @0034 v22 = load.i64 notrap aligned v21 ;; v40 = load.i32 notrap v44 ;; @0034 v27 = uextend.i64 v40 -;; v54 = iconst.i64 8 -;; @0034 v29 = uadd_overflow_trap v27, v54, user65535 ; v54 = 8 -;; @0034 v31 = uadd_overflow_trap v29, v54, user65535 ; v54 = 8 +;; @0034 v29 = uadd_overflow_trap v27, v16, user65535 ; v16 = 8 +;; @0034 v31 = uadd_overflow_trap v29, v16, user65535 ; v16 = 8 ;; @0034 v32 = icmp ult v31, v14 -;; @0034 brif v32, block9, block8 -;; -;; block8 cold: -;; @0034 trap user65535 -;; -;; block9: +;; @0034 trapz v32, user65535 ;; v48 = iconst.i64 1 -;; @0034 v23 = iadd.i64 v22, v48 ; v48 = 1 -;; @0034 v33 = iadd.i64 v13, v29 +;; @0034 v23 = iadd v22, v48 ; v48 = 1 +;; @0034 v33 = iadd v13, v29 ;; @0034 store notrap aligned v23, v33 ;; v39 = load.i32 notrap v44 ;; @0034 store notrap aligned v39, v9 @@ -114,23 +103,13 @@ ;; @003b v14 = uadd_overflow_trap v12, v34, user65535 ; v34 = 8 ;; @003b v32 = load.i64 notrap aligned readonly v0+48 ;; @003b v15 = icmp ult v14, v32 -;; @003b brif v15, block9, block8 -;; -;; block8 cold: -;; @003b trap user65535 -;; -;; block9: +;; @003b trapz v15, user65535 ;; @003b v31 = load.i64 notrap aligned readonly v0+40 ;; @003b v16 = iadd v31, v12 ;; @003b v17 = load.i64 notrap aligned v16 -;; @003b brif.i8 v15, block11, block10 -;; -;; block10 cold: -;; @003b trap user65535 -;; -;; block11: +;; @003b trapz v15, user65535 ;; v56 = iconst.i64 1 -;; @003b v18 = iadd.i64 v17, v56 ; v56 = 1 +;; @003b v18 = iadd v17, v56 ; v56 = 1 ;; @003b store notrap aligned v18, v16 ;; @003b jump block3 ;; @@ -148,12 +127,7 @@ ;; @003b v37 = uadd_overflow_trap v35, v63, user65535 ; v63 = 8 ;; v64 = load.i64 notrap aligned readonly v0+48 ;; @003b v38 = icmp ult v37, v64 -;; @003b brif v38, block13, block12 -;; -;; block12 cold: -;; @003b trap user65535 -;; -;; block13: +;; @003b trapz v38, user65535 ;; v65 = load.i64 notrap aligned readonly v0+40 ;; @003b v39 = iadd v65, v35 ;; @003b v40 = load.i64 notrap aligned v39 @@ -168,12 +142,7 @@ ;; @003b jump block7 ;; ;; block6: -;; @003b brif.i8 v38, block15, block14 -;; -;; block14 cold: -;; @003b trap user65535 -;; -;; block15: +;; @003b trapz.i8 v38, user65535 ;; v66 = iadd.i64 v40, v58 ; v58 = -1 ;; @003b store notrap aligned v66, v39 ;; @003b jump block7 diff --git a/tests/disas/gc/struct-get.wat b/tests/disas/gc/struct-get.wat index e446c7b3d45d..8d6b914af154 100644 --- a/tests/disas/gc/struct-get.wat +++ b/tests/disas/gc/struct-get.wat @@ -31,12 +31,7 @@ ;; stack_limit = gv2 ;; ;; block0(v0: i64, v1: i64, v2: i32): -;; @0033 brif v2, block3, block2 -;; -;; block2 cold: -;; @0033 trap null_reference -;; -;; block3: +;; @0033 trapz v2, null_reference ;; @0033 v7 = uextend.i64 v2 ;; @0033 v8 = iconst.i64 16 ;; @0033 v9 = uadd_overflow_trap v7, v8, user65535 ; v8 = 16 @@ -44,12 +39,7 @@ ;; @0033 v11 = uadd_overflow_trap v9, v10, user65535 ; v10 = 4 ;; @0033 v6 = load.i64 notrap aligned readonly v0+48 ;; @0033 v12 = icmp ult v11, v6 -;; @0033 brif v12, block5, block4 -;; -;; block4 cold: -;; @0033 trap user65535 -;; -;; block5: +;; @0033 trapz v12, user65535 ;; @0033 v5 = load.i64 notrap aligned readonly v0+40 ;; @0033 v13 = iadd v5, v9 ;; @0033 v14 = load.f32 notrap aligned v13 @@ -67,12 +57,7 @@ ;; stack_limit = gv2 ;; ;; block0(v0: i64, v1: i64, v2: i32): -;; @003c brif v2, block3, block2 -;; -;; block2 cold: -;; @003c trap null_reference -;; -;; block3: +;; @003c trapz v2, null_reference ;; @003c v7 = uextend.i64 v2 ;; @003c v8 = iconst.i64 20 ;; @003c v9 = uadd_overflow_trap v7, v8, user65535 ; v8 = 20 @@ -80,12 +65,7 @@ ;; @003c v11 = uadd_overflow_trap v9, v10, user65535 ; v10 = 1 ;; @003c v6 = load.i64 notrap aligned readonly v0+48 ;; @003c v12 = icmp ult v11, v6 -;; @003c brif v12, block5, block4 -;; -;; block4 cold: -;; @003c trap user65535 -;; -;; block5: +;; @003c trapz v12, user65535 ;; @003c v5 = load.i64 notrap aligned readonly v0+40 ;; @003c v13 = iadd v5, v9 ;; @003c v14 = load.i8 notrap aligned v13 @@ -104,12 +84,7 @@ ;; stack_limit = gv2 ;; ;; block0(v0: i64, v1: i64, v2: i32): -;; @0045 brif v2, block3, block2 -;; -;; block2 cold: -;; @0045 trap null_reference -;; -;; block3: +;; @0045 trapz v2, null_reference ;; @0045 v7 = uextend.i64 v2 ;; @0045 v8 = iconst.i64 20 ;; @0045 v9 = uadd_overflow_trap v7, v8, user65535 ; v8 = 20 @@ -117,12 +92,7 @@ ;; @0045 v11 = uadd_overflow_trap v9, v10, user65535 ; v10 = 1 ;; @0045 v6 = load.i64 notrap aligned readonly v0+48 ;; @0045 v12 = icmp ult v11, v6 -;; @0045 brif v12, block5, block4 -;; -;; block4 cold: -;; @0045 trap user65535 -;; -;; block5: +;; @0045 trapz v12, user65535 ;; @0045 v5 = load.i64 notrap aligned readonly v0+40 ;; @0045 v13 = iadd v5, v9 ;; @0045 v14 = load.i8 notrap aligned v13 @@ -144,12 +114,7 @@ ;; stack_limit = gv2 ;; ;; block0(v0: i64, v1: i64, v2: i32): -;; @004e brif v2, block7, block6 -;; -;; block6 cold: -;; @004e trap null_reference -;; -;; block7: +;; @004e trapz v2, null_reference ;; @004e v7 = uextend.i64 v2 ;; @004e v8 = iconst.i64 24 ;; @004e v9 = uadd_overflow_trap v7, v8, user65535 ; v8 = 24 @@ -157,12 +122,7 @@ ;; @004e v11 = uadd_overflow_trap v9, v10, user65535 ; v10 = 4 ;; @004e v6 = load.i64 notrap aligned readonly v0+48 ;; @004e v12 = icmp ult v11, v6 -;; @004e brif v12, block9, block8 -;; -;; block8 cold: -;; @004e trap user65535 -;; -;; block9: +;; @004e trapz v12, user65535 ;; @004e v5 = load.i64 notrap aligned readonly v0+40 ;; @004e v13 = iadd v5, v9 ;; @004e v14 = load.i32 notrap aligned v13 @@ -187,35 +147,24 @@ ;; @004e v28 = uadd_overflow_trap v26, v27, user65535 ; v27 = 8 ;; @004e v30 = uadd_overflow_trap v28, v27, user65535 ; v27 = 8 ;; @004e v31 = icmp ult v30, v6 -;; @004e brif v31, block11, block10 -;; -;; block10 cold: -;; @004e trap user65535 -;; -;; block11: +;; @004e trapz v31, user65535 ;; @004e v32 = iadd.i64 v5, v28 ;; @004e v33 = load.i64 notrap aligned v32 ;; v51 = load.i32 notrap v54 ;; @004e v38 = uextend.i64 v51 -;; v64 = iconst.i64 8 -;; @004e v40 = uadd_overflow_trap v38, v64, user65535 ; v64 = 8 -;; @004e v42 = uadd_overflow_trap v40, v64, user65535 ; v64 = 8 +;; @004e v40 = uadd_overflow_trap v38, v27, user65535 ; v27 = 8 +;; @004e v42 = uadd_overflow_trap v40, v27, user65535 ; v27 = 8 ;; @004e v43 = icmp ult v42, v6 -;; @004e brif v43, block13, block12 -;; -;; block12 cold: -;; @004e trap user65535 -;; -;; block13: +;; @004e trapz v43, user65535 ;; v58 = iconst.i64 1 -;; @004e v34 = iadd.i64 v33, v58 ; v58 = 1 +;; @004e v34 = iadd v33, v58 ; v58 = 1 ;; @004e v44 = iadd.i64 v5, v40 ;; @004e store notrap aligned v34, v44 ;; v50 = load.i32 notrap v54 ;; @004e store notrap aligned v50, v20 -;; v65 = iconst.i64 4 -;; v66 = iadd.i64 v20, v65 ; v65 = 4 -;; @004e store notrap aligned v66, v19 +;; v64 = iconst.i64 4 +;; v65 = iadd.i64 v20, v64 ; v64 = 4 +;; @004e store notrap aligned v65, v19 ;; @004e jump block5 ;; ;; block3 cold: diff --git a/tests/disas/gc/struct-new-default.wat b/tests/disas/gc/struct-new-default.wat index 65b19ca6fad1..55b72eb1299a 100644 --- a/tests/disas/gc/struct-new-default.wat +++ b/tests/disas/gc/struct-new-default.wat @@ -33,41 +33,24 @@ ;; @0021 v19 = uadd_overflow_trap v17, v18, user65535 ; v18 = 4 ;; @0021 v14 = load.i64 notrap aligned readonly v0+48 ;; @0021 v20 = icmp ult v19, v14 -;; @0021 brif v20, block5, block4 -;; -;; block4 cold: -;; @0021 trap user65535 -;; -;; block5: +;; @0021 trapz v20, user65535 ;; @0021 v3 = f32const 0.0 ;; @0021 v13 = load.i64 notrap aligned readonly v0+40 ;; @0021 v21 = iadd v13, v17 ;; @0021 store notrap aligned v3, v21 ; v3 = 0.0 ;; @0021 v26 = iconst.i64 20 -;; @0021 v27 = uadd_overflow_trap.i64 v15, v26, user65535 ; v26 = 20 +;; @0021 v27 = uadd_overflow_trap v15, v26, user65535 ; v26 = 20 ;; @0021 v28 = iconst.i64 1 ;; @0021 v29 = uadd_overflow_trap v27, v28, user65535 ; v28 = 1 ;; @0021 v30 = icmp ult v29, v14 -;; @0021 brif v30, block7, block6 -;; -;; block6 cold: -;; @0021 trap user65535 -;; -;; block7: -;; v83 = iconst.i32 0 -;; @0021 v31 = iadd.i64 v13, v27 -;; @0021 istore8 notrap aligned v83, v31 ; v83 = 0 +;; @0021 trapz v30, user65535 +;; @0021 v31 = iadd v13, v27 +;; @0021 istore8 notrap aligned v4, v31 ; v4 = 0 ;; @0021 v36 = iconst.i64 24 -;; @0021 v37 = uadd_overflow_trap.i64 v15, v36, user65535 ; v36 = 24 -;; v84 = iconst.i64 4 -;; @0021 v39 = uadd_overflow_trap v37, v84, user65535 ; v84 = 4 +;; @0021 v37 = uadd_overflow_trap v15, v36, user65535 ; v36 = 24 +;; @0021 v39 = uadd_overflow_trap v37, v18, user65535 ; v18 = 4 ;; @0021 v40 = icmp ult v39, v14 -;; @0021 brif v40, block9, block8 -;; -;; block8 cold: -;; @0021 trap user65535 -;; -;; block9: +;; @0021 trapz v40, user65535 ;; v75 = iconst.i8 1 ;; @0021 brif v75, block3, block2 ; v75 = 1 ;; @@ -77,29 +60,19 @@ ;; @0021 v50 = uadd_overflow_trap v82, v49, user65535 ; v82 = 0, v49 = 8 ;; @0021 v52 = uadd_overflow_trap v50, v49, user65535 ; v49 = 8 ;; @0021 v53 = icmp ult v52, v14 -;; @0021 brif v53, block11, block10 -;; -;; block10 cold: -;; @0021 trap user65535 -;; -;; block11: +;; @0021 trapz v53, user65535 ;; @0021 v54 = iadd.i64 v13, v50 ;; @0021 v55 = load.i64 notrap aligned v54 -;; @0021 brif.i8 v53, block13, block12 -;; -;; block12 cold: -;; @0021 trap user65535 -;; -;; block13: -;; v85 = iconst.i64 1 -;; v86 = iadd.i64 v55, v85 ; v85 = 1 -;; @0021 store notrap aligned v86, v54 +;; @0021 trapz v53, user65535 +;; v83 = iconst.i64 1 +;; v84 = iadd v55, v83 ; v83 = 1 +;; @0021 store notrap aligned v84, v54 ;; @0021 jump block3 ;; ;; block3: -;; v87 = iconst.i32 0 +;; v85 = iconst.i32 0 ;; @0021 v41 = iadd.i64 v13, v37 -;; @0021 store notrap aligned v87, v41 ; v87 = 0 +;; @0021 store notrap aligned v85, v41 ; v85 = 0 ;; @0024 jump block1 ;; ;; block1: diff --git a/tests/disas/gc/struct-new.wat b/tests/disas/gc/struct-new.wat index f8848e7cab70..f592504fbe6d 100644 --- a/tests/disas/gc/struct-new.wat +++ b/tests/disas/gc/struct-new.wat @@ -36,45 +36,28 @@ ;; @002a v19 = uadd_overflow_trap v17, v18, user65535 ; v18 = 4 ;; @002a v14 = load.i64 notrap aligned readonly v0+48 ;; @002a v20 = icmp ult v19, v14 -;; @002a brif v20, block5, block4 -;; -;; block4 cold: -;; @002a trap user65535 -;; -;; block5: +;; @002a trapz v20, user65535 ;; @002a v13 = load.i64 notrap aligned readonly v0+40 ;; @002a v21 = iadd v13, v17 -;; @002a store.f32 notrap aligned v2, v21 +;; @002a store notrap aligned v2, v21 ;; @002a v26 = iconst.i64 20 -;; @002a v27 = uadd_overflow_trap.i64 v15, v26, user65535 ; v26 = 20 +;; @002a v27 = uadd_overflow_trap v15, v26, user65535 ; v26 = 20 ;; @002a v28 = iconst.i64 1 ;; @002a v29 = uadd_overflow_trap v27, v28, user65535 ; v28 = 1 ;; @002a v30 = icmp ult v29, v14 -;; @002a brif v30, block7, block6 -;; -;; block6 cold: -;; @002a trap user65535 -;; -;; block7: -;; @002a v31 = iadd.i64 v13, v27 -;; @002a istore8.i32 notrap aligned v3, v31 +;; @002a trapz v30, user65535 +;; @002a v31 = iadd v13, v27 +;; @002a istore8 notrap aligned v3, v31 ;; @002a v36 = iconst.i64 24 -;; @002a v37 = uadd_overflow_trap.i64 v15, v36, user65535 ; v36 = 24 -;; v78 = iconst.i64 4 -;; @002a v39 = uadd_overflow_trap v37, v78, user65535 ; v78 = 4 +;; @002a v37 = uadd_overflow_trap v15, v36, user65535 ; v36 = 24 +;; @002a v39 = uadd_overflow_trap v37, v18, user65535 ; v18 = 4 ;; @002a v40 = icmp ult v39, v14 -;; @002a brif v40, block9, block8 -;; -;; block8 cold: -;; @002a trap user65535 -;; -;; block9: +;; @002a trapz v40, user65535 ;; v70 = load.i32 notrap v71 ;; @002a v42 = iconst.i32 -2 ;; @002a v43 = band v70, v42 ; v42 = -2 -;; v79 = iconst.i32 0 -;; v80 = icmp eq v43, v79 ; v79 = 0 -;; @002a brif v80, block3, block2 +;; @002a v44 = icmp eq v43, v8 ; v8 = 0 +;; @002a brif v44, block3, block2 ;; ;; block2: ;; @002a v48 = uextend.i64 v70 @@ -82,30 +65,19 @@ ;; @002a v50 = uadd_overflow_trap v48, v49, user65535 ; v49 = 8 ;; @002a v52 = uadd_overflow_trap v50, v49, user65535 ; v49 = 8 ;; @002a v53 = icmp ult v52, v14 -;; @002a brif v53, block11, block10 -;; -;; block10 cold: -;; @002a trap user65535 -;; -;; block11: +;; @002a trapz v53, user65535 ;; @002a v54 = iadd.i64 v13, v50 ;; @002a v55 = load.i64 notrap aligned v54 ;; v68 = load.i32 notrap v71 ;; @002a v60 = uextend.i64 v68 -;; v81 = iconst.i64 8 -;; @002a v62 = uadd_overflow_trap v60, v81, user65535 ; v81 = 8 -;; @002a v64 = uadd_overflow_trap v62, v81, user65535 ; v81 = 8 +;; @002a v62 = uadd_overflow_trap v60, v49, user65535 ; v49 = 8 +;; @002a v64 = uadd_overflow_trap v62, v49, user65535 ; v49 = 8 ;; @002a v65 = icmp ult v64, v14 -;; @002a brif v65, block13, block12 -;; -;; block12 cold: -;; @002a trap user65535 -;; -;; block13: -;; v82 = iconst.i64 1 -;; v83 = iadd.i64 v55, v82 ; v82 = 1 +;; @002a trapz v65, user65535 +;; v78 = iconst.i64 1 +;; v79 = iadd v55, v78 ; v78 = 1 ;; @002a v66 = iadd.i64 v13, v62 -;; @002a store notrap aligned v83, v66 +;; @002a store notrap aligned v79, v66 ;; @002a jump block3 ;; ;; block3: diff --git a/tests/disas/gc/struct-set.wat b/tests/disas/gc/struct-set.wat index 1567f81f7b2d..d31f014ec522 100644 --- a/tests/disas/gc/struct-set.wat +++ b/tests/disas/gc/struct-set.wat @@ -27,12 +27,7 @@ ;; stack_limit = gv2 ;; ;; block0(v0: i64, v1: i64, v2: i32, v3: f32): -;; @0034 brif v2, block3, block2 -;; -;; block2 cold: -;; @0034 trap null_reference -;; -;; block3: +;; @0034 trapz v2, null_reference ;; @0034 v7 = uextend.i64 v2 ;; @0034 v8 = iconst.i64 16 ;; @0034 v9 = uadd_overflow_trap v7, v8, user65535 ; v8 = 16 @@ -40,15 +35,10 @@ ;; @0034 v11 = uadd_overflow_trap v9, v10, user65535 ; v10 = 4 ;; @0034 v6 = load.i64 notrap aligned readonly v0+48 ;; @0034 v12 = icmp ult v11, v6 -;; @0034 brif v12, block5, block4 -;; -;; block4 cold: -;; @0034 trap user65535 -;; -;; block5: +;; @0034 trapz v12, user65535 ;; @0034 v5 = load.i64 notrap aligned readonly v0+40 ;; @0034 v13 = iadd v5, v9 -;; @0034 store.f32 notrap aligned v3, v13 +;; @0034 store notrap aligned v3, v13 ;; @0038 jump block1 ;; ;; block1: @@ -63,12 +53,7 @@ ;; stack_limit = gv2 ;; ;; block0(v0: i64, v1: i64, v2: i32, v3: i32): -;; @003f brif v2, block3, block2 -;; -;; block2 cold: -;; @003f trap null_reference -;; -;; block3: +;; @003f trapz v2, null_reference ;; @003f v7 = uextend.i64 v2 ;; @003f v8 = iconst.i64 20 ;; @003f v9 = uadd_overflow_trap v7, v8, user65535 ; v8 = 20 @@ -76,15 +61,10 @@ ;; @003f v11 = uadd_overflow_trap v9, v10, user65535 ; v10 = 1 ;; @003f v6 = load.i64 notrap aligned readonly v0+48 ;; @003f v12 = icmp ult v11, v6 -;; @003f brif v12, block5, block4 -;; -;; block4 cold: -;; @003f trap user65535 -;; -;; block5: +;; @003f trapz v12, user65535 ;; @003f v5 = load.i64 notrap aligned readonly v0+40 ;; @003f v13 = iadd v5, v9 -;; @003f istore8.i32 notrap aligned v3, v13 +;; @003f istore8 notrap aligned v3, v13 ;; @0043 jump block1 ;; ;; block1: @@ -101,12 +81,7 @@ ;; stack_limit = gv2 ;; ;; block0(v0: i64, v1: i64, v2: i32, v3: i32): -;; @004a brif v2, block9, block8 -;; -;; block8 cold: -;; @004a trap null_reference -;; -;; block9: +;; @004a trapz v2, null_reference ;; @004a v7 = uextend.i64 v2 ;; @004a v8 = iconst.i64 24 ;; @004a v9 = uadd_overflow_trap v7, v8, user65535 ; v8 = 24 @@ -114,17 +89,12 @@ ;; @004a v11 = uadd_overflow_trap v9, v10, user65535 ; v10 = 4 ;; @004a v6 = load.i64 notrap aligned readonly v0+48 ;; @004a v12 = icmp ult v11, v6 -;; @004a brif v12, block11, block10 -;; -;; block10 cold: -;; @004a trap user65535 -;; -;; block11: +;; @004a trapz v12, user65535 ;; @004a v5 = load.i64 notrap aligned readonly v0+40 ;; @004a v13 = iadd v5, v9 ;; @004a v14 = load.i32 notrap aligned v13 ;; @004a v15 = iconst.i32 -2 -;; @004a v16 = band.i32 v3, v15 ; v15 = -2 +;; @004a v16 = band v3, v15 ; v15 = -2 ;; v67 = iconst.i32 0 ;; @004a v17 = icmp eq v16, v67 ; v67 = 0 ;; @004a brif v17, block3, block2 @@ -135,22 +105,12 @@ ;; @004a v23 = uadd_overflow_trap v21, v47, user65535 ; v47 = 8 ;; @004a v25 = uadd_overflow_trap v23, v47, user65535 ; v47 = 8 ;; @004a v26 = icmp ult v25, v6 -;; @004a brif v26, block13, block12 -;; -;; block12 cold: -;; @004a trap user65535 -;; -;; block13: +;; @004a trapz v26, user65535 ;; @004a v27 = iadd.i64 v5, v23 ;; @004a v28 = load.i64 notrap aligned v27 -;; @004a brif.i8 v26, block15, block14 -;; -;; block14 cold: -;; @004a trap user65535 -;; -;; block15: +;; @004a trapz v26, user65535 ;; v68 = iconst.i64 1 -;; @004a v29 = iadd.i64 v28, v68 ; v68 = 1 +;; @004a v29 = iadd v28, v68 ; v68 = 1 ;; @004a store notrap aligned v29, v27 ;; @004a jump block3 ;; @@ -168,12 +128,7 @@ ;; @004a v48 = uadd_overflow_trap v46, v76, user65535 ; v76 = 8 ;; @004a v50 = uadd_overflow_trap v48, v76, user65535 ; v76 = 8 ;; @004a v51 = icmp ult v50, v6 -;; @004a brif v51, block17, block16 -;; -;; block16 cold: -;; @004a trap user65535 -;; -;; block17: +;; @004a trapz v51, user65535 ;; @004a v52 = iadd.i64 v5, v48 ;; @004a v53 = load.i64 notrap aligned v52 ;; v70 = iconst.i64 -1 @@ -187,12 +142,7 @@ ;; @004a jump block7 ;; ;; block6: -;; @004a brif.i8 v51, block19, block18 -;; -;; block18 cold: -;; @004a trap user65535 -;; -;; block19: +;; @004a trapz.i8 v51, user65535 ;; v77 = iadd.i64 v53, v70 ; v70 = -1 ;; @004a store notrap aligned v77, v52 ;; @004a jump block7 diff --git a/tests/disas/icall-loop.wat b/tests/disas/icall-loop.wat index 38689687810d..d0d6533d06b3 100644 --- a/tests/disas/icall-loop.wat +++ b/tests/disas/icall-loop.wat @@ -63,12 +63,7 @@ ;; block5(v14: i64): ;; @002b v22 = load.i32 icall_null aligned readonly v14+16 ;; @002b v23 = icmp eq v22, v21 -;; @002b brif v23, block7, block6 -;; -;; block6 cold: -;; @002b trap bad_sig -;; -;; block7: +;; @002b trapz v23, bad_sig ;; @002b v24 = load.i64 notrap aligned readonly v14+8 ;; @002b v25 = load.i64 notrap aligned readonly v14+24 ;; @002b v26 = call_indirect sig0, v24(v25, v0) @@ -113,12 +108,7 @@ ;; block5(v13: i64): ;; @0038 v21 = load.i32 icall_null aligned readonly v13+16 ;; @0038 v22 = icmp eq v21, v20 -;; @0038 brif v22, block7, block6 -;; -;; block6 cold: -;; @0038 trap bad_sig -;; -;; block7: +;; @0038 trapz v22, bad_sig ;; @0038 v23 = load.i64 notrap aligned readonly v13+8 ;; @0038 v24 = load.i64 notrap aligned readonly v13+24 ;; @0038 v25 = call_indirect sig0, v23(v24, v0) diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat index c73b4c9e0d02..5bc92c047b28 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -21,27 +21,31 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x7, [x2, #0x68] -;; mov w8, w4 -;; sub x7, x7, #4 -;; cmp x8, x7 -;; b.hi #0x2c -;; 1c: ldr x9, [x2, #0x60] -;; str w5, [x9, w4, uxtw] +;; ldr x9, [x2, #0x68] +;; mov w10, w4 +;; sub x9, x9, #4 +;; cmp x10, x9 +;; cset x10, hi +;; uxtb w10, w10 +;; cbnz x10, #0x34 +;; 24: ldr x11, [x2, #0x60] +;; str w5, [x11, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 34: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x7, [x2, #0x68] -;; mov w8, w4 -;; sub x7, x7, #4 -;; cmp x8, x7 -;; b.hi #0x6c -;; 5c: ldr x9, [x2, #0x60] -;; ldr w2, [x9, w4, uxtw] +;; ldr x9, [x2, #0x68] +;; mov w10, w4 +;; sub x9, x9, #4 +;; cmp x10, x9 +;; cset x10, hi +;; uxtb w10, w10 +;; cbnz x10, #0x74 +;; 64: ldr x11, [x2, #0x60] +;; ldr w2, [x11, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 74: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index 7427770f8f08..c95b1d317863 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -21,31 +21,35 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x9, [x2, #0x68] -;; mov w10, w4 -;; mov x11, #0x1004 -;; sub x9, x9, x11 -;; cmp x10, x9 -;; b.hi #0x34 -;; 20: ldr x11, [x2, #0x60] -;; add x11, x11, #1, lsl #12 -;; str w5, [x11, w4, uxtw] +;; ldr x11, [x2, #0x68] +;; mov w12, w4 +;; mov x13, #0x1004 +;; sub x11, x11, x13 +;; cmp x12, x11 +;; cset x12, hi +;; uxtb w12, w12 +;; cbnz x12, #0x3c +;; 28: ldr x13, [x2, #0x60] +;; add x13, x13, #1, lsl #12 +;; str w5, [x13, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 34: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 3c: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x9, [x2, #0x68] -;; mov w10, w4 -;; mov x11, #0x1004 -;; sub x9, x9, x11 -;; cmp x10, x9 -;; b.hi #0x74 -;; 60: ldr x11, [x2, #0x60] -;; add x10, x11, #1, lsl #12 -;; ldr w2, [x10, w4, uxtw] +;; ldr x11, [x2, #0x68] +;; mov w12, w4 +;; mov x13, #0x1004 +;; sub x11, x11, x13 +;; cmp x12, x11 +;; cset x12, hi +;; uxtb w12, w12 +;; cbnz x12, #0x7c +;; 68: ldr x13, [x2, #0x60] +;; add x12, x13, #1, lsl #12 +;; ldr w2, [x12, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 74: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 7c: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index a81f4511e7d7..764beed77266 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -21,37 +21,41 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w10, w4 -;; mov w11, #-0xfffc -;; adds x10, x10, x11 -;; b.hs #0x40 -;; 18: ldr x11, [x2, #0x68] -;; cmp x10, x11 -;; b.hi #0x3c -;; 24: ldr x13, [x2, #0x60] -;; add x13, x13, w4, uxtw -;; mov x14, #0xffff0000 -;; str w5, [x13, x14] +;; mov w12, w4 +;; mov w13, #-0xfffc +;; adds x12, x12, x13 +;; b.hs #0x44 +;; 18: ldr x13, [x2, #0x68] +;; cmp x12, x13 +;; cset x14, hi +;; uxtb w14, w14 +;; cbnz x14, #0x48 +;; 2c: ldr x15, [x2, #0x60] +;; add x15, x15, w4, uxtw +;; mov x0, #0xffff0000 +;; str w5, [x15, x0] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 3c: .byte 0x1f, 0xc1, 0x00, 0x00 -;; 40: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 44: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 48: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w10, w4 -;; mov w11, #-0xfffc -;; adds x10, x10, x11 -;; b.hs #0xa0 -;; 78: ldr x11, [x2, #0x68] -;; cmp x10, x11 -;; b.hi #0x9c -;; 84: ldr x13, [x2, #0x60] -;; add x13, x13, w4, uxtw -;; mov x14, #0xffff0000 -;; ldr w2, [x13, x14] +;; mov w12, w4 +;; mov w13, #-0xfffc +;; adds x12, x12, x13 +;; b.hs #0xa4 +;; 78: ldr x13, [x2, #0x68] +;; cmp x12, x13 +;; cset x14, hi +;; uxtb w14, w14 +;; cbnz x14, #0xa8 +;; 8c: ldr x15, [x2, #0x60] +;; add x15, x15, w4, uxtw +;; mov x0, #0xffff0000 +;; ldr w2, [x15, x0] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 9c: .byte 0x1f, 0xc1, 0x00, 0x00 -;; a0: .byte 0x1f, 0xc1, 0x00, 0x00 +;; a4: .byte 0x1f, 0xc1, 0x00, 0x00 +;; a8: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat index 0c9363f61d84..8c4a83eeb05c 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat @@ -21,25 +21,29 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x6, [x2, #0x68] -;; mov w7, w4 -;; cmp x7, x6 -;; b.hs #0x28 -;; 18: ldr x8, [x2, #0x60] -;; strb w5, [x8, w4, uxtw] +;; ldr x8, [x2, #0x68] +;; mov w9, w4 +;; cmp x9, x8 +;; cset x9, hs +;; uxtb w9, w9 +;; cbnz x9, #0x30 +;; 20: ldr x10, [x2, #0x60] +;; strb w5, [x10, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 28: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x6, [x2, #0x68] -;; mov w7, w4 -;; cmp x7, x6 -;; b.hs #0x68 -;; 58: ldr x8, [x2, #0x60] -;; ldrb w2, [x8, w4, uxtw] +;; ldr x8, [x2, #0x68] +;; mov w9, w4 +;; cmp x9, x8 +;; cset x9, hs +;; uxtb w9, w9 +;; cbnz x9, #0x70 +;; 60: ldr x10, [x2, #0x60] +;; ldrb w2, [x10, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 68: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index d5bdd6b2a3c1..c26945126e66 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -21,31 +21,35 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x9, [x2, #0x68] -;; mov w10, w4 -;; mov x11, #0x1001 -;; sub x9, x9, x11 -;; cmp x10, x9 -;; b.hi #0x34 -;; 20: ldr x11, [x2, #0x60] -;; add x11, x11, #1, lsl #12 -;; strb w5, [x11, w4, uxtw] +;; ldr x11, [x2, #0x68] +;; mov w12, w4 +;; mov x13, #0x1001 +;; sub x11, x11, x13 +;; cmp x12, x11 +;; cset x12, hi +;; uxtb w12, w12 +;; cbnz x12, #0x3c +;; 28: ldr x13, [x2, #0x60] +;; add x13, x13, #1, lsl #12 +;; strb w5, [x13, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 34: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 3c: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x9, [x2, #0x68] -;; mov w10, w4 -;; mov x11, #0x1001 -;; sub x9, x9, x11 -;; cmp x10, x9 -;; b.hi #0x74 -;; 60: ldr x11, [x2, #0x60] -;; add x10, x11, #1, lsl #12 -;; ldrb w2, [x10, w4, uxtw] +;; ldr x11, [x2, #0x68] +;; mov w12, w4 +;; mov x13, #0x1001 +;; sub x11, x11, x13 +;; cmp x12, x11 +;; cset x12, hi +;; uxtb w12, w12 +;; cbnz x12, #0x7c +;; 68: ldr x13, [x2, #0x60] +;; add x12, x13, #1, lsl #12 +;; ldrb w2, [x12, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 74: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 7c: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index 6d06771316f7..893da217e6b0 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -21,37 +21,41 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w10, w4 -;; mov w11, #-0xffff -;; adds x10, x10, x11 -;; b.hs #0x40 -;; 18: ldr x11, [x2, #0x68] -;; cmp x10, x11 -;; b.hi #0x3c -;; 24: ldr x13, [x2, #0x60] -;; add x13, x13, w4, uxtw -;; mov x14, #0xffff0000 -;; strb w5, [x13, x14] +;; mov w12, w4 +;; mov w13, #-0xffff +;; adds x12, x12, x13 +;; b.hs #0x44 +;; 18: ldr x13, [x2, #0x68] +;; cmp x12, x13 +;; cset x14, hi +;; uxtb w14, w14 +;; cbnz x14, #0x48 +;; 2c: ldr x15, [x2, #0x60] +;; add x15, x15, w4, uxtw +;; mov x0, #0xffff0000 +;; strb w5, [x15, x0] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 3c: .byte 0x1f, 0xc1, 0x00, 0x00 -;; 40: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 44: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 48: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w10, w4 -;; mov w11, #-0xffff -;; adds x10, x10, x11 -;; b.hs #0xa0 -;; 78: ldr x11, [x2, #0x68] -;; cmp x10, x11 -;; b.hi #0x9c -;; 84: ldr x13, [x2, #0x60] -;; add x13, x13, w4, uxtw -;; mov x14, #0xffff0000 -;; ldrb w2, [x13, x14] +;; mov w12, w4 +;; mov w13, #-0xffff +;; adds x12, x12, x13 +;; b.hs #0xa4 +;; 78: ldr x13, [x2, #0x68] +;; cmp x12, x13 +;; cset x14, hi +;; uxtb w14, w14 +;; cbnz x14, #0xa8 +;; 8c: ldr x15, [x2, #0x60] +;; add x15, x15, w4, uxtw +;; mov x0, #0xffff0000 +;; ldrb w2, [x15, x0] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 9c: .byte 0x1f, 0xc1, 0x00, 0x00 -;; a0: .byte 0x1f, 0xc1, 0x00, 0x00 +;; a4: .byte 0x1f, 0xc1, 0x00, 0x00 +;; a8: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat index e2f7e0183761..6ec30168b498 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat @@ -21,25 +21,29 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x6, [x2, #0x68] -;; mov w7, w4 -;; cmp x7, x6 -;; b.hi #0x28 -;; 18: ldr x8, [x2, #0x60] -;; str w5, [x8, w4, uxtw] +;; ldr x8, [x2, #0x68] +;; mov w9, w4 +;; cmp x9, x8 +;; cset x9, hi +;; uxtb w9, w9 +;; cbnz x9, #0x30 +;; 20: ldr x10, [x2, #0x60] +;; str w5, [x10, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 28: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x6, [x2, #0x68] -;; mov w7, w4 -;; cmp x7, x6 -;; b.hi #0x68 -;; 58: ldr x8, [x2, #0x60] -;; ldr w2, [x8, w4, uxtw] +;; ldr x8, [x2, #0x68] +;; mov w9, w4 +;; cmp x9, x8 +;; cset x9, hi +;; uxtb w9, w9 +;; cbnz x9, #0x70 +;; 60: ldr x10, [x2, #0x60] +;; ldr w2, [x10, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 68: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat index 8971cb9073af..2f47418efd82 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat @@ -21,27 +21,31 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x7, [x2, #0x68] -;; mov w8, w4 -;; cmp x8, x7 -;; b.hi #0x2c -;; 18: ldr x9, [x2, #0x60] -;; add x9, x9, #1, lsl #12 -;; str w5, [x9, w4, uxtw] +;; ldr x9, [x2, #0x68] +;; mov w10, w4 +;; cmp x10, x9 +;; cset x10, hi +;; uxtb w10, w10 +;; cbnz x10, #0x34 +;; 20: ldr x11, [x2, #0x60] +;; add x11, x11, #1, lsl #12 +;; str w5, [x11, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 34: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x7, [x2, #0x68] -;; mov w8, w4 -;; cmp x8, x7 -;; b.hi #0x6c -;; 58: ldr x9, [x2, #0x60] -;; add x8, x9, #1, lsl #12 -;; ldr w2, [x8, w4, uxtw] +;; ldr x9, [x2, #0x68] +;; mov w10, w4 +;; cmp x10, x9 +;; cset x10, hi +;; uxtb w10, w10 +;; cbnz x10, #0x74 +;; 60: ldr x11, [x2, #0x60] +;; add x10, x11, #1, lsl #12 +;; ldr w2, [x10, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 74: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat index a1dbf391c7c0..794d8023da00 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -21,29 +21,33 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x8, [x2, #0x68] -;; mov w9, w4 -;; cmp x9, x8 -;; b.hi #0x30 -;; 18: ldr x10, [x2, #0x60] -;; add x10, x10, w4, uxtw -;; mov x11, #0xffff0000 -;; str w5, [x10, x11] +;; ldr x10, [x2, #0x68] +;; mov w11, w4 +;; cmp x11, x10 +;; cset x11, hi +;; uxtb w11, w11 +;; cbnz x11, #0x38 +;; 20: ldr x12, [x2, #0x60] +;; add x12, x12, w4, uxtw +;; mov x13, #0xffff0000 +;; str w5, [x12, x13] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 38: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x8, [x2, #0x68] -;; mov w9, w4 -;; cmp x9, x8 -;; b.hi #0x70 -;; 58: ldr x10, [x2, #0x60] -;; add x10, x10, w4, uxtw -;; mov x11, #0xffff0000 -;; ldr w2, [x10, x11] +;; ldr x10, [x2, #0x68] +;; mov w11, w4 +;; cmp x11, x10 +;; cset x11, hi +;; uxtb w11, w11 +;; cbnz x11, #0x78 +;; 60: ldr x12, [x2, #0x60] +;; add x12, x12, w4, uxtw +;; mov x13, #0xffff0000 +;; ldr w2, [x12, x13] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 78: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat index df845666261a..8c44b5e0926b 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat @@ -21,25 +21,29 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x6, [x2, #0x68] -;; mov w7, w4 -;; cmp x7, x6 -;; b.hs #0x28 -;; 18: ldr x8, [x2, #0x60] -;; strb w5, [x8, w4, uxtw] +;; ldr x8, [x2, #0x68] +;; mov w9, w4 +;; cmp x9, x8 +;; cset x9, hs +;; uxtb w9, w9 +;; cbnz x9, #0x30 +;; 20: ldr x10, [x2, #0x60] +;; strb w5, [x10, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 28: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x6, [x2, #0x68] -;; mov w7, w4 -;; cmp x7, x6 -;; b.hs #0x68 -;; 58: ldr x8, [x2, #0x60] -;; ldrb w2, [x8, w4, uxtw] +;; ldr x8, [x2, #0x68] +;; mov w9, w4 +;; cmp x9, x8 +;; cset x9, hs +;; uxtb w9, w9 +;; cbnz x9, #0x70 +;; 60: ldr x10, [x2, #0x60] +;; ldrb w2, [x10, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 68: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat index 8e9dc7990cbb..096dc99979f3 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat @@ -21,27 +21,31 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x7, [x2, #0x68] -;; mov w8, w4 -;; cmp x8, x7 -;; b.hi #0x2c -;; 18: ldr x9, [x2, #0x60] -;; add x9, x9, #1, lsl #12 -;; strb w5, [x9, w4, uxtw] +;; ldr x9, [x2, #0x68] +;; mov w10, w4 +;; cmp x10, x9 +;; cset x10, hi +;; uxtb w10, w10 +;; cbnz x10, #0x34 +;; 20: ldr x11, [x2, #0x60] +;; add x11, x11, #1, lsl #12 +;; strb w5, [x11, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 34: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x7, [x2, #0x68] -;; mov w8, w4 -;; cmp x8, x7 -;; b.hi #0x6c -;; 58: ldr x9, [x2, #0x60] -;; add x8, x9, #1, lsl #12 -;; ldrb w2, [x8, w4, uxtw] +;; ldr x9, [x2, #0x68] +;; mov w10, w4 +;; cmp x10, x9 +;; cset x10, hi +;; uxtb w10, w10 +;; cbnz x10, #0x74 +;; 60: ldr x11, [x2, #0x60] +;; add x10, x11, #1, lsl #12 +;; ldrb w2, [x10, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 74: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat index 6aa6868cf2d1..6151554c704b 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -21,29 +21,33 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x8, [x2, #0x68] -;; mov w9, w4 -;; cmp x9, x8 -;; b.hi #0x30 -;; 18: ldr x10, [x2, #0x60] -;; add x10, x10, w4, uxtw -;; mov x11, #0xffff0000 -;; strb w5, [x10, x11] +;; ldr x10, [x2, #0x68] +;; mov w11, w4 +;; cmp x11, x10 +;; cset x11, hi +;; uxtb w11, w11 +;; cbnz x11, #0x38 +;; 20: ldr x12, [x2, #0x60] +;; add x12, x12, w4, uxtw +;; mov x13, #0xffff0000 +;; strb w5, [x12, x13] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 38: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x8, [x2, #0x68] -;; mov w9, w4 -;; cmp x9, x8 -;; b.hi #0x70 -;; 58: ldr x10, [x2, #0x60] -;; add x10, x10, w4, uxtw -;; mov x11, #0xffff0000 -;; ldrb w2, [x10, x11] +;; ldr x10, [x2, #0x68] +;; mov w11, w4 +;; cmp x11, x10 +;; cset x11, hi +;; uxtb w11, w11 +;; cbnz x11, #0x78 +;; 60: ldr x12, [x2, #0x60] +;; add x12, x12, w4, uxtw +;; mov x13, #0xffff0000 +;; ldrb w2, [x12, x13] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 78: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat index 719549a9eb3a..de413f00db87 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -21,25 +21,29 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x6, [x2, #0x68] -;; sub x6, x6, #4 -;; cmp x4, x6 -;; b.hi #0x28 -;; 18: ldr x8, [x2, #0x60] -;; str w5, [x8, x4] +;; ldr x8, [x2, #0x68] +;; sub x8, x8, #4 +;; cmp x4, x8 +;; cset x9, hi +;; uxtb w9, w9 +;; cbnz x9, #0x30 +;; 20: ldr x10, [x2, #0x60] +;; str w5, [x10, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 28: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x6, [x2, #0x68] -;; sub x6, x6, #4 -;; cmp x4, x6 -;; b.hi #0x68 -;; 58: ldr x8, [x2, #0x60] -;; ldr w2, [x8, x4] +;; ldr x8, [x2, #0x68] +;; sub x8, x8, #4 +;; cmp x4, x8 +;; cset x9, hi +;; uxtb w9, w9 +;; cbnz x9, #0x70 +;; 60: ldr x10, [x2, #0x60] +;; ldr w2, [x10, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 68: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index da07acf2e9d5..890701a5dbc9 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -21,29 +21,33 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x8, [x2, #0x68] -;; mov x9, #0x1004 -;; sub x8, x8, x9 -;; cmp x4, x8 -;; b.hi #0x30 -;; 1c: ldr x10, [x2, #0x60] -;; add x10, x10, #1, lsl #12 -;; str w5, [x10, x4] +;; ldr x10, [x2, #0x68] +;; mov x11, #0x1004 +;; sub x10, x10, x11 +;; cmp x4, x10 +;; cset x11, hi +;; uxtb w11, w11 +;; cbnz x11, #0x38 +;; 24: ldr x12, [x2, #0x60] +;; add x12, x12, #1, lsl #12 +;; str w5, [x12, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 38: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x8, [x2, #0x68] -;; mov x9, #0x1004 -;; sub x8, x8, x9 -;; cmp x4, x8 -;; b.hi #0x70 -;; 5c: ldr x10, [x2, #0x60] -;; add x9, x10, #1, lsl #12 -;; ldr w2, [x9, x4] +;; ldr x10, [x2, #0x68] +;; mov x11, #0x1004 +;; sub x10, x10, x11 +;; cmp x4, x10 +;; cset x11, hi +;; uxtb w11, w11 +;; cbnz x11, #0x78 +;; 64: ldr x12, [x2, #0x60] +;; add x11, x12, #1, lsl #12 +;; ldr w2, [x11, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 78: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index 5137953a1840..9426c4c7a5b9 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -21,35 +21,39 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w9, #-0xfffc -;; adds x9, x4, x9 -;; b.hs #0x3c -;; 14: ldr x10, [x2, #0x68] -;; cmp x9, x10 -;; b.hi #0x38 -;; 20: ldr x12, [x2, #0x60] -;; add x12, x12, x4 -;; mov x13, #0xffff0000 -;; str w5, [x12, x13] +;; mov w11, #-0xfffc +;; adds x11, x4, x11 +;; b.hs #0x40 +;; 14: ldr x12, [x2, #0x68] +;; cmp x11, x12 +;; cset x13, hi +;; uxtb w13, w13 +;; cbnz x13, #0x44 +;; 28: ldr x14, [x2, #0x60] +;; add x14, x14, x4 +;; mov x15, #0xffff0000 +;; str w5, [x14, x15] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 38: .byte 0x1f, 0xc1, 0x00, 0x00 -;; 3c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 40: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 44: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w9, #-0xfffc -;; adds x9, x4, x9 -;; b.hs #0x7c -;; 54: ldr x10, [x2, #0x68] -;; cmp x9, x10 -;; b.hi #0x78 -;; 60: ldr x12, [x2, #0x60] -;; add x12, x12, x4 -;; mov x13, #0xffff0000 -;; ldr w2, [x12, x13] +;; mov w11, #-0xfffc +;; adds x11, x4, x11 +;; b.hs #0xa0 +;; 74: ldr x12, [x2, #0x68] +;; cmp x11, x12 +;; cset x13, hi +;; uxtb w13, w13 +;; cbnz x13, #0xa4 +;; 88: ldr x14, [x2, #0x60] +;; add x14, x14, x4 +;; mov x15, #0xffff0000 +;; ldr w2, [x14, x15] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 78: .byte 0x1f, 0xc1, 0x00, 0x00 -;; 7c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; a0: .byte 0x1f, 0xc1, 0x00, 0x00 +;; a4: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat index 6670a6f858e3..c65633018e0a 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat @@ -21,23 +21,27 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x6, [x2, #0x68] -;; cmp x4, x6 -;; b.hs #0x24 -;; 14: ldr x7, [x2, #0x60] -;; strb w5, [x7, x4] +;; ldr x7, [x2, #0x68] +;; cmp x4, x7 +;; cset x8, hs +;; uxtb w8, w8 +;; cbnz x8, #0x2c +;; 1c: ldr x9, [x2, #0x60] +;; strb w5, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 24: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x5, [x2, #0x68] -;; cmp x4, x5 -;; b.hs #0x64 -;; 54: ldr x7, [x2, #0x60] -;; ldrb w2, [x7, x4] +;; ldr x7, [x2, #0x68] +;; cmp x4, x7 +;; cset x8, hs +;; uxtb w8, w8 +;; cbnz x8, #0x6c +;; 5c: ldr x9, [x2, #0x60] +;; ldrb w2, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 64: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index 57708d062dbc..4d5f3ec2c05c 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -21,29 +21,33 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x8, [x2, #0x68] -;; mov x9, #0x1001 -;; sub x8, x8, x9 -;; cmp x4, x8 -;; b.hi #0x30 -;; 1c: ldr x10, [x2, #0x60] -;; add x10, x10, #1, lsl #12 -;; strb w5, [x10, x4] +;; ldr x10, [x2, #0x68] +;; mov x11, #0x1001 +;; sub x10, x10, x11 +;; cmp x4, x10 +;; cset x11, hi +;; uxtb w11, w11 +;; cbnz x11, #0x38 +;; 24: ldr x12, [x2, #0x60] +;; add x12, x12, #1, lsl #12 +;; strb w5, [x12, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 38: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x8, [x2, #0x68] -;; mov x9, #0x1001 -;; sub x8, x8, x9 -;; cmp x4, x8 -;; b.hi #0x70 -;; 5c: ldr x10, [x2, #0x60] -;; add x9, x10, #1, lsl #12 -;; ldrb w2, [x9, x4] +;; ldr x10, [x2, #0x68] +;; mov x11, #0x1001 +;; sub x10, x10, x11 +;; cmp x4, x10 +;; cset x11, hi +;; uxtb w11, w11 +;; cbnz x11, #0x78 +;; 64: ldr x12, [x2, #0x60] +;; add x11, x12, #1, lsl #12 +;; ldrb w2, [x11, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 78: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index 3178f60ec3b3..6b6d1e1b6459 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -21,35 +21,39 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w9, #-0xffff -;; adds x9, x4, x9 -;; b.hs #0x3c -;; 14: ldr x10, [x2, #0x68] -;; cmp x9, x10 -;; b.hi #0x38 -;; 20: ldr x12, [x2, #0x60] -;; add x12, x12, x4 -;; mov x13, #0xffff0000 -;; strb w5, [x12, x13] +;; mov w11, #-0xffff +;; adds x11, x4, x11 +;; b.hs #0x40 +;; 14: ldr x12, [x2, #0x68] +;; cmp x11, x12 +;; cset x13, hi +;; uxtb w13, w13 +;; cbnz x13, #0x44 +;; 28: ldr x14, [x2, #0x60] +;; add x14, x14, x4 +;; mov x15, #0xffff0000 +;; strb w5, [x14, x15] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 38: .byte 0x1f, 0xc1, 0x00, 0x00 -;; 3c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 40: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 44: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w9, #-0xffff -;; adds x9, x4, x9 -;; b.hs #0x7c -;; 54: ldr x10, [x2, #0x68] -;; cmp x9, x10 -;; b.hi #0x78 -;; 60: ldr x12, [x2, #0x60] -;; add x12, x12, x4 -;; mov x13, #0xffff0000 -;; ldrb w2, [x12, x13] +;; mov w11, #-0xffff +;; adds x11, x4, x11 +;; b.hs #0xa0 +;; 74: ldr x12, [x2, #0x68] +;; cmp x11, x12 +;; cset x13, hi +;; uxtb w13, w13 +;; cbnz x13, #0xa4 +;; 88: ldr x14, [x2, #0x60] +;; add x14, x14, x4 +;; mov x15, #0xffff0000 +;; ldrb w2, [x14, x15] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 78: .byte 0x1f, 0xc1, 0x00, 0x00 -;; 7c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; a0: .byte 0x1f, 0xc1, 0x00, 0x00 +;; a4: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat index cbec65031552..8d92a58a3edb 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat @@ -21,23 +21,27 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x6, [x2, #0x68] -;; cmp x4, x6 -;; b.hi #0x24 -;; 14: ldr x7, [x2, #0x60] -;; str w5, [x7, x4] +;; ldr x7, [x2, #0x68] +;; cmp x4, x7 +;; cset x8, hi +;; uxtb w8, w8 +;; cbnz x8, #0x2c +;; 1c: ldr x9, [x2, #0x60] +;; str w5, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 24: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x5, [x2, #0x68] -;; cmp x4, x5 -;; b.hi #0x64 -;; 54: ldr x7, [x2, #0x60] -;; ldr w2, [x7, x4] +;; ldr x7, [x2, #0x68] +;; cmp x4, x7 +;; cset x8, hi +;; uxtb w8, w8 +;; cbnz x8, #0x6c +;; 5c: ldr x9, [x2, #0x60] +;; ldr w2, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 64: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat index f6a0ffbe85ff..fb66bb7cfd35 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat @@ -21,25 +21,29 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x6, [x2, #0x68] -;; cmp x4, x6 -;; b.hi #0x28 -;; 14: ldr x8, [x2, #0x60] -;; add x8, x8, #1, lsl #12 -;; str w5, [x8, x4] +;; ldr x8, [x2, #0x68] +;; cmp x4, x8 +;; cset x9, hi +;; uxtb w9, w9 +;; cbnz x9, #0x30 +;; 1c: ldr x10, [x2, #0x60] +;; add x10, x10, #1, lsl #12 +;; str w5, [x10, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 28: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x6, [x2, #0x68] -;; cmp x4, x6 -;; b.hi #0x68 -;; 54: ldr x8, [x2, #0x60] -;; add x7, x8, #1, lsl #12 -;; ldr w2, [x7, x4] +;; ldr x8, [x2, #0x68] +;; cmp x4, x8 +;; cset x9, hi +;; uxtb w9, w9 +;; cbnz x9, #0x70 +;; 5c: ldr x10, [x2, #0x60] +;; add x9, x10, #1, lsl #12 +;; ldr w2, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 68: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat index c985ed4c19da..678049652b3c 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -21,27 +21,31 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x7, [x2, #0x68] -;; cmp x4, x7 -;; b.hi #0x2c -;; 14: ldr x9, [x2, #0x60] -;; add x9, x9, x4 -;; mov x10, #0xffff0000 -;; str w5, [x9, x10] +;; ldr x9, [x2, #0x68] +;; cmp x4, x9 +;; cset x10, hi +;; uxtb w10, w10 +;; cbnz x10, #0x34 +;; 1c: ldr x11, [x2, #0x60] +;; add x11, x11, x4 +;; mov x12, #0xffff0000 +;; str w5, [x11, x12] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 34: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x7, [x2, #0x68] -;; cmp x4, x7 -;; b.hi #0x6c -;; 54: ldr x9, [x2, #0x60] -;; add x9, x9, x4 -;; mov x10, #0xffff0000 -;; ldr w2, [x9, x10] +;; ldr x9, [x2, #0x68] +;; cmp x4, x9 +;; cset x10, hi +;; uxtb w10, w10 +;; cbnz x10, #0x74 +;; 5c: ldr x11, [x2, #0x60] +;; add x11, x11, x4 +;; mov x12, #0xffff0000 +;; ldr w2, [x11, x12] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 74: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat index 2687a25e3a30..80d5bdebaf71 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat @@ -21,23 +21,27 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x6, [x2, #0x68] -;; cmp x4, x6 -;; b.hs #0x24 -;; 14: ldr x7, [x2, #0x60] -;; strb w5, [x7, x4] +;; ldr x7, [x2, #0x68] +;; cmp x4, x7 +;; cset x8, hs +;; uxtb w8, w8 +;; cbnz x8, #0x2c +;; 1c: ldr x9, [x2, #0x60] +;; strb w5, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 24: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x5, [x2, #0x68] -;; cmp x4, x5 -;; b.hs #0x64 -;; 54: ldr x7, [x2, #0x60] -;; ldrb w2, [x7, x4] +;; ldr x7, [x2, #0x68] +;; cmp x4, x7 +;; cset x8, hs +;; uxtb w8, w8 +;; cbnz x8, #0x6c +;; 5c: ldr x9, [x2, #0x60] +;; ldrb w2, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 64: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat index 4ce6d128905d..8aeca10ce6a3 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat @@ -21,25 +21,29 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x6, [x2, #0x68] -;; cmp x4, x6 -;; b.hi #0x28 -;; 14: ldr x8, [x2, #0x60] -;; add x8, x8, #1, lsl #12 -;; strb w5, [x8, x4] +;; ldr x8, [x2, #0x68] +;; cmp x4, x8 +;; cset x9, hi +;; uxtb w9, w9 +;; cbnz x9, #0x30 +;; 1c: ldr x10, [x2, #0x60] +;; add x10, x10, #1, lsl #12 +;; strb w5, [x10, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 28: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x6, [x2, #0x68] -;; cmp x4, x6 -;; b.hi #0x68 -;; 54: ldr x8, [x2, #0x60] -;; add x7, x8, #1, lsl #12 -;; ldrb w2, [x7, x4] +;; ldr x8, [x2, #0x68] +;; cmp x4, x8 +;; cset x9, hi +;; uxtb w9, w9 +;; cbnz x9, #0x70 +;; 5c: ldr x10, [x2, #0x60] +;; add x9, x10, #1, lsl #12 +;; ldrb w2, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 68: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat index df6ce52da6b8..966282eee04e 100644 --- a/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -21,27 +21,31 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x7, [x2, #0x68] -;; cmp x4, x7 -;; b.hi #0x2c -;; 14: ldr x9, [x2, #0x60] -;; add x9, x9, x4 -;; mov x10, #0xffff0000 -;; strb w5, [x9, x10] +;; ldr x9, [x2, #0x68] +;; cmp x4, x9 +;; cset x10, hi +;; uxtb w10, w10 +;; cbnz x10, #0x34 +;; 1c: ldr x11, [x2, #0x60] +;; add x11, x11, x4 +;; mov x12, #0xffff0000 +;; strb w5, [x11, x12] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 34: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; ldr x7, [x2, #0x68] -;; cmp x4, x7 -;; b.hi #0x6c -;; 54: ldr x9, [x2, #0x60] -;; add x9, x9, x4 -;; mov x10, #0xffff0000 -;; ldrb w2, [x9, x10] +;; ldr x9, [x2, #0x68] +;; cmp x4, x9 +;; cset x10, hi +;; uxtb w10, w10 +;; cbnz x10, #0x74 +;; 5c: ldr x11, [x2, #0x60] +;; add x11, x11, x4 +;; mov x12, #0xffff0000 +;; ldrb w2, [x11, x12] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 74: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat index 5b802801ed8b..21722e005990 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -21,25 +21,29 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w6, w4 +;; mov w8, w4 ;; orr x7, xzr, #0xfffffffc -;; cmp x6, x7 -;; b.hi #0x28 -;; 18: ldr x8, [x2, #0x60] -;; str w5, [x8, w4, uxtw] +;; cmp x8, x7 +;; cset x10, hi +;; uxtb w9, w10 +;; cbnz x9, #0x30 +;; 20: ldr x10, [x2, #0x60] +;; str w5, [x10, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 28: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w6, w4 +;; mov w8, w4 ;; orr x7, xzr, #0xfffffffc -;; cmp x6, x7 -;; b.hi #0x68 -;; 58: ldr x8, [x2, #0x60] -;; ldr w2, [x8, w4, uxtw] +;; cmp x8, x7 +;; cset x10, hi +;; uxtb w9, w10 +;; cbnz x9, #0x70 +;; 60: ldr x10, [x2, #0x60] +;; ldr w2, [x10, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 68: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index 7fb2fe9e27ce..23df9b6d1752 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -21,27 +21,31 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w7, w4 +;; mov w9, w4 ;; mov w8, #-0x1004 -;; cmp x7, x8 -;; b.hi #0x2c -;; 18: ldr x9, [x2, #0x60] -;; add x9, x9, #1, lsl #12 -;; str w5, [x9, w4, uxtw] +;; cmp x9, x8 +;; cset x11, hi +;; uxtb w10, w11 +;; cbnz x10, #0x34 +;; 20: ldr x11, [x2, #0x60] +;; add x11, x11, #1, lsl #12 +;; str w5, [x11, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 34: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w7, w4 +;; mov w9, w4 ;; mov w8, #-0x1004 -;; cmp x7, x8 -;; b.hi #0x6c -;; 58: ldr x9, [x2, #0x60] -;; add x8, x9, #1, lsl #12 -;; ldr w2, [x8, w4, uxtw] +;; cmp x9, x8 +;; cset x11, hi +;; uxtb w10, w11 +;; cbnz x10, #0x74 +;; 60: ldr x11, [x2, #0x60] +;; add x10, x11, #1, lsl #12 +;; ldr w2, [x10, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 74: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index 9232a441458f..04c28460e6ae 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -21,29 +21,33 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w8, w4 +;; mov w10, w4 ;; mov x9, #0xfffc -;; cmp x8, x9 -;; b.hi #0x30 -;; 18: ldr x10, [x2, #0x60] -;; add x10, x10, w4, uxtw -;; mov x11, #0xffff0000 -;; str w5, [x10, x11] +;; cmp x10, x9 +;; cset x12, hi +;; uxtb w11, w12 +;; cbnz x11, #0x38 +;; 20: ldr x12, [x2, #0x60] +;; add x12, x12, w4, uxtw +;; mov x13, #0xffff0000 +;; str w5, [x12, x13] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 38: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w8, w4 +;; mov w10, w4 ;; mov x9, #0xfffc -;; cmp x8, x9 -;; b.hi #0x70 -;; 58: ldr x10, [x2, #0x60] -;; add x10, x10, w4, uxtw -;; mov x11, #0xffff0000 -;; ldr w2, [x10, x11] +;; cmp x10, x9 +;; cset x12, hi +;; uxtb w11, w12 +;; cbnz x11, #0x78 +;; 60: ldr x12, [x2, #0x60] +;; add x12, x12, w4, uxtw +;; mov x13, #0xffff0000 +;; ldr w2, [x12, x13] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 78: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index 6c4df5a797e2..841b0d0abad5 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -21,27 +21,31 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w7, w4 +;; mov w9, w4 ;; mov w8, #-0x1001 -;; cmp x7, x8 -;; b.hi #0x2c -;; 18: ldr x9, [x2, #0x60] -;; add x9, x9, #1, lsl #12 -;; strb w5, [x9, w4, uxtw] +;; cmp x9, x8 +;; cset x11, hi +;; uxtb w10, w11 +;; cbnz x10, #0x34 +;; 20: ldr x11, [x2, #0x60] +;; add x11, x11, #1, lsl #12 +;; strb w5, [x11, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 34: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w7, w4 +;; mov w9, w4 ;; mov w8, #-0x1001 -;; cmp x7, x8 -;; b.hi #0x6c -;; 58: ldr x9, [x2, #0x60] -;; add x8, x9, #1, lsl #12 -;; ldrb w2, [x8, w4, uxtw] +;; cmp x9, x8 +;; cset x11, hi +;; uxtb w10, w11 +;; cbnz x10, #0x74 +;; 60: ldr x11, [x2, #0x60] +;; add x10, x11, #1, lsl #12 +;; ldrb w2, [x10, w4, uxtw] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 74: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index 6299a1f11fb8..4d409796c166 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -21,29 +21,33 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w8, w4 +;; mov w10, w4 ;; mov x9, #0xffff -;; cmp x8, x9 -;; b.hi #0x30 -;; 18: ldr x10, [x2, #0x60] -;; add x10, x10, w4, uxtw -;; mov x11, #0xffff0000 -;; strb w5, [x10, x11] +;; cmp x10, x9 +;; cset x12, hi +;; uxtb w11, w12 +;; cbnz x11, #0x38 +;; 20: ldr x12, [x2, #0x60] +;; add x12, x12, w4, uxtw +;; mov x13, #0xffff0000 +;; strb w5, [x12, x13] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 38: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w8, w4 +;; mov w10, w4 ;; mov x9, #0xffff -;; cmp x8, x9 -;; b.hi #0x70 -;; 58: ldr x10, [x2, #0x60] -;; add x10, x10, w4, uxtw -;; mov x11, #0xffff0000 -;; ldrb w2, [x10, x11] +;; cmp x10, x9 +;; cset x12, hi +;; uxtb w11, w12 +;; cbnz x11, #0x78 +;; 60: ldr x12, [x2, #0x60] +;; add x12, x12, w4, uxtw +;; mov x13, #0xffff0000 +;; ldrb w2, [x12, x13] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 78: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat index 184491cef2f0..103c1801450e 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -23,21 +23,25 @@ ;; mov x29, sp ;; orr x6, xzr, #0xfffffffc ;; cmp x4, x6 -;; b.hi #0x24 -;; 14: ldr x7, [x2, #0x60] -;; str w5, [x7, x4] +;; cset x9, hi +;; uxtb w8, w9 +;; cbnz x8, #0x2c +;; 1c: ldr x9, [x2, #0x60] +;; str w5, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 24: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; orr x5, xzr, #0xfffffffc -;; cmp x4, x5 -;; b.hi #0x64 -;; 54: ldr x7, [x2, #0x60] -;; ldr w2, [x7, x4] +;; orr x6, xzr, #0xfffffffc +;; cmp x4, x6 +;; cset x9, hi +;; uxtb w8, w9 +;; cbnz x8, #0x6c +;; 5c: ldr x9, [x2, #0x60] +;; ldr w2, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 64: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index ccc6f69c5b5c..812eea2c61e2 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -21,25 +21,29 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w6, #-0x1004 -;; cmp x4, x6 -;; b.hi #0x28 -;; 14: ldr x8, [x2, #0x60] -;; add x8, x8, #1, lsl #12 -;; str w5, [x8, x4] +;; mov w7, #-0x1004 +;; cmp x4, x7 +;; cset x10, hi +;; uxtb w9, w10 +;; cbnz x9, #0x30 +;; 1c: ldr x10, [x2, #0x60] +;; add x10, x10, #1, lsl #12 +;; str w5, [x10, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 28: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w6, #-0x1004 -;; cmp x4, x6 -;; b.hi #0x68 -;; 54: ldr x8, [x2, #0x60] -;; add x7, x8, #1, lsl #12 -;; ldr w2, [x7, x4] +;; mov w7, #-0x1004 +;; cmp x4, x7 +;; cset x10, hi +;; uxtb w9, w10 +;; cbnz x9, #0x70 +;; 5c: ldr x10, [x2, #0x60] +;; add x9, x10, #1, lsl #12 +;; ldr w2, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 68: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index 41d79ee047e5..caffde1f0018 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -21,27 +21,31 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov x7, #0xfffc -;; cmp x4, x7 -;; b.hi #0x2c -;; 14: ldr x9, [x2, #0x60] -;; add x9, x9, x4 -;; mov x10, #0xffff0000 -;; str w5, [x9, x10] +;; mov x8, #0xfffc +;; cmp x4, x8 +;; cset x11, hi +;; uxtb w10, w11 +;; cbnz x10, #0x34 +;; 1c: ldr x11, [x2, #0x60] +;; add x11, x11, x4 +;; mov x12, #0xffff0000 +;; str w5, [x11, x12] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 34: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov x7, #0xfffc -;; cmp x4, x7 -;; b.hi #0x6c -;; 54: ldr x9, [x2, #0x60] -;; add x9, x9, x4 -;; mov x10, #0xffff0000 -;; ldr w2, [x9, x10] +;; mov x8, #0xfffc +;; cmp x4, x8 +;; cset x11, hi +;; uxtb w10, w11 +;; cbnz x10, #0x74 +;; 5c: ldr x11, [x2, #0x60] +;; add x11, x11, x4 +;; mov x12, #0xffff0000 +;; ldr w2, [x11, x12] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 74: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat index b60b895fea65..4a12d1fff1bb 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat @@ -23,21 +23,25 @@ ;; mov x29, sp ;; orr x6, xzr, #0xffffffff ;; cmp x4, x6 -;; b.hi #0x24 -;; 14: ldr x7, [x2, #0x60] -;; strb w5, [x7, x4] +;; cset x9, hi +;; uxtb w8, w9 +;; cbnz x8, #0x2c +;; 1c: ldr x9, [x2, #0x60] +;; strb w5, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 24: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; orr x5, xzr, #0xffffffff -;; cmp x4, x5 -;; b.hi #0x64 -;; 54: ldr x7, [x2, #0x60] -;; ldrb w2, [x7, x4] +;; orr x6, xzr, #0xffffffff +;; cmp x4, x6 +;; cset x9, hi +;; uxtb w8, w9 +;; cbnz x8, #0x6c +;; 5c: ldr x9, [x2, #0x60] +;; ldrb w2, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 64: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index b56c8532c8b3..aee222f0cfc9 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -21,25 +21,29 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w6, #-0x1001 -;; cmp x4, x6 -;; b.hi #0x28 -;; 14: ldr x8, [x2, #0x60] -;; add x8, x8, #1, lsl #12 -;; strb w5, [x8, x4] +;; mov w7, #-0x1001 +;; cmp x4, x7 +;; cset x10, hi +;; uxtb w9, w10 +;; cbnz x9, #0x30 +;; 1c: ldr x10, [x2, #0x60] +;; add x10, x10, #1, lsl #12 +;; strb w5, [x10, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 28: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w6, #-0x1001 -;; cmp x4, x6 -;; b.hi #0x68 -;; 54: ldr x8, [x2, #0x60] -;; add x7, x8, #1, lsl #12 -;; ldrb w2, [x7, x4] +;; mov w7, #-0x1001 +;; cmp x4, x7 +;; cset x10, hi +;; uxtb w9, w10 +;; cbnz x9, #0x70 +;; 5c: ldr x10, [x2, #0x60] +;; add x9, x10, #1, lsl #12 +;; ldrb w2, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 68: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index 9f8c7969965e..a0e1ff8c200c 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -21,27 +21,31 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov x7, #0xffff -;; cmp x4, x7 -;; b.hi #0x2c -;; 14: ldr x9, [x2, #0x60] -;; add x9, x9, x4 -;; mov x10, #0xffff0000 -;; strb w5, [x9, x10] +;; mov x8, #0xffff +;; cmp x4, x8 +;; cset x11, hi +;; uxtb w10, w11 +;; cbnz x10, #0x34 +;; 1c: ldr x11, [x2, #0x60] +;; add x11, x11, x4 +;; mov x12, #0xffff0000 +;; strb w5, [x11, x12] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 34: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov x7, #0xffff -;; cmp x4, x7 -;; b.hi #0x6c -;; 54: ldr x9, [x2, #0x60] -;; add x9, x9, x4 -;; mov x10, #0xffff0000 -;; ldrb w2, [x9, x10] +;; mov x8, #0xffff +;; cmp x4, x8 +;; cset x11, hi +;; uxtb w10, w11 +;; cbnz x10, #0x74 +;; 5c: ldr x11, [x2, #0x60] +;; add x11, x11, x4 +;; mov x12, #0xffff0000 +;; ldrb w2, [x11, x12] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 74: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat index fe0d3c54c708..1c2cef991ce9 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat @@ -23,21 +23,25 @@ ;; mov x29, sp ;; orr x6, xzr, #0xfffffffc ;; cmp x4, x6 -;; b.hi #0x24 -;; 14: ldr x7, [x2, #0x60] -;; str w5, [x7, x4] +;; cset x9, hi +;; uxtb w8, w9 +;; cbnz x8, #0x2c +;; 1c: ldr x9, [x2, #0x60] +;; str w5, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 24: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; orr x5, xzr, #0xfffffffc -;; cmp x4, x5 -;; b.hi #0x64 -;; 54: ldr x7, [x2, #0x60] -;; ldr w2, [x7, x4] +;; orr x6, xzr, #0xfffffffc +;; cmp x4, x6 +;; cset x9, hi +;; uxtb w8, w9 +;; cbnz x8, #0x6c +;; 5c: ldr x9, [x2, #0x60] +;; ldr w2, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 64: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat index 937a8fa6c0e0..150c2e0843c2 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat @@ -21,25 +21,29 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w6, #-0x1004 -;; cmp x4, x6 -;; b.hi #0x28 -;; 14: ldr x8, [x2, #0x60] -;; add x8, x8, #1, lsl #12 -;; str w5, [x8, x4] +;; mov w7, #-0x1004 +;; cmp x4, x7 +;; cset x10, hi +;; uxtb w9, w10 +;; cbnz x9, #0x30 +;; 1c: ldr x10, [x2, #0x60] +;; add x10, x10, #1, lsl #12 +;; str w5, [x10, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 28: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w6, #-0x1004 -;; cmp x4, x6 -;; b.hi #0x68 -;; 54: ldr x8, [x2, #0x60] -;; add x7, x8, #1, lsl #12 -;; ldr w2, [x7, x4] +;; mov w7, #-0x1004 +;; cmp x4, x7 +;; cset x10, hi +;; uxtb w9, w10 +;; cbnz x9, #0x70 +;; 5c: ldr x10, [x2, #0x60] +;; add x9, x10, #1, lsl #12 +;; ldr w2, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 68: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat index 8ec2010aea62..49588433e044 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -21,27 +21,31 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov x7, #0xfffc -;; cmp x4, x7 -;; b.hi #0x2c -;; 14: ldr x9, [x2, #0x60] -;; add x9, x9, x4 -;; mov x10, #0xffff0000 -;; str w5, [x9, x10] +;; mov x8, #0xfffc +;; cmp x4, x8 +;; cset x11, hi +;; uxtb w10, w11 +;; cbnz x10, #0x34 +;; 1c: ldr x11, [x2, #0x60] +;; add x11, x11, x4 +;; mov x12, #0xffff0000 +;; str w5, [x11, x12] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 34: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov x7, #0xfffc -;; cmp x4, x7 -;; b.hi #0x6c -;; 54: ldr x9, [x2, #0x60] -;; add x9, x9, x4 -;; mov x10, #0xffff0000 -;; ldr w2, [x9, x10] +;; mov x8, #0xfffc +;; cmp x4, x8 +;; cset x11, hi +;; uxtb w10, w11 +;; cbnz x10, #0x74 +;; 5c: ldr x11, [x2, #0x60] +;; add x11, x11, x4 +;; mov x12, #0xffff0000 +;; ldr w2, [x11, x12] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 74: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat index 3d6de06ee44c..766a97cbec5f 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat @@ -23,21 +23,25 @@ ;; mov x29, sp ;; orr x6, xzr, #0xffffffff ;; cmp x4, x6 -;; b.hi #0x24 -;; 14: ldr x7, [x2, #0x60] -;; strb w5, [x7, x4] +;; cset x9, hi +;; uxtb w8, w9 +;; cbnz x8, #0x2c +;; 1c: ldr x9, [x2, #0x60] +;; strb w5, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 24: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; orr x5, xzr, #0xffffffff -;; cmp x4, x5 -;; b.hi #0x64 -;; 54: ldr x7, [x2, #0x60] -;; ldrb w2, [x7, x4] +;; orr x6, xzr, #0xffffffff +;; cmp x4, x6 +;; cset x9, hi +;; uxtb w8, w9 +;; cbnz x8, #0x6c +;; 5c: ldr x9, [x2, #0x60] +;; ldrb w2, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 64: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat index f30f403d854c..5496a05dfaa0 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat @@ -21,25 +21,29 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w6, #-0x1001 -;; cmp x4, x6 -;; b.hi #0x28 -;; 14: ldr x8, [x2, #0x60] -;; add x8, x8, #1, lsl #12 -;; strb w5, [x8, x4] +;; mov w7, #-0x1001 +;; cmp x4, x7 +;; cset x10, hi +;; uxtb w9, w10 +;; cbnz x9, #0x30 +;; 1c: ldr x10, [x2, #0x60] +;; add x10, x10, #1, lsl #12 +;; strb w5, [x10, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 28: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 30: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov w6, #-0x1001 -;; cmp x4, x6 -;; b.hi #0x68 -;; 54: ldr x8, [x2, #0x60] -;; add x7, x8, #1, lsl #12 -;; ldrb w2, [x7, x4] +;; mov w7, #-0x1001 +;; cmp x4, x7 +;; cset x10, hi +;; uxtb w9, w10 +;; cbnz x9, #0x70 +;; 5c: ldr x10, [x2, #0x60] +;; add x9, x10, #1, lsl #12 +;; ldrb w2, [x9, x4] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 68: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 70: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat index cd35f5efd9fd..71bebf1e9a21 100644 --- a/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -21,27 +21,31 @@ ;; wasm[0]::function[0]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov x7, #0xffff -;; cmp x4, x7 -;; b.hi #0x2c -;; 14: ldr x9, [x2, #0x60] -;; add x9, x9, x4 -;; mov x10, #0xffff0000 -;; strb w5, [x9, x10] +;; mov x8, #0xffff +;; cmp x4, x8 +;; cset x11, hi +;; uxtb w10, w11 +;; cbnz x10, #0x34 +;; 1c: ldr x11, [x2, #0x60] +;; add x11, x11, x4 +;; mov x12, #0xffff0000 +;; strb w5, [x11, x12] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 2c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 34: .byte 0x1f, 0xc1, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; stp x29, x30, [sp, #-0x10]! ;; mov x29, sp -;; mov x7, #0xffff -;; cmp x4, x7 -;; b.hi #0x6c -;; 54: ldr x9, [x2, #0x60] -;; add x9, x9, x4 -;; mov x10, #0xffff0000 -;; ldrb w2, [x9, x10] +;; mov x8, #0xffff +;; cmp x4, x8 +;; cset x11, hi +;; uxtb w10, w11 +;; cbnz x10, #0x74 +;; 5c: ldr x11, [x2, #0x60] +;; add x11, x11, x4 +;; mov x12, #0xffff0000 +;; ldrb w2, [x11, x12] ;; ldp x29, x30, [sp], #0x10 ;; ret -;; 6c: .byte 0x1f, 0xc1, 0x00, 0x00 +;; 74: .byte 0x1f, 0xc1, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat index 7696328f044c..4a71ab081fb9 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -27,7 +27,8 @@ ;; slli a2, a2, 0x20 ;; srli a4, a2, 0x20 ;; addi a5, a5, -4 -;; bltu a5, a4, 0x20 +;; bgeu a5, a4, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a4, a5, a4 ;; sw a3, 0(a4) @@ -35,7 +36,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -46,7 +46,8 @@ ;; slli a2, a2, 0x20 ;; srli a4, a2, 0x20 ;; addi a3, a3, -4 -;; bltu a3, a4, 0x20 +;; bgeu a3, a4, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a4, a5, a4 ;; lw a0, 0(a4) @@ -54,4 +55,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index b42e657f517f..65ee01b0d550 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -29,7 +29,8 @@ ;; lui a4, 1 ;; addi a2, a4, 4 ;; sub a5, a5, a2 -;; bltu a5, a1, 0x28 +;; bgeu a5, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a0, 0x60(a0) ;; add a0, a0, a1 ;; lui t6, 1 @@ -39,7 +40,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -52,7 +52,8 @@ ;; lui a4, 1 ;; addi a2, a4, 4 ;; sub a5, a5, a2 -;; bltu a5, a1, 0x28 +;; bgeu a5, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a0, 0x60(a0) ;; add a0, a0, a1 ;; lui t6, 1 @@ -62,4 +63,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index e14683cde5d0..c5a6e288d77d 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -32,7 +32,8 @@ ;; bgeu a5, a4, 8 ;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x68(a0) -;; bltu a1, a5, 0x2c +;; bgeu a1, a5, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a5, a5, a4 ;; lui a4, 0xffff @@ -43,7 +44,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -59,7 +59,8 @@ ;; bgeu a3, a4, 8 ;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x68(a0) -;; bltu a5, a3, 0x2c +;; bgeu a5, a3, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a5, a5, a4 ;; lui a4, 0xffff @@ -70,4 +71,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat index e8adc7325cd4..57058b9e2e3a 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat @@ -26,7 +26,8 @@ ;; ld a5, 0x68(a0) ;; slli a1, a2, 0x20 ;; srli a4, a1, 0x20 -;; bgeu a4, a5, 0x20 +;; bltu a4, a5, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a4, a5, a4 ;; sb a3, 0(a4) @@ -34,7 +35,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -44,7 +44,8 @@ ;; ld a4, 0x68(a0) ;; slli a1, a2, 0x20 ;; srli a3, a1, 0x20 -;; bgeu a3, a4, 0x20 +;; bltu a3, a4, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a3, a4, a3 ;; lbu a0, 0(a3) @@ -52,4 +53,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index b02c9a1c6580..91f328a08a70 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -29,7 +29,8 @@ ;; lui a4, 1 ;; addi a2, a4, 1 ;; sub a5, a5, a2 -;; bltu a5, a1, 0x28 +;; bgeu a5, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a0, 0x60(a0) ;; add a0, a0, a1 ;; lui t6, 1 @@ -39,7 +40,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -52,7 +52,8 @@ ;; lui a4, 1 ;; addi a2, a4, 1 ;; sub a5, a5, a2 -;; bltu a5, a1, 0x28 +;; bgeu a5, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a0, 0x60(a0) ;; add a0, a0, a1 ;; lui t6, 1 @@ -62,4 +63,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index c6136a36de8c..d7934f060f5d 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -31,7 +31,8 @@ ;; bgeu a1, a2, 8 ;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x68(a0) -;; bltu a4, a1, 0x2c +;; bgeu a4, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a4, a4, a2 ;; lui a2, 0xffff @@ -42,7 +43,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; .byte 0x01, 0x00, 0xff, 0xff ;; .byte 0x00, 0x00, 0x00, 0x00 ;; @@ -59,7 +59,8 @@ ;; bgeu a1, a2, 8 ;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a3, 0x68(a0) -;; bltu a3, a1, 0x2c +;; bgeu a3, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a3, 0x60(a0) ;; add a3, a3, a2 ;; lui a2, 0xffff @@ -70,6 +71,5 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; .byte 0x01, 0x00, 0xff, 0xff ;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat index 531e11a4a2f3..995fae558b62 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat @@ -26,7 +26,8 @@ ;; ld a5, 0x68(a0) ;; slli a1, a2, 0x20 ;; srli a4, a1, 0x20 -;; bltu a5, a4, 0x20 +;; bgeu a5, a4, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a4, a5, a4 ;; sw a3, 0(a4) @@ -34,7 +35,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -44,7 +44,8 @@ ;; ld a4, 0x68(a0) ;; slli a1, a2, 0x20 ;; srli a3, a1, 0x20 -;; bltu a4, a3, 0x20 +;; bgeu a4, a3, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a3, a4, a3 ;; lw a0, 0(a3) @@ -52,4 +53,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat index 6a20f42beaa6..7bcf608931f7 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat @@ -26,7 +26,8 @@ ;; ld a5, 0x68(a0) ;; slli a1, a2, 0x20 ;; srli a4, a1, 0x20 -;; bltu a5, a4, 0x28 +;; bgeu a5, a4, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a4, a5, a4 ;; lui t6, 1 @@ -36,7 +37,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -46,7 +46,8 @@ ;; ld a4, 0x68(a0) ;; slli a1, a2, 0x20 ;; srli a3, a1, 0x20 -;; bltu a4, a3, 0x28 +;; bgeu a4, a3, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a3, a4, a3 ;; lui t6, 1 @@ -56,4 +57,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat index 159e8b29ee34..405962f8afe4 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -26,7 +26,8 @@ ;; ld a5, 0x68(a0) ;; slli a4, a2, 0x20 ;; srli a1, a4, 0x20 -;; bltu a5, a1, 0x2c +;; bgeu a5, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a0, 0x60(a0) ;; add a0, a0, a1 ;; lui a5, 0xffff @@ -37,7 +38,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -47,7 +47,8 @@ ;; ld a5, 0x68(a0) ;; slli a4, a2, 0x20 ;; srli a1, a4, 0x20 -;; bltu a5, a1, 0x2c +;; bgeu a5, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a0, 0x60(a0) ;; add a0, a0, a1 ;; lui a5, 0xffff @@ -58,4 +59,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat index 16656d257426..b3be698bc738 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat @@ -26,7 +26,8 @@ ;; ld a5, 0x68(a0) ;; slli a1, a2, 0x20 ;; srli a4, a1, 0x20 -;; bgeu a4, a5, 0x20 +;; bltu a4, a5, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a4, a5, a4 ;; sb a3, 0(a4) @@ -34,7 +35,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -44,7 +44,8 @@ ;; ld a4, 0x68(a0) ;; slli a1, a2, 0x20 ;; srli a3, a1, 0x20 -;; bgeu a3, a4, 0x20 +;; bltu a3, a4, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a3, a4, a3 ;; lbu a0, 0(a3) @@ -52,4 +53,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat index e6697dc26624..9e8152b49b8b 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat @@ -26,7 +26,8 @@ ;; ld a5, 0x68(a0) ;; slli a1, a2, 0x20 ;; srli a4, a1, 0x20 -;; bltu a5, a4, 0x28 +;; bgeu a5, a4, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a4, a5, a4 ;; lui t6, 1 @@ -36,7 +37,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -46,7 +46,8 @@ ;; ld a4, 0x68(a0) ;; slli a1, a2, 0x20 ;; srli a3, a1, 0x20 -;; bltu a4, a3, 0x28 +;; bgeu a4, a3, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a3, a4, a3 ;; lui t6, 1 @@ -56,4 +57,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat index 923f81e025cb..e249fe5ba31e 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -26,7 +26,8 @@ ;; ld a5, 0x68(a0) ;; slli a4, a2, 0x20 ;; srli a1, a4, 0x20 -;; bltu a5, a1, 0x2c +;; bgeu a5, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a0, 0x60(a0) ;; add a0, a0, a1 ;; lui a5, 0xffff @@ -37,7 +38,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -47,7 +47,8 @@ ;; ld a5, 0x68(a0) ;; slli a4, a2, 0x20 ;; srli a1, a4, 0x20 -;; bltu a5, a1, 0x2c +;; bgeu a5, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a0, 0x60(a0) ;; add a0, a0, a1 ;; lui a5, 0xffff @@ -58,4 +59,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat index 7b2f9bf937bf..56ae496b339b 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -25,7 +25,8 @@ ;; mv s0, sp ;; ld a1, 0x68(a0) ;; addi a1, a1, -4 -;; bltu a1, a2, 0x20 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a2, a4, a2 ;; sw a3, 0(a2) @@ -33,7 +34,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -42,7 +42,8 @@ ;; mv s0, sp ;; ld a1, 0x68(a0) ;; addi a1, a1, -4 -;; bltu a1, a2, 0x20 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a3, 0x60(a0) ;; add a2, a3, a2 ;; lw a0, 0(a2) @@ -50,4 +51,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index c1d9cc6ed516..956bb84beeb2 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -27,7 +27,8 @@ ;; lui a5, 1 ;; addi a5, a5, 4 ;; sub a4, a4, a5 -;; bltu a4, a2, 0x28 +;; bgeu a4, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a4, a4, a2 ;; lui t6, 1 @@ -37,7 +38,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -48,7 +48,8 @@ ;; lui a4, 1 ;; addi a4, a4, 4 ;; sub a3, a3, a4 -;; bltu a3, a2, 0x28 +;; bgeu a3, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a4, a4, a2 ;; lui t6, 1 @@ -58,4 +59,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index 8a218c77ac33..0b7a26988ca5 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -30,7 +30,8 @@ ;; bgeu a1, a2, 8 ;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x68(a0) -;; bltu a4, a1, 0x2c +;; bgeu a4, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a4, a4, a2 ;; lui a2, 0xffff @@ -41,7 +42,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -55,7 +55,8 @@ ;; bgeu a1, a2, 8 ;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a3, 0x68(a0) -;; bltu a3, a1, 0x2c +;; bgeu a3, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a3, 0x60(a0) ;; add a3, a3, a2 ;; lui a2, 0xffff @@ -66,4 +67,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat index 92ee6333ddfa..8f5b966187b4 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat @@ -24,7 +24,8 @@ ;; sd s0, 0(sp) ;; mv s0, sp ;; ld a1, 0x68(a0) -;; bgeu a2, a1, 0x20 +;; bltu a2, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; sb a3, 0(a1) @@ -32,7 +33,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -40,7 +40,8 @@ ;; sd s0, 0(sp) ;; mv s0, sp ;; ld a1, 0x68(a0) -;; bgeu a2, a1, 0x20 +;; bltu a2, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; lbu a0, 0(a1) @@ -48,4 +49,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index 1fcb05531e0e..4d59ea67ad18 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -27,7 +27,8 @@ ;; lui a5, 1 ;; addi a5, a5, 1 ;; sub a4, a4, a5 -;; bltu a4, a2, 0x28 +;; bgeu a4, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a4, a4, a2 ;; lui t6, 1 @@ -37,7 +38,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -48,7 +48,8 @@ ;; lui a4, 1 ;; addi a4, a4, 1 ;; sub a3, a3, a4 -;; bltu a3, a2, 0x28 +;; bgeu a3, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a4, a4, a2 ;; lui t6, 1 @@ -58,4 +59,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index f5c120dea3b2..05499cc1bc00 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -29,7 +29,8 @@ ;; bgeu a5, a2, 8 ;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x68(a0) -;; bltu a1, a5, 0x2c +;; bgeu a1, a5, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; lui a0, 0xffff @@ -40,7 +41,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; .byte 0x01, 0x00, 0xff, 0xff ;; .byte 0x00, 0x00, 0x00, 0x00 ;; @@ -55,7 +55,8 @@ ;; bgeu a5, a2, 8 ;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x68(a0) -;; bltu a1, a5, 0x2c +;; bgeu a1, a5, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; lui a0, 0xffff @@ -66,6 +67,5 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; .byte 0x01, 0x00, 0xff, 0xff ;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat index abf8c248ea69..c086f2c53c79 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat @@ -24,7 +24,8 @@ ;; sd s0, 0(sp) ;; mv s0, sp ;; ld a1, 0x68(a0) -;; bltu a1, a2, 0x20 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; sw a3, 0(a1) @@ -32,7 +33,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -40,7 +40,8 @@ ;; sd s0, 0(sp) ;; mv s0, sp ;; ld a1, 0x68(a0) -;; bltu a1, a2, 0x20 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; lw a0, 0(a1) @@ -48,4 +49,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat index 95600c8d78dc..25308e36e8f0 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat @@ -24,7 +24,8 @@ ;; sd s0, 0(sp) ;; mv s0, sp ;; ld a1, 0x68(a0) -;; bltu a1, a2, 0x28 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; lui t6, 1 @@ -34,7 +35,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -42,7 +42,8 @@ ;; sd s0, 0(sp) ;; mv s0, sp ;; ld a1, 0x68(a0) -;; bltu a1, a2, 0x28 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; lui t6, 1 @@ -52,4 +53,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat index 815e2763b3b0..60b2fd055a22 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -24,7 +24,8 @@ ;; sd s0, 0(sp) ;; mv s0, sp ;; ld a4, 0x68(a0) -;; bltu a4, a2, 0x2c +;; bgeu a4, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a4, a4, a2 ;; lui a5, 0xffff @@ -35,7 +36,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -43,7 +43,8 @@ ;; sd s0, 0(sp) ;; mv s0, sp ;; ld a3, 0x68(a0) -;; bltu a3, a2, 0x2c +;; bgeu a3, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a4, a4, a2 ;; lui a3, 0xffff @@ -54,4 +55,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat index 1c1ef6ce23da..b1ef3002e521 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat @@ -24,7 +24,8 @@ ;; sd s0, 0(sp) ;; mv s0, sp ;; ld a1, 0x68(a0) -;; bgeu a2, a1, 0x20 +;; bltu a2, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; sb a3, 0(a1) @@ -32,7 +33,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -40,7 +40,8 @@ ;; sd s0, 0(sp) ;; mv s0, sp ;; ld a1, 0x68(a0) -;; bgeu a2, a1, 0x20 +;; bltu a2, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; lbu a0, 0(a1) @@ -48,4 +49,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat index f07db908a25e..5b1281ba106e 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat @@ -24,7 +24,8 @@ ;; sd s0, 0(sp) ;; mv s0, sp ;; ld a1, 0x68(a0) -;; bltu a1, a2, 0x28 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; lui t6, 1 @@ -34,7 +35,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -42,7 +42,8 @@ ;; sd s0, 0(sp) ;; mv s0, sp ;; ld a1, 0x68(a0) -;; bltu a1, a2, 0x28 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; lui t6, 1 @@ -52,4 +53,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat index 9ac86b8e944f..a3d57f9f096e 100644 --- a/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -24,7 +24,8 @@ ;; sd s0, 0(sp) ;; mv s0, sp ;; ld a4, 0x68(a0) -;; bltu a4, a2, 0x2c +;; bgeu a4, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a4, a4, a2 ;; lui a5, 0xffff @@ -35,7 +36,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -43,7 +43,8 @@ ;; sd s0, 0(sp) ;; mv s0, sp ;; ld a3, 0x68(a0) -;; bltu a3, a2, 0x2c +;; bgeu a3, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a4, a4, a2 ;; lui a3, 0xffff @@ -54,4 +55,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat index 982320fd6470..f629b3636fee 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -28,7 +28,8 @@ ;; lui a2, 0x40000 ;; addi a4, a2, -1 ;; slli a1, a4, 2 -;; bltu a1, a5, 0x20 +;; bgeu a1, a5, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a0, 0x60(a0) ;; add a5, a0, a5 ;; sw a3, 0(a5) @@ -36,7 +37,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -48,7 +48,8 @@ ;; lui a2, 0x40000 ;; addi a4, a2, -1 ;; slli a1, a4, 2 -;; bltu a1, a5, 0x20 +;; bgeu a1, a5, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a0, 0x60(a0) ;; add a5, a0, a5 ;; lw a0, 0(a5) @@ -56,4 +57,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index e55fa02b8a0b..a29755731155 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -28,7 +28,8 @@ ;; lui a2, 0x40000 ;; addi a4, a2, -0x401 ;; slli a1, a4, 2 -;; bltu a1, a5, 0x28 +;; bgeu a1, a5, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a0, 0x60(a0) ;; add a5, a0, a5 ;; lui t6, 1 @@ -38,7 +39,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -50,7 +50,8 @@ ;; lui a2, 0x40000 ;; addi a4, a2, -0x401 ;; slli a1, a4, 2 -;; bltu a1, a5, 0x28 +;; bgeu a1, a5, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a0, 0x60(a0) ;; add a5, a0, a5 ;; lui t6, 1 @@ -60,4 +61,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index f74acab0a517..7c9ea0b2ce6f 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -27,7 +27,8 @@ ;; srli a1, a5, 0x20 ;; lui a5, 0x10 ;; addi a2, a5, -4 -;; bltu a2, a1, 0x2c +;; bgeu a2, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a2, 0x60(a0) ;; add a1, a2, a1 ;; lui a0, 0xffff @@ -38,7 +39,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -49,7 +49,8 @@ ;; srli a1, a5, 0x20 ;; lui a5, 0x10 ;; addi a2, a5, -4 -;; bltu a2, a1, 0x2c +;; bgeu a2, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a2, 0x60(a0) ;; add a1, a2, a1 ;; lui a0, 0xffff @@ -60,4 +61,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index 4ad149903941..d848f8cb8835 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -27,7 +27,8 @@ ;; srli a4, a1, 0x20 ;; auipc a2, 0 ;; ld a2, 0x38(a2) -;; bltu a2, a4, 0x28 +;; bgeu a2, a4, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a4, a5, a4 ;; lui t6, 1 @@ -38,7 +39,6 @@ ;; addi sp, sp, 0x10 ;; ret ;; .byte 0x00, 0x00, 0x00, 0x00 -;; .byte 0x00, 0x00, 0x00, 0x00 ;; .byte 0xff, 0xef, 0xff, 0xff ;; .byte 0x00, 0x00, 0x00, 0x00 ;; @@ -51,7 +51,8 @@ ;; srli a3, a1, 0x20 ;; auipc a2, 0 ;; ld a2, 0x38(a2) -;; bltu a2, a3, 0x28 +;; bgeu a2, a3, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a3, a4, a3 ;; lui t6, 1 @@ -62,6 +63,5 @@ ;; addi sp, sp, 0x10 ;; ret ;; .byte 0x00, 0x00, 0x00, 0x00 -;; .byte 0x00, 0x00, 0x00, 0x00 ;; .byte 0xff, 0xef, 0xff, 0xff ;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index d6c835c0bb27..6c3ec9791151 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -27,7 +27,8 @@ ;; srli a1, a5, 0x20 ;; lui a5, 0x10 ;; addi a2, a5, -1 -;; bltu a2, a1, 0x2c +;; bgeu a2, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a2, 0x60(a0) ;; add a1, a2, a1 ;; lui a0, 0xffff @@ -38,7 +39,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -49,7 +49,8 @@ ;; srli a1, a5, 0x20 ;; lui a5, 0x10 ;; addi a2, a5, -1 -;; bltu a2, a1, 0x2c +;; bgeu a2, a1, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a2, 0x60(a0) ;; add a1, a2, a1 ;; lui a0, 0xffff @@ -60,4 +61,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat index b57ddf1e207f..b33cbda92b30 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -26,7 +26,8 @@ ;; lui a1, 0x40000 ;; addi a4, a1, -1 ;; slli a4, a4, 2 -;; bltu a4, a2, 0x20 +;; bgeu a4, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a4, a4, a2 ;; sw a3, 0(a4) @@ -34,7 +35,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -44,7 +44,8 @@ ;; lui a1, 0x40000 ;; addi a3, a1, -1 ;; slli a4, a3, 2 -;; bltu a4, a2, 0x20 +;; bgeu a4, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a3, 0x60(a0) ;; add a3, a3, a2 ;; lw a0, 0(a3) @@ -52,4 +53,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index 6f8bfba67380..0a3c16a03e82 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -26,7 +26,8 @@ ;; lui a1, 0x40000 ;; addi a4, a1, -0x401 ;; slli a4, a4, 2 -;; bltu a4, a2, 0x28 +;; bgeu a4, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a4, a4, a2 ;; lui t6, 1 @@ -36,7 +37,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -46,7 +46,8 @@ ;; lui a1, 0x40000 ;; addi a3, a1, -0x401 ;; slli a4, a3, 2 -;; bltu a4, a2, 0x28 +;; bgeu a4, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a3, 0x60(a0) ;; add a3, a3, a2 ;; lui t6, 1 @@ -56,4 +57,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index a2b7d42b694b..41c38211bed9 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -25,7 +25,8 @@ ;; mv s0, sp ;; lui a4, 0x10 ;; addi a5, a4, -4 -;; bltu a5, a2, 0x2c +;; bgeu a5, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a5, a5, a2 ;; lui a4, 0xffff @@ -36,7 +37,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -45,7 +45,8 @@ ;; mv s0, sp ;; lui a3, 0x10 ;; addi a5, a3, -4 -;; bltu a5, a2, 0x2c +;; bgeu a5, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a5, a5, a2 ;; lui a4, 0xffff @@ -56,4 +57,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat index 4657f41687b4..46baccf1fa37 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat @@ -25,7 +25,8 @@ ;; mv s0, sp ;; auipc a1, 0 ;; ld a1, 0x30(a1) -;; bltu a1, a2, 0x20 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; sb a3, 0(a1) @@ -34,7 +35,6 @@ ;; addi sp, sp, 0x10 ;; ret ;; .byte 0x00, 0x00, 0x00, 0x00 -;; .byte 0x00, 0x00, 0x00, 0x00 ;; .byte 0xff, 0xff, 0xff, 0xff ;; .byte 0x00, 0x00, 0x00, 0x00 ;; @@ -45,7 +45,8 @@ ;; mv s0, sp ;; auipc a1, 0 ;; ld a1, 0x30(a1) -;; bltu a1, a2, 0x20 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; lbu a0, 0(a1) @@ -54,6 +55,5 @@ ;; addi sp, sp, 0x10 ;; ret ;; .byte 0x00, 0x00, 0x00, 0x00 -;; .byte 0x00, 0x00, 0x00, 0x00 ;; .byte 0xff, 0xff, 0xff, 0xff ;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index ffb700415b59..b375e5a4b00e 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -25,7 +25,8 @@ ;; mv s0, sp ;; auipc a1, 0 ;; ld a1, 0x38(a1) -;; bltu a1, a2, 0x28 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; lui t6, 1 @@ -36,7 +37,6 @@ ;; addi sp, sp, 0x10 ;; ret ;; .byte 0x00, 0x00, 0x00, 0x00 -;; .byte 0x00, 0x00, 0x00, 0x00 ;; .byte 0xff, 0xef, 0xff, 0xff ;; .byte 0x00, 0x00, 0x00, 0x00 ;; @@ -47,7 +47,8 @@ ;; mv s0, sp ;; auipc a1, 0 ;; ld a1, 0x38(a1) -;; bltu a1, a2, 0x28 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; lui t6, 1 @@ -58,6 +59,5 @@ ;; addi sp, sp, 0x10 ;; ret ;; .byte 0x00, 0x00, 0x00, 0x00 -;; .byte 0x00, 0x00, 0x00, 0x00 ;; .byte 0xff, 0xef, 0xff, 0xff ;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index a11c473ce869..901389a63154 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -25,7 +25,8 @@ ;; mv s0, sp ;; lui a4, 0x10 ;; addi a5, a4, -1 -;; bltu a5, a2, 0x2c +;; bgeu a5, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a5, a5, a2 ;; lui a4, 0xffff @@ -36,7 +37,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -45,7 +45,8 @@ ;; mv s0, sp ;; lui a3, 0x10 ;; addi a5, a3, -1 -;; bltu a5, a2, 0x2c +;; bgeu a5, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a5, a5, a2 ;; lui a4, 0xffff @@ -56,4 +57,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat index 3b15bd0cd0ae..af7b20016412 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat @@ -26,7 +26,8 @@ ;; lui a1, 0x40000 ;; addi a4, a1, -1 ;; slli a4, a4, 2 -;; bltu a4, a2, 0x20 +;; bgeu a4, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a4, a4, a2 ;; sw a3, 0(a4) @@ -34,7 +35,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -44,7 +44,8 @@ ;; lui a1, 0x40000 ;; addi a3, a1, -1 ;; slli a4, a3, 2 -;; bltu a4, a2, 0x20 +;; bgeu a4, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a3, 0x60(a0) ;; add a3, a3, a2 ;; lw a0, 0(a3) @@ -52,4 +53,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat index 3b1b6dc73d5e..9359593c282b 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat @@ -26,7 +26,8 @@ ;; lui a1, 0x40000 ;; addi a4, a1, -0x401 ;; slli a4, a4, 2 -;; bltu a4, a2, 0x28 +;; bgeu a4, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a4, 0x60(a0) ;; add a4, a4, a2 ;; lui t6, 1 @@ -36,7 +37,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -46,7 +46,8 @@ ;; lui a1, 0x40000 ;; addi a3, a1, -0x401 ;; slli a4, a3, 2 -;; bltu a4, a2, 0x28 +;; bgeu a4, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a3, 0x60(a0) ;; add a3, a3, a2 ;; lui t6, 1 @@ -56,4 +57,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat index 0bb1672ce39c..fbd457c8b639 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -25,7 +25,8 @@ ;; mv s0, sp ;; lui a4, 0x10 ;; addi a5, a4, -4 -;; bltu a5, a2, 0x2c +;; bgeu a5, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a5, a5, a2 ;; lui a4, 0xffff @@ -36,7 +37,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -45,7 +45,8 @@ ;; mv s0, sp ;; lui a3, 0x10 ;; addi a5, a3, -4 -;; bltu a5, a2, 0x2c +;; bgeu a5, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a5, a5, a2 ;; lui a4, 0xffff @@ -56,4 +57,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat index 3321dde769f9..538aa6388d73 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat @@ -25,7 +25,8 @@ ;; mv s0, sp ;; auipc a1, 0 ;; ld a1, 0x30(a1) -;; bltu a1, a2, 0x20 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; sb a3, 0(a1) @@ -34,7 +35,6 @@ ;; addi sp, sp, 0x10 ;; ret ;; .byte 0x00, 0x00, 0x00, 0x00 -;; .byte 0x00, 0x00, 0x00, 0x00 ;; .byte 0xff, 0xff, 0xff, 0xff ;; .byte 0x00, 0x00, 0x00, 0x00 ;; @@ -45,7 +45,8 @@ ;; mv s0, sp ;; auipc a1, 0 ;; ld a1, 0x30(a1) -;; bltu a1, a2, 0x20 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; lbu a0, 0(a1) @@ -54,6 +55,5 @@ ;; addi sp, sp, 0x10 ;; ret ;; .byte 0x00, 0x00, 0x00, 0x00 -;; .byte 0x00, 0x00, 0x00, 0x00 ;; .byte 0xff, 0xff, 0xff, 0xff ;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat index 044a39c4324e..d82448bcbe15 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat @@ -25,7 +25,8 @@ ;; mv s0, sp ;; auipc a1, 0 ;; ld a1, 0x38(a1) -;; bltu a1, a2, 0x28 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; lui t6, 1 @@ -36,7 +37,6 @@ ;; addi sp, sp, 0x10 ;; ret ;; .byte 0x00, 0x00, 0x00, 0x00 -;; .byte 0x00, 0x00, 0x00, 0x00 ;; .byte 0xff, 0xef, 0xff, 0xff ;; .byte 0x00, 0x00, 0x00, 0x00 ;; @@ -47,7 +47,8 @@ ;; mv s0, sp ;; auipc a1, 0 ;; ld a1, 0x38(a1) -;; bltu a1, a2, 0x28 +;; bgeu a1, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a1, 0x60(a0) ;; add a1, a1, a2 ;; lui t6, 1 @@ -58,6 +59,5 @@ ;; addi sp, sp, 0x10 ;; ret ;; .byte 0x00, 0x00, 0x00, 0x00 -;; .byte 0x00, 0x00, 0x00, 0x00 ;; .byte 0xff, 0xef, 0xff, 0xff ;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat index 814f7f7a6999..f26d030f08ff 100644 --- a/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/riscv64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -25,7 +25,8 @@ ;; mv s0, sp ;; lui a4, 0x10 ;; addi a5, a4, -1 -;; bltu a5, a2, 0x2c +;; bgeu a5, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a5, a5, a2 ;; lui a4, 0xffff @@ -36,7 +37,6 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; addi sp, sp, -0x10 @@ -45,7 +45,8 @@ ;; mv s0, sp ;; lui a3, 0x10 ;; addi a5, a3, -1 -;; bltu a5, a2, 0x2c +;; bgeu a5, a2, 8 +;; .byte 0x00, 0x00, 0x00, 0x00 ;; ld a5, 0x60(a0) ;; add a5, a5, a2 ;; lui a4, 0xffff @@ -56,4 +57,3 @@ ;; ld s0, 0(sp) ;; addi sp, sp, 0x10 ;; ret -;; .byte 0x00, 0x00, 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat index 85b05d1ddf85..6f08412003cd 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -32,12 +32,11 @@ ;; llgfr %r3, %r6 ;; aghi %r4, -4 ;; clgr %r3, %r4 -;; jgh 0x58 +;; jgh 0x40 ;; lg %r6, 0x60(%r2) ;; strv %r5, 0(%r3, %r6) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -53,9 +52,8 @@ ;; llgfr %r3, %r5 ;; aghi %r4, -4 ;; clgr %r3, %r4 -;; jgh 0xb4 +;; jgh 0x98 ;; lg %r5, 0x60(%r2) ;; lrv %r2, 0(%r3, %r5) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index 64a0afc6c83a..c4efa5d72102 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -32,13 +32,12 @@ ;; llgfr %r3, %r6 ;; aghi %r4, -0x1004 ;; clgr %r3, %r4 -;; jgh 0x5c +;; jgh 0x40 ;; ag %r3, 0x60(%r2) ;; lghi %r6, 0x1000 ;; strv %r5, 0(%r6, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -54,10 +53,9 @@ ;; llgfr %r3, %r6 ;; aghi %r4, -0x1004 ;; clgr %r3, %r4 -;; jgh 0xbc +;; jgh 0x9c ;; ag %r3, 0x60(%r2) ;; lghi %r6, 0x1000 ;; lrv %r2, 0(%r6, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index 42b7d4660489..527974217626 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -34,13 +34,12 @@ ;; jgnle 0x3c ;; lg %r6, 0x68(%r2) ;; clgr %r4, %r6 -;; jgh 0x68 +;; jgh 0x4c ;; ag %r7, 0x60(%r2) ;; llilh %r2, 0xffff ;; strv %r5, 0(%r2, %r7) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -55,13 +54,12 @@ ;; lgr %r3, %r4 ;; llilf %r4, 0xffff0004 ;; algfr %r4, %r3 -;; jgnle 0xa8 +;; jgnle 0xa4 ;; lg %r6, 0x68(%r2) ;; clgr %r4, %r6 -;; jgh 0xd4 +;; jgh 0xb4 ;; ag %r7, 0x60(%r2) ;; llilh %r2, 0xffff ;; lrv %r2, 0(%r2, %r7) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat index c8340fc1f934..05600f5d6d0a 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat @@ -31,12 +31,11 @@ ;; lg %r4, 0x68(%r2) ;; llgfr %r3, %r6 ;; clgr %r3, %r4 -;; jghe 0x52 +;; jghe 0x3c ;; lg %r4, 0x60(%r2) ;; stc %r5, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -51,9 +50,8 @@ ;; lg %r4, 0x68(%r2) ;; llgfr %r3, %r5 ;; clgr %r3, %r4 -;; jghe 0xa8 +;; jghe 0x90 ;; lg %r4, 0x60(%r2) ;; llc %r2, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index 9eb78571aed2..bfcca1bc0d55 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -32,13 +32,12 @@ ;; llgfr %r3, %r6 ;; aghi %r4, -0x1001 ;; clgr %r3, %r4 -;; jgh 0x5a +;; jgh 0x40 ;; ag %r3, 0x60(%r2) ;; lghi %r6, 0x1000 ;; stc %r5, 0(%r6, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -54,10 +53,9 @@ ;; llgfr %r3, %r6 ;; aghi %r4, -0x1001 ;; clgr %r3, %r4 -;; jgh 0xb8 +;; jgh 0x9c ;; ag %r3, 0x60(%r2) ;; lghi %r6, 0x1000 ;; llc %r2, 0(%r6, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index b3fd40f50cdb..13e3cea61acd 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -34,13 +34,12 @@ ;; jgnle 0x3c ;; lg %r6, 0x68(%r2) ;; clgr %r4, %r6 -;; jgh 0x66 +;; jgh 0x4c ;; ag %r7, 0x60(%r2) ;; llilh %r2, 0xffff ;; stc %r5, 0(%r2, %r7) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -58,10 +57,9 @@ ;; jgnle 0xa4 ;; lg %r6, 0x68(%r2) ;; clgr %r4, %r6 -;; jgh 0xd0 +;; jgh 0xb4 ;; ag %r7, 0x60(%r2) ;; llilh %r2, 0xffff ;; llc %r2, 0(%r2, %r7) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat index d577e16b09b0..8eba65894cae 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat @@ -31,12 +31,11 @@ ;; lg %r4, 0x68(%r2) ;; llgfr %r3, %r6 ;; clgr %r3, %r4 -;; jgh 0x54 +;; jgh 0x3c ;; lg %r4, 0x60(%r2) ;; strv %r5, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -51,9 +50,8 @@ ;; lg %r4, 0x68(%r2) ;; llgfr %r3, %r5 ;; clgr %r3, %r4 -;; jgh 0xac +;; jgh 0x90 ;; lg %r4, 0x60(%r2) ;; lrv %r2, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat index dc5d8153cc0f..293cef8fbf67 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat @@ -31,13 +31,12 @@ ;; lg %r4, 0x68(%r2) ;; llgfr %r3, %r6 ;; clgr %r3, %r4 -;; jgh 0x58 +;; jgh 0x3c ;; ag %r3, 0x60(%r2) ;; lghi %r6, 0x1000 ;; strv %r5, 0(%r6, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -52,10 +51,9 @@ ;; lg %r4, 0x68(%r2) ;; llgfr %r3, %r5 ;; clgr %r3, %r4 -;; jgh 0xb4 +;; jgh 0x94 ;; ag %r3, 0x60(%r2) ;; lghi %r5, 0x1000 ;; lrv %r2, 0(%r5, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat index ecbf7279a0bf..4d20cf24ca2e 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -31,13 +31,12 @@ ;; lg %r4, 0x68(%r2) ;; llgfr %r3, %r6 ;; clgr %r3, %r4 -;; jgh 0x58 +;; jgh 0x3c ;; ag %r3, 0x60(%r2) ;; llilh %r6, 0xffff ;; strv %r5, 0(%r6, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -52,10 +51,9 @@ ;; lg %r4, 0x68(%r2) ;; llgfr %r3, %r5 ;; clgr %r3, %r4 -;; jgh 0xb4 +;; jgh 0x94 ;; ag %r3, 0x60(%r2) ;; llilh %r5, 0xffff ;; lrv %r2, 0(%r5, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat index 28fc26491118..bf51f7559cac 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat @@ -31,12 +31,11 @@ ;; lg %r4, 0x68(%r2) ;; llgfr %r3, %r6 ;; clgr %r3, %r4 -;; jghe 0x52 +;; jghe 0x3c ;; lg %r4, 0x60(%r2) ;; stc %r5, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -51,9 +50,8 @@ ;; lg %r4, 0x68(%r2) ;; llgfr %r3, %r5 ;; clgr %r3, %r4 -;; jghe 0xa8 +;; jghe 0x90 ;; lg %r4, 0x60(%r2) ;; llc %r2, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat index c104fe02a309..17e1162efcaa 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat @@ -31,13 +31,12 @@ ;; lg %r4, 0x68(%r2) ;; llgfr %r3, %r6 ;; clgr %r3, %r4 -;; jgh 0x56 +;; jgh 0x3c ;; ag %r3, 0x60(%r2) ;; lghi %r6, 0x1000 ;; stc %r5, 0(%r6, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -52,10 +51,9 @@ ;; lg %r4, 0x68(%r2) ;; llgfr %r3, %r5 ;; clgr %r3, %r4 -;; jgh 0xb0 +;; jgh 0x94 ;; ag %r3, 0x60(%r2) ;; lghi %r5, 0x1000 ;; llc %r2, 0(%r5, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat index 72f47e35dfe1..b8ef906323af 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -31,13 +31,12 @@ ;; lg %r4, 0x68(%r2) ;; llgfr %r3, %r6 ;; clgr %r3, %r4 -;; jgh 0x56 +;; jgh 0x3c ;; ag %r3, 0x60(%r2) ;; llilh %r6, 0xffff ;; stc %r5, 0(%r6, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -52,10 +51,9 @@ ;; lg %r4, 0x68(%r2) ;; llgfr %r3, %r5 ;; clgr %r3, %r4 -;; jgh 0xb0 +;; jgh 0x94 ;; ag %r3, 0x60(%r2) ;; llilh %r5, 0xffff ;; llc %r2, 0(%r5, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat index 6a53f642bcbb..2a7826a34e9d 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -30,12 +30,11 @@ ;; lg %r3, 0x68(%r2) ;; aghi %r3, -4 ;; clgr %r4, %r3 -;; jgh 0x50 +;; jgh 0x38 ;; lg %r6, 0x60(%r2) ;; strv %r5, 0(%r4, %r6) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -49,9 +48,8 @@ ;; lg %r3, 0x68(%r2) ;; aghi %r3, -4 ;; clgr %r4, %r3 -;; jgh 0xa4 +;; jgh 0x88 ;; lg %r5, 0x60(%r2) ;; lrv %r2, 0(%r4, %r5) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index 63a909f8cf57..19f18a1c4953 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -30,13 +30,12 @@ ;; lg %r3, 0x68(%r2) ;; aghi %r3, -0x1004 ;; clgr %r4, %r3 -;; jgh 0x54 +;; jgh 0x38 ;; ag %r4, 0x60(%r2) ;; lghi %r6, 0x1000 ;; strv %r5, 0(%r6, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -50,10 +49,9 @@ ;; lg %r3, 0x68(%r2) ;; aghi %r3, -0x1004 ;; clgr %r4, %r3 -;; jgh 0xac +;; jgh 0x8c ;; ag %r4, 0x60(%r2) ;; lghi %r5, 0x1000 ;; lrv %r2, 0(%r5, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index 8354f291d0dc..2d14e5586200 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -32,13 +32,12 @@ ;; jgnle 0x34 ;; lg %r6, 0x68(%r2) ;; clgr %r3, %r6 -;; jgh 0x60 +;; jgh 0x44 ;; ag %r4, 0x60(%r2) ;; llilh %r6, 0xffff ;; strv %r5, 0(%r6, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -51,13 +50,12 @@ ;; stg %r1, 0(%r15) ;; lgr %r3, %r4 ;; algfi %r3, 0xffff0004 -;; jgnle 0x98 +;; jgnle 0x94 ;; lg %r5, 0x68(%r2) ;; clgr %r3, %r5 -;; jgh 0xc4 +;; jgh 0xa4 ;; ag %r4, 0x60(%r2) ;; llilh %r6, 0xffff ;; lrv %r2, 0(%r6, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat index ec1c7cb896d3..b94939a30737 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat @@ -29,12 +29,11 @@ ;; stg %r1, 0(%r15) ;; lg %r7, 0x68(%r2) ;; clgr %r4, %r7 -;; jghe 0x4a +;; jghe 0x34 ;; lg %r3, 0x60(%r2) ;; stc %r5, 0(%r4, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -47,9 +46,8 @@ ;; stg %r1, 0(%r15) ;; lg %r7, 0x68(%r2) ;; clgr %r4, %r7 -;; jghe 0x98 +;; jghe 0x80 ;; lg %r3, 0x60(%r2) ;; llc %r2, 0(%r4, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index c7eadf41d84b..fc7befe42c67 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -30,13 +30,12 @@ ;; lg %r3, 0x68(%r2) ;; aghi %r3, -0x1001 ;; clgr %r4, %r3 -;; jgh 0x52 +;; jgh 0x38 ;; ag %r4, 0x60(%r2) ;; lghi %r6, 0x1000 ;; stc %r5, 0(%r6, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -50,10 +49,9 @@ ;; lg %r3, 0x68(%r2) ;; aghi %r3, -0x1001 ;; clgr %r4, %r3 -;; jgh 0xa8 +;; jgh 0x8c ;; ag %r4, 0x60(%r2) ;; lghi %r5, 0x1000 ;; llc %r2, 0(%r5, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index 6ff863baa9da..639f913f0509 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -32,13 +32,12 @@ ;; jgnle 0x34 ;; lg %r6, 0x68(%r2) ;; clgr %r3, %r6 -;; jgh 0x5e +;; jgh 0x44 ;; ag %r4, 0x60(%r2) ;; llilh %r6, 0xffff ;; stc %r5, 0(%r6, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -54,10 +53,9 @@ ;; jgnle 0x94 ;; lg %r5, 0x68(%r2) ;; clgr %r3, %r5 -;; jgh 0xc0 +;; jgh 0xa4 ;; ag %r4, 0x60(%r2) ;; llilh %r6, 0xffff ;; llc %r2, 0(%r6, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat index f52b6aa752e3..de3268836af4 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat @@ -29,12 +29,11 @@ ;; stg %r1, 0(%r15) ;; lg %r7, 0x68(%r2) ;; clgr %r4, %r7 -;; jgh 0x4c +;; jgh 0x34 ;; lg %r3, 0x60(%r2) ;; strv %r5, 0(%r4, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -47,9 +46,8 @@ ;; stg %r1, 0(%r15) ;; lg %r7, 0x68(%r2) ;; clgr %r4, %r7 -;; jgh 0x9c +;; jgh 0x80 ;; lg %r3, 0x60(%r2) ;; lrv %r2, 0(%r4, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat index b5768eadc2ab..c654064b6d29 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat @@ -29,13 +29,12 @@ ;; stg %r1, 0(%r15) ;; lg %r3, 0x68(%r2) ;; clgr %r4, %r3 -;; jgh 0x50 +;; jgh 0x34 ;; ag %r4, 0x60(%r2) ;; lghi %r6, 0x1000 ;; strv %r5, 0(%r6, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -48,10 +47,9 @@ ;; stg %r1, 0(%r15) ;; lg %r3, 0x68(%r2) ;; clgr %r4, %r3 -;; jgh 0xa4 +;; jgh 0x84 ;; ag %r4, 0x60(%r2) ;; lghi %r5, 0x1000 ;; lrv %r2, 0(%r5, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat index afe268acb2b6..6d66fbccb291 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -29,13 +29,12 @@ ;; stg %r1, 0(%r15) ;; lg %r3, 0x68(%r2) ;; clgr %r4, %r3 -;; jgh 0x50 +;; jgh 0x34 ;; ag %r4, 0x60(%r2) ;; llilh %r6, 0xffff ;; strv %r5, 0(%r6, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -48,10 +47,9 @@ ;; stg %r1, 0(%r15) ;; lg %r3, 0x68(%r2) ;; clgr %r4, %r3 -;; jgh 0xa4 +;; jgh 0x84 ;; ag %r4, 0x60(%r2) ;; llilh %r5, 0xffff ;; lrv %r2, 0(%r5, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat index a04f732d210a..9de947813278 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat @@ -29,12 +29,11 @@ ;; stg %r1, 0(%r15) ;; lg %r7, 0x68(%r2) ;; clgr %r4, %r7 -;; jghe 0x4a +;; jghe 0x34 ;; lg %r3, 0x60(%r2) ;; stc %r5, 0(%r4, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -47,9 +46,8 @@ ;; stg %r1, 0(%r15) ;; lg %r7, 0x68(%r2) ;; clgr %r4, %r7 -;; jghe 0x98 +;; jghe 0x80 ;; lg %r3, 0x60(%r2) ;; llc %r2, 0(%r4, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat index ac51422bf888..6d0bd6185137 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat @@ -29,13 +29,12 @@ ;; stg %r1, 0(%r15) ;; lg %r3, 0x68(%r2) ;; clgr %r4, %r3 -;; jgh 0x4e +;; jgh 0x34 ;; ag %r4, 0x60(%r2) ;; lghi %r6, 0x1000 ;; stc %r5, 0(%r6, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -48,10 +47,9 @@ ;; stg %r1, 0(%r15) ;; lg %r3, 0x68(%r2) ;; clgr %r4, %r3 -;; jgh 0xa0 +;; jgh 0x84 ;; ag %r4, 0x60(%r2) ;; lghi %r5, 0x1000 ;; llc %r2, 0(%r5, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat index 95b9a6c820e1..fd3f997fbac3 100644 --- a/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -29,13 +29,12 @@ ;; stg %r1, 0(%r15) ;; lg %r3, 0x68(%r2) ;; clgr %r4, %r3 -;; jgh 0x4e +;; jgh 0x34 ;; ag %r4, 0x60(%r2) ;; llilh %r6, 0xffff ;; stc %r5, 0(%r6, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -48,10 +47,9 @@ ;; stg %r1, 0(%r15) ;; lg %r3, 0x68(%r2) ;; clgr %r4, %r3 -;; jgh 0xa0 +;; jgh 0x84 ;; ag %r4, 0x60(%r2) ;; llilh %r5, 0xffff ;; llc %r2, 0(%r5, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat index a23a706f2803..581d83771fd8 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -29,12 +29,11 @@ ;; stg %r1, 0(%r15) ;; llgfr %r7, %r4 ;; clgfi %r7, 0xfffffffc -;; jgh 0x4c +;; jgh 0x34 ;; lg %r3, 0x60(%r2) ;; strv %r5, 0(%r7, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -47,9 +46,8 @@ ;; stg %r1, 0(%r15) ;; llgfr %r7, %r4 ;; clgfi %r7, 0xfffffffc -;; jgh 0x9c +;; jgh 0x80 ;; lg %r3, 0x60(%r2) ;; lrv %r2, 0(%r7, %r3) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index f562184bdaab..df1a19cd22a5 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -29,13 +29,12 @@ ;; stg %r1, 0(%r15) ;; llgfr %r7, %r4 ;; clgfi %r7, 0xffffeffc -;; jgh 0x50 +;; jgh 0x34 ;; ag %r7, 0x60(%r2) ;; lghi %r4, 0x1000 ;; strv %r5, 0(%r4, %r7) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -48,10 +47,9 @@ ;; stg %r1, 0(%r15) ;; llgfr %r7, %r4 ;; clgfi %r7, 0xffffeffc -;; jgh 0xa4 +;; jgh 0x84 ;; ag %r7, 0x60(%r2) ;; lghi %r4, 0x1000 ;; lrv %r2, 0(%r4, %r7) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index f33a75360081..e749b1fc240c 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -29,13 +29,12 @@ ;; stg %r1, 0(%r15) ;; llgfr %r7, %r4 ;; clgfi %r7, 0xfffc -;; jgh 0x50 +;; jgh 0x34 ;; ag %r7, 0x60(%r2) ;; llilh %r4, 0xffff ;; strv %r5, 0(%r4, %r7) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -48,10 +47,9 @@ ;; stg %r1, 0(%r15) ;; llgfr %r7, %r4 ;; clgfi %r7, 0xfffc -;; jgh 0xa4 +;; jgh 0x84 ;; ag %r7, 0x60(%r2) ;; llilh %r4, 0xffff ;; lrv %r2, 0(%r4, %r7) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index bef7cdd55593..9ce2c7dfc826 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -29,13 +29,12 @@ ;; stg %r1, 0(%r15) ;; llgfr %r7, %r4 ;; clgfi %r7, 0xffffefff -;; jgh 0x4e +;; jgh 0x34 ;; ag %r7, 0x60(%r2) ;; lghi %r4, 0x1000 ;; stc %r5, 0(%r4, %r7) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -48,10 +47,9 @@ ;; stg %r1, 0(%r15) ;; llgfr %r7, %r4 ;; clgfi %r7, 0xffffefff -;; jgh 0xa0 +;; jgh 0x84 ;; ag %r7, 0x60(%r2) ;; lghi %r4, 0x1000 ;; llc %r2, 0(%r4, %r7) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index b934f0d3cacc..9617d9ac27a8 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -29,13 +29,12 @@ ;; stg %r1, 0(%r15) ;; llgfr %r7, %r4 ;; clgfi %r7, 0xffff -;; jgh 0x4e +;; jgh 0x34 ;; ag %r7, 0x60(%r2) ;; llilh %r4, 0xffff ;; stc %r5, 0(%r4, %r7) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -48,10 +47,9 @@ ;; stg %r1, 0(%r15) ;; llgfr %r7, %r4 ;; clgfi %r7, 0xffff -;; jgh 0xa0 +;; jgh 0x84 ;; ag %r7, 0x60(%r2) ;; llilh %r4, 0xffff ;; llc %r2, 0(%r4, %r7) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat index 96e0148a5746..b55ea3f08e16 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -28,12 +28,11 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xfffffffc -;; jgh 0x48 +;; jgh 0x30 ;; lg %r2, 0x60(%r2) ;; strv %r5, 0(%r4, %r2) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -45,9 +44,8 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xfffffffc -;; jgh 0x94 +;; jgh 0x78 ;; lg %r2, 0x60(%r2) ;; lrv %r2, 0(%r4, %r2) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index d5406d493527..e33491bd8f55 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -28,13 +28,12 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffffeffc -;; jgh 0x4c +;; jgh 0x30 ;; ag %r4, 0x60(%r2) ;; lghi %r3, 0x1000 ;; strv %r5, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -46,10 +45,9 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffffeffc -;; jgh 0x9c +;; jgh 0x7c ;; ag %r4, 0x60(%r2) ;; lghi %r3, 0x1000 ;; lrv %r2, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index f8936bfbdd1f..b6efba452724 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -28,13 +28,12 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xfffc -;; jgh 0x4c +;; jgh 0x30 ;; ag %r4, 0x60(%r2) ;; llilh %r3, 0xffff ;; strv %r5, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -46,10 +45,9 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xfffc -;; jgh 0x9c +;; jgh 0x7c ;; ag %r4, 0x60(%r2) ;; llilh %r3, 0xffff ;; lrv %r2, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat index 73437230ec38..b030fca62913 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat @@ -28,12 +28,11 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffffffff -;; jgh 0x46 +;; jgh 0x30 ;; lg %r2, 0x60(%r2) ;; stc %r5, 0(%r4, %r2) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -45,9 +44,8 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffffffff -;; jgh 0x90 +;; jgh 0x78 ;; lg %r2, 0x60(%r2) ;; llc %r2, 0(%r4, %r2) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index 53d2802a238f..6a8a88f2d8ec 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -28,13 +28,12 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffffefff -;; jgh 0x4a +;; jgh 0x30 ;; ag %r4, 0x60(%r2) ;; lghi %r3, 0x1000 ;; stc %r5, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -46,10 +45,9 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffffefff -;; jgh 0x98 +;; jgh 0x7c ;; ag %r4, 0x60(%r2) ;; lghi %r3, 0x1000 ;; llc %r2, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index 1ffc02888bd7..7d2f101779d8 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -28,13 +28,12 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffff -;; jgh 0x4a +;; jgh 0x30 ;; ag %r4, 0x60(%r2) ;; llilh %r3, 0xffff ;; stc %r5, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -46,10 +45,9 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffff -;; jgh 0x98 +;; jgh 0x7c ;; ag %r4, 0x60(%r2) ;; llilh %r3, 0xffff ;; llc %r2, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat index 99f27ccb0b7a..e607c2072890 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat @@ -28,12 +28,11 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xfffffffc -;; jgh 0x48 +;; jgh 0x30 ;; lg %r2, 0x60(%r2) ;; strv %r5, 0(%r4, %r2) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -45,9 +44,8 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xfffffffc -;; jgh 0x94 +;; jgh 0x78 ;; lg %r2, 0x60(%r2) ;; lrv %r2, 0(%r4, %r2) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat index 0c0f219107a4..0e63a86bd9ca 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat @@ -28,13 +28,12 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffffeffc -;; jgh 0x4c +;; jgh 0x30 ;; ag %r4, 0x60(%r2) ;; lghi %r3, 0x1000 ;; strv %r5, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -46,10 +45,9 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffffeffc -;; jgh 0x9c +;; jgh 0x7c ;; ag %r4, 0x60(%r2) ;; lghi %r3, 0x1000 ;; lrv %r2, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat index 64475212daae..202de4f7b40e 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -28,13 +28,12 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xfffc -;; jgh 0x4c +;; jgh 0x30 ;; ag %r4, 0x60(%r2) ;; llilh %r3, 0xffff ;; strv %r5, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -46,10 +45,9 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xfffc -;; jgh 0x9c +;; jgh 0x7c ;; ag %r4, 0x60(%r2) ;; llilh %r3, 0xffff ;; lrv %r2, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat index 9dbb46ebf0c0..1af8ece094a3 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat @@ -28,12 +28,11 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffffffff -;; jgh 0x46 +;; jgh 0x30 ;; lg %r2, 0x60(%r2) ;; stc %r5, 0(%r4, %r2) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -45,9 +44,8 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffffffff -;; jgh 0x90 +;; jgh 0x78 ;; lg %r2, 0x60(%r2) ;; llc %r2, 0(%r4, %r2) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat index c7921680a995..65d4d1b8e492 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat @@ -28,13 +28,12 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffffefff -;; jgh 0x4a +;; jgh 0x30 ;; ag %r4, 0x60(%r2) ;; lghi %r3, 0x1000 ;; stc %r5, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -46,10 +45,9 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffffefff -;; jgh 0x98 +;; jgh 0x7c ;; ag %r4, 0x60(%r2) ;; lghi %r3, 0x1000 ;; llc %r2, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat index ec043f14ef8f..80c4d27a0ea7 100644 --- a/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/s390x/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -28,13 +28,12 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffff -;; jgh 0x4a +;; jgh 0x30 ;; ag %r4, 0x60(%r2) ;; llilh %r3, 0xffff ;; stc %r5, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 ;; ;; wasm[0]::function[1]: ;; lg %r1, 8(%r2) @@ -46,10 +45,9 @@ ;; aghi %r15, -0xa0 ;; stg %r1, 0(%r15) ;; clgfi %r4, 0xffff -;; jgh 0x98 +;; jgh 0x7c ;; ag %r4, 0x60(%r2) ;; llilh %r3, 0xffff ;; llc %r2, 0(%r3, %r4) ;; lmg %r14, %r15, 0x110(%r15) ;; br %r14 -;; .byte 0x00, 0x00 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat index 5da0bbc76ca5..e9f48940ce96 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -21,29 +21,33 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; movl %edx, %r10d -;; subq $4, %r8 -;; cmpq %r8, %r10 -;; ja 0x25 -;; 18: movq 0x60(%rdi), %rsi -;; movl %ecx, (%rsi, %r10) +;; movq 0x68(%rdi), %r9 +;; movl %edx, %r11d +;; subq $4, %r9 +;; cmpq %r9, %r11 +;; seta %sil +;; testb %sil, %sil +;; jne 0x2c +;; 1f: movq 0x60(%rdi), %rax +;; movl %ecx, (%rax, %r11) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 25: ud2 +;; 2c: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; movl %edx, %r10d -;; subq $4, %r8 -;; cmpq %r8, %r10 -;; ja 0x65 -;; 58: movq 0x60(%rdi), %rsi -;; movl (%rsi, %r10), %eax +;; movq 0x68(%rdi), %r9 +;; movl %edx, %r11d +;; subq $4, %r9 +;; cmpq %r9, %r11 +;; seta %sil +;; testb %sil, %sil +;; jne 0x6c +;; 5f: movq 0x60(%rdi), %rax +;; movl (%rax, %r11), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 65: ud2 +;; 6c: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index 9f07e9a6f462..8bf039aa2682 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -21,29 +21,33 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; movl %edx, %r10d -;; subq $0x1004, %r8 -;; cmpq %r8, %r10 -;; ja 0x2c -;; 1b: movq 0x60(%rdi), %rsi -;; movl %ecx, 0x1000(%rsi, %r10) +;; movq 0x68(%rdi), %r9 +;; movl %edx, %r11d +;; subq $0x1004, %r9 +;; cmpq %r9, %r11 +;; seta %sil +;; testb %sil, %sil +;; jne 0x33 +;; 22: movq 0x60(%rdi), %rax +;; movl %ecx, 0x1000(%rax, %r11) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 2c: ud2 +;; 33: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; movl %edx, %r10d -;; subq $0x1004, %r8 -;; cmpq %r8, %r10 -;; ja 0x6c -;; 5b: movq 0x60(%rdi), %rsi -;; movl 0x1000(%rsi, %r10), %eax +;; movq 0x68(%rdi), %r9 +;; movl %edx, %r11d +;; subq $0x1004, %r9 +;; cmpq %r9, %r11 +;; seta %sil +;; testb %sil, %sil +;; jne 0x73 +;; 62: movq 0x60(%rdi), %rax +;; movl 0x1000(%rax, %r11), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 6c: ud2 +;; 73: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index 68b6836c71c9..bf18d7c6889d 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -24,22 +24,21 @@ ;; movl %edx, %r8d ;; movq %r8, %r11 ;; addq 0x2f(%rip), %r11 -;; jb 0x38 -;; 17: movq 0x68(%rdi), %rsi -;; cmpq %rsi, %r11 -;; ja 0x36 -;; 24: addq 0x60(%rdi), %r8 -;; movl $0xffff0000, %eax -;; movl %ecx, (%r8, %rax) +;; jb 0x39 +;; 17: cmpq 0x68(%rdi), %r11 +;; seta %al +;; testb %al, %al +;; jne 0x3b +;; 27: addq 0x60(%rdi), %r8 +;; movl $0xffff0000, %edx +;; movl %ecx, (%r8, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 36: ud2 -;; 38: ud2 -;; 3a: addb %al, (%rax) -;; 3c: addb %al, (%rax) -;; 3e: addb %al, (%rax) -;; 40: addb $0, %al +;; 39: ud2 +;; 3b: ud2 +;; 3d: addb %al, (%rax) +;; 3f: addb %al, (%rax, %rax) ;; ;; wasm[0]::function[1]: ;; pushq %rbp @@ -47,19 +46,18 @@ ;; movl %edx, %r8d ;; movq %r8, %r11 ;; addq 0x2f(%rip), %r11 -;; jb 0x98 -;; 77: movq 0x68(%rdi), %rsi -;; cmpq %rsi, %r11 -;; ja 0x96 -;; 84: addq 0x60(%rdi), %r8 -;; movl $0xffff0000, %eax -;; movl (%r8, %rax), %eax +;; jb 0x99 +;; 77: cmpq 0x68(%rdi), %r11 +;; seta %al +;; testb %al, %al +;; jne 0x9b +;; 87: addq 0x60(%rdi), %r8 +;; movl $0xffff0000, %ecx +;; movl (%r8, %rcx), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 96: ud2 -;; 98: ud2 -;; 9a: addb %al, (%rax) -;; 9c: addb %al, (%rax) -;; 9e: addb %al, (%rax) -;; a0: addb $0, %al +;; 99: ud2 +;; 9b: ud2 +;; 9d: addb %al, (%rax) +;; 9f: addb %al, (%rax, %rax) diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat index cbbcc72745a3..8f3a78c2b93c 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat @@ -21,27 +21,29 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r10 ;; movl %edx, %r9d -;; cmpq %r10, %r9 -;; jae 0x21 -;; 14: movq 0x60(%rdi), %r11 -;; movb %cl, (%r11, %r9) +;; cmpq 0x68(%rdi), %r9 +;; setae %r10b +;; testb %r10b, %r10b +;; jne 0x25 +;; 18: movq 0x60(%rdi), %rsi +;; movb %cl, (%rsi, %r9) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 21: ud2 +;; 25: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r10 ;; movl %edx, %r9d -;; cmpq %r10, %r9 -;; jae 0x62 -;; 54: movq 0x60(%rdi), %r11 -;; movzbq (%r11, %r9), %rax +;; cmpq 0x68(%rdi), %r9 +;; setae %r10b +;; testb %r10b, %r10b +;; jne 0x66 +;; 58: movq 0x60(%rdi), %rsi +;; movzbq (%rsi, %r9), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 62: ud2 +;; 66: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index e2bcf2d12a14..d11abc628f7d 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -21,29 +21,33 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; movl %edx, %r10d -;; subq $0x1001, %r8 -;; cmpq %r8, %r10 -;; ja 0x2c -;; 1b: movq 0x60(%rdi), %rsi -;; movb %cl, 0x1000(%rsi, %r10) +;; movq 0x68(%rdi), %r9 +;; movl %edx, %r11d +;; subq $0x1001, %r9 +;; cmpq %r9, %r11 +;; seta %sil +;; testb %sil, %sil +;; jne 0x33 +;; 22: movq 0x60(%rdi), %rax +;; movb %cl, 0x1000(%rax, %r11) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 2c: ud2 +;; 33: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; movl %edx, %r10d -;; subq $0x1001, %r8 -;; cmpq %r8, %r10 -;; ja 0x6d -;; 5b: movq 0x60(%rdi), %rsi -;; movzbq 0x1000(%rsi, %r10), %rax +;; movq 0x68(%rdi), %r9 +;; movl %edx, %r11d +;; subq $0x1001, %r9 +;; cmpq %r9, %r11 +;; seta %sil +;; testb %sil, %sil +;; jne 0x74 +;; 62: movq 0x60(%rdi), %rax +;; movzbq 0x1000(%rax, %r11), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 6d: ud2 +;; 74: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index 2634eba9c362..3fa28e4f4dad 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -24,22 +24,24 @@ ;; movl %edx, %r8d ;; movq %r8, %r11 ;; addq 0x2f(%rip), %r11 -;; jb 0x38 -;; 17: movq 0x68(%rdi), %rsi -;; cmpq %rsi, %r11 -;; ja 0x36 -;; 24: addq 0x60(%rdi), %r8 -;; movl $0xffff0000, %eax -;; movb %cl, (%r8, %rax) +;; jb 0x39 +;; 17: cmpq 0x68(%rdi), %r11 +;; seta %al +;; testb %al, %al +;; jne 0x3b +;; 27: addq 0x60(%rdi), %r8 +;; movl $0xffff0000, %edx +;; movb %cl, (%r8, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 36: ud2 -;; 38: ud2 -;; 3a: addb %al, (%rax) -;; 3c: addb %al, (%rax) -;; 3e: addb %al, (%rax) -;; 40: addl %eax, (%rax) +;; 39: ud2 +;; 3b: ud2 +;; 3d: addb %al, (%rax) +;; 3f: addb %al, (%rcx) +;; 41: addb %bh, %bh +;; 43: incl (%rax) +;; 45: addb %al, (%rax) ;; ;; wasm[0]::function[1]: ;; pushq %rbp @@ -47,21 +49,18 @@ ;; movl %edx, %r8d ;; movq %r8, %r11 ;; addq 0x2f(%rip), %r11 -;; jb 0x99 -;; 77: movq 0x68(%rdi), %rsi -;; cmpq %rsi, %r11 -;; ja 0x97 -;; 84: addq 0x60(%rdi), %r8 -;; movl $0xffff0000, %eax -;; movzbq (%r8, %rax), %rax +;; jb 0x9a +;; 77: cmpq 0x68(%rdi), %r11 +;; seta %al +;; testb %al, %al +;; jne 0x9c +;; 87: addq 0x60(%rdi), %r8 +;; movl $0xffff0000, %ecx +;; movzbq (%r8, %rcx), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 97: ud2 -;; 99: ud2 -;; 9b: addb %al, (%rax) -;; 9d: addb %al, (%rax) -;; 9f: addb %al, (%rcx) -;; a1: addb %bh, %bh -;; a3: incl (%rax) -;; a5: addb %al, (%rax) +;; 9a: ud2 +;; 9c: ud2 +;; 9e: addb %al, (%rax) +;; a0: addl %eax, (%rax) diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat index 0ab64fe1a2e2..92918a41ff66 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat @@ -21,27 +21,29 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r10 ;; movl %edx, %r9d -;; cmpq %r10, %r9 -;; ja 0x21 -;; 14: movq 0x60(%rdi), %r11 -;; movl %ecx, (%r11, %r9) +;; cmpq 0x68(%rdi), %r9 +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x25 +;; 18: movq 0x60(%rdi), %rsi +;; movl %ecx, (%rsi, %r9) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 21: ud2 +;; 25: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r10 ;; movl %edx, %r9d -;; cmpq %r10, %r9 -;; ja 0x61 -;; 54: movq 0x60(%rdi), %r11 -;; movl (%r11, %r9), %eax +;; cmpq 0x68(%rdi), %r9 +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x65 +;; 58: movq 0x60(%rdi), %rsi +;; movl (%rsi, %r9), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 61: ud2 +;; 65: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat index db1892e2f2d6..2284d6e75679 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat @@ -21,27 +21,29 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r10 ;; movl %edx, %r9d -;; cmpq %r10, %r9 -;; ja 0x25 -;; 14: movq 0x60(%rdi), %r11 -;; movl %ecx, 0x1000(%r11, %r9) +;; cmpq 0x68(%rdi), %r9 +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x29 +;; 18: movq 0x60(%rdi), %rsi +;; movl %ecx, 0x1000(%rsi, %r9) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 25: ud2 +;; 29: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r10 ;; movl %edx, %r9d -;; cmpq %r10, %r9 -;; ja 0x65 -;; 54: movq 0x60(%rdi), %r11 -;; movl 0x1000(%r11, %r9), %eax +;; cmpq 0x68(%rdi), %r9 +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x69 +;; 58: movq 0x60(%rdi), %rsi +;; movl 0x1000(%rsi, %r9), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 65: ud2 +;; 69: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat index 8acf83f529d2..a09d6d1f29f8 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -21,29 +21,31 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r10 -;; movl %edx, %r9d -;; cmpq %r10, %r9 -;; ja 0x26 -;; 14: addq 0x60(%rdi), %r9 -;; movl $0xffff0000, %esi -;; movl %ecx, (%r9, %rsi) +;; movl %edx, %r8d +;; cmpq 0x68(%rdi), %r8 +;; seta %r11b +;; testb %r11b, %r11b +;; jne 0x2a +;; 18: addq 0x60(%rdi), %r8 +;; movl $0xffff0000, %edi +;; movl %ecx, (%r8, %rdi) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 26: ud2 +;; 2a: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r10 -;; movl %edx, %r9d -;; cmpq %r10, %r9 -;; ja 0x66 -;; 54: addq 0x60(%rdi), %r9 -;; movl $0xffff0000, %esi -;; movl (%r9, %rsi), %eax +;; movl %edx, %r8d +;; cmpq 0x68(%rdi), %r8 +;; seta %r11b +;; testb %r11b, %r11b +;; jne 0x6a +;; 58: addq 0x60(%rdi), %r8 +;; movl $0xffff0000, %edi +;; movl (%r8, %rdi), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 66: ud2 +;; 6a: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat index d90fb8880cb7..db35aab9b911 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat @@ -21,27 +21,29 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r10 ;; movl %edx, %r9d -;; cmpq %r10, %r9 -;; jae 0x21 -;; 14: movq 0x60(%rdi), %r11 -;; movb %cl, (%r11, %r9) +;; cmpq 0x68(%rdi), %r9 +;; setae %r10b +;; testb %r10b, %r10b +;; jne 0x25 +;; 18: movq 0x60(%rdi), %rsi +;; movb %cl, (%rsi, %r9) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 21: ud2 +;; 25: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r10 ;; movl %edx, %r9d -;; cmpq %r10, %r9 -;; jae 0x62 -;; 54: movq 0x60(%rdi), %r11 -;; movzbq (%r11, %r9), %rax +;; cmpq 0x68(%rdi), %r9 +;; setae %r10b +;; testb %r10b, %r10b +;; jne 0x66 +;; 58: movq 0x60(%rdi), %rsi +;; movzbq (%rsi, %r9), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 62: ud2 +;; 66: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat index 9dd6d5593272..acd1eb1791cd 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat @@ -21,27 +21,29 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r10 ;; movl %edx, %r9d -;; cmpq %r10, %r9 -;; ja 0x25 -;; 14: movq 0x60(%rdi), %r11 -;; movb %cl, 0x1000(%r11, %r9) +;; cmpq 0x68(%rdi), %r9 +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x29 +;; 18: movq 0x60(%rdi), %rsi +;; movb %cl, 0x1000(%rsi, %r9) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 25: ud2 +;; 29: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r10 ;; movl %edx, %r9d -;; cmpq %r10, %r9 -;; ja 0x66 -;; 54: movq 0x60(%rdi), %r11 -;; movzbq 0x1000(%r11, %r9), %rax +;; cmpq 0x68(%rdi), %r9 +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x6a +;; 58: movq 0x60(%rdi), %rsi +;; movzbq 0x1000(%rsi, %r9), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 66: ud2 +;; 6a: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat index 5d6ced0bd78b..0e48f1320e19 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -21,29 +21,31 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r10 -;; movl %edx, %r9d -;; cmpq %r10, %r9 -;; ja 0x26 -;; 14: addq 0x60(%rdi), %r9 -;; movl $0xffff0000, %esi -;; movb %cl, (%r9, %rsi) +;; movl %edx, %r8d +;; cmpq 0x68(%rdi), %r8 +;; seta %r11b +;; testb %r11b, %r11b +;; jne 0x2a +;; 18: addq 0x60(%rdi), %r8 +;; movl $0xffff0000, %edi +;; movb %cl, (%r8, %rdi) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 26: ud2 +;; 2a: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r10 -;; movl %edx, %r9d -;; cmpq %r10, %r9 -;; ja 0x67 -;; 54: addq 0x60(%rdi), %r9 -;; movl $0xffff0000, %esi -;; movzbq (%r9, %rsi), %rax +;; movl %edx, %r8d +;; cmpq 0x68(%rdi), %r8 +;; seta %r11b +;; testb %r11b, %r11b +;; jne 0x6b +;; 58: addq 0x60(%rdi), %r8 +;; movl $0xffff0000, %edi +;; movzbq (%r8, %rdi), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 67: ud2 +;; 6b: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat index d2977ae41a7b..59ffddd94a9b 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -21,27 +21,31 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; subq $4, %r8 -;; cmpq %r8, %rdx -;; ja 0x22 -;; 15: movq 0x60(%rdi), %r11 -;; movl %ecx, (%r11, %rdx) +;; movq 0x68(%rdi), %r9 +;; subq $4, %r9 +;; cmpq %r9, %rdx +;; seta %r11b +;; testb %r11b, %r11b +;; jne 0x28 +;; 1c: movq 0x60(%rdi), %rdi +;; movl %ecx, (%rdi, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 22: ud2 +;; 28: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; subq $4, %r8 -;; cmpq %r8, %rdx -;; ja 0x62 -;; 55: movq 0x60(%rdi), %r11 -;; movl (%r11, %rdx), %eax +;; movq 0x68(%rdi), %r9 +;; subq $4, %r9 +;; cmpq %r9, %rdx +;; seta %r11b +;; testb %r11b, %r11b +;; jne 0x68 +;; 5c: movq 0x60(%rdi), %rdi +;; movl (%rdi, %rdx), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 62: ud2 +;; 68: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index b8f90a710d12..0d9d6e73ca7b 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -21,27 +21,31 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; subq $0x1004, %r8 -;; cmpq %r8, %rdx -;; ja 0x29 -;; 18: movq 0x60(%rdi), %r11 -;; movl %ecx, 0x1000(%r11, %rdx) +;; movq 0x68(%rdi), %r9 +;; subq $0x1004, %r9 +;; cmpq %r9, %rdx +;; seta %r11b +;; testb %r11b, %r11b +;; jne 0x2f +;; 1f: movq 0x60(%rdi), %rdi +;; movl %ecx, 0x1000(%rdi, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 29: ud2 +;; 2f: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; subq $0x1004, %r8 -;; cmpq %r8, %rdx -;; ja 0x69 -;; 58: movq 0x60(%rdi), %r11 -;; movl 0x1000(%r11, %rdx), %eax +;; movq 0x68(%rdi), %r9 +;; subq $0x1004, %r9 +;; cmpq %r9, %rdx +;; seta %r11b +;; testb %r11b, %r11b +;; jne 0x6f +;; 5f: movq 0x60(%rdi), %rdi +;; movl 0x1000(%rdi, %rdx), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 69: ud2 +;; 6f: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index bb753a19a9f6..7f7718d441d2 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -22,38 +22,44 @@ ;; pushq %rbp ;; movq %rsp, %rbp ;; movq %rdx, %r10 -;; addq 0x2a(%rip), %r10 -;; jb 0x34 -;; 14: movq 0x68(%rdi), %r11 -;; cmpq %r11, %r10 -;; ja 0x32 -;; 21: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %edi -;; movl %ecx, (%rdx, %rdi) +;; addq 0x32(%rip), %r10 +;; jb 0x36 +;; 14: cmpq 0x68(%rdi), %r10 +;; seta %sil +;; testb %sil, %sil +;; jne 0x38 +;; 25: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %eax +;; movl %ecx, (%rdx, %rax) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 32: ud2 -;; 34: ud2 -;; 36: addb %al, (%rax) -;; 38: addb $0, %al +;; 36: ud2 +;; 38: ud2 +;; 3a: addb %al, (%rax) +;; 3c: addb %al, (%rax) +;; 3e: addb %al, (%rax) +;; 40: addb $0, %al ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp ;; movq %rdx, %r10 -;; addq 0x2a(%rip), %r10 -;; jb 0x74 -;; 54: movq 0x68(%rdi), %r11 -;; cmpq %r11, %r10 -;; ja 0x72 -;; 61: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %edi -;; movl (%rdx, %rdi), %eax +;; addq 0x32(%rip), %r10 +;; jb 0x96 +;; 74: cmpq 0x68(%rdi), %r10 +;; seta %sil +;; testb %sil, %sil +;; jne 0x98 +;; 85: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %eax +;; movl (%rdx, %rax), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 72: ud2 -;; 74: ud2 -;; 76: addb %al, (%rax) -;; 78: addb $0, %al +;; 96: ud2 +;; 98: ud2 +;; 9a: addb %al, (%rax) +;; 9c: addb %al, (%rax) +;; 9e: addb %al, (%rax) +;; a0: addb $0, %al diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat index 96710088e94d..165f2825017f 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat @@ -21,25 +21,27 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; cmpq %r8, %rdx -;; jae 0x1e -;; 11: movq 0x60(%rdi), %r10 -;; movb %cl, (%r10, %rdx) +;; cmpq 0x68(%rdi), %rdx +;; setae %r9b +;; testb %r9b, %r9b +;; jne 0x22 +;; 15: movq 0x60(%rdi), %r11 +;; movb %cl, (%r11, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 1e: ud2 +;; 22: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; cmpq %r8, %rdx -;; jae 0x3f -;; 31: movq 0x60(%rdi), %r10 -;; movzbq (%r10, %rdx), %rax +;; cmpq 0x68(%rdi), %rdx +;; setae %r9b +;; testb %r9b, %r9b +;; jne 0x63 +;; 55: movq 0x60(%rdi), %r11 +;; movzbq (%r11, %rdx), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 3f: ud2 +;; 63: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index b92422983012..e2b23f35e1e4 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -21,27 +21,31 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; subq $0x1001, %r8 -;; cmpq %r8, %rdx -;; ja 0x29 -;; 18: movq 0x60(%rdi), %r11 -;; movb %cl, 0x1000(%r11, %rdx) +;; movq 0x68(%rdi), %r9 +;; subq $0x1001, %r9 +;; cmpq %r9, %rdx +;; seta %r11b +;; testb %r11b, %r11b +;; jne 0x2f +;; 1f: movq 0x60(%rdi), %rdi +;; movb %cl, 0x1000(%rdi, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 29: ud2 +;; 2f: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; subq $0x1001, %r8 -;; cmpq %r8, %rdx -;; ja 0x6a -;; 58: movq 0x60(%rdi), %r11 -;; movzbq 0x1000(%r11, %rdx), %rax +;; movq 0x68(%rdi), %r9 +;; subq $0x1001, %r9 +;; cmpq %r9, %rdx +;; seta %r11b +;; testb %r11b, %r11b +;; jne 0x71 +;; 5f: movq 0x60(%rdi), %rdi +;; movzbq 0x1000(%rdi, %rdx), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 6a: ud2 +;; 71: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index ef5f64ec5265..97ccf62c4459 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -22,37 +22,43 @@ ;; pushq %rbp ;; movq %rsp, %rbp ;; movq %rdx, %r10 -;; addq 0x2a(%rip), %r10 -;; jb 0x34 -;; 14: movq 0x68(%rdi), %r11 -;; cmpq %r11, %r10 -;; ja 0x32 -;; 21: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %edi -;; movb %cl, (%rdx, %rdi) +;; addq 0x32(%rip), %r10 +;; jb 0x36 +;; 14: cmpq 0x68(%rdi), %r10 +;; seta %sil +;; testb %sil, %sil +;; jne 0x38 +;; 25: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %eax +;; movb %cl, (%rdx, %rax) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 32: ud2 -;; 34: ud2 -;; 36: addb %al, (%rax) -;; 38: addl %eax, (%rax) +;; 36: ud2 +;; 38: ud2 +;; 3a: addb %al, (%rax) +;; 3c: addb %al, (%rax) +;; 3e: addb %al, (%rax) +;; 40: addl %eax, (%rax) ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp ;; movq %rdx, %r10 -;; addq 0x2a(%rip), %r10 -;; jb 0x76 -;; 54: movq 0x68(%rdi), %r11 -;; cmpq %r11, %r10 -;; ja 0x74 -;; 61: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %edi -;; movzbq (%rdx, %rdi), %rax +;; addq 0x32(%rip), %r10 +;; jb 0x98 +;; 74: cmpq 0x68(%rdi), %r10 +;; seta %sil +;; testb %sil, %sil +;; jne 0x9a +;; 85: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %eax +;; movzbq (%rdx, %rax), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 74: ud2 -;; 76: ud2 -;; 78: addl %eax, (%rax) +;; 98: ud2 +;; 9a: ud2 +;; 9c: addb %al, (%rax) +;; 9e: addb %al, (%rax) +;; a0: addl %eax, (%rax) diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat index f67856a4ea39..1d97dd7e67da 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat @@ -21,25 +21,27 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; cmpq %r8, %rdx -;; ja 0x1e -;; 11: movq 0x60(%rdi), %r10 -;; movl %ecx, (%r10, %rdx) +;; cmpq 0x68(%rdi), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x22 +;; 15: movq 0x60(%rdi), %r11 +;; movl %ecx, (%r11, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 1e: ud2 +;; 22: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; cmpq %r8, %rdx -;; ja 0x3e -;; 31: movq 0x60(%rdi), %r10 -;; movl (%r10, %rdx), %eax +;; cmpq 0x68(%rdi), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x62 +;; 55: movq 0x60(%rdi), %r11 +;; movl (%r11, %rdx), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 3e: ud2 +;; 62: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat index b5714171eae9..3896818ca156 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat @@ -21,25 +21,27 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; cmpq %r8, %rdx -;; ja 0x22 -;; 11: movq 0x60(%rdi), %r10 -;; movl %ecx, 0x1000(%r10, %rdx) +;; cmpq 0x68(%rdi), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x26 +;; 15: movq 0x60(%rdi), %r11 +;; movl %ecx, 0x1000(%r11, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 22: ud2 +;; 26: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; cmpq %r8, %rdx -;; ja 0x62 -;; 51: movq 0x60(%rdi), %r10 -;; movl 0x1000(%r10, %rdx), %eax +;; cmpq 0x68(%rdi), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x66 +;; 55: movq 0x60(%rdi), %r11 +;; movl 0x1000(%r11, %rdx), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 62: ud2 +;; 66: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat index 7d4001522ca9..e91bbda22df2 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -21,27 +21,29 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r9 -;; cmpq %r9, %rdx -;; ja 0x24 -;; 11: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %r11d -;; movl %ecx, (%rdx, %r11) +;; cmpq 0x68(%rdi), %rdx +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x26 +;; 15: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %esi +;; movl %ecx, (%rdx, %rsi) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 24: ud2 +;; 26: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r9 -;; cmpq %r9, %rdx -;; ja 0x64 -;; 51: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %r11d -;; movl (%rdx, %r11), %eax +;; cmpq 0x68(%rdi), %rdx +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x66 +;; 55: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %esi +;; movl (%rdx, %rsi), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 64: ud2 +;; 66: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat index 204fed8ae17e..5728b25d2e65 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat @@ -21,25 +21,27 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; cmpq %r8, %rdx -;; jae 0x1e -;; 11: movq 0x60(%rdi), %r10 -;; movb %cl, (%r10, %rdx) +;; cmpq 0x68(%rdi), %rdx +;; setae %r9b +;; testb %r9b, %r9b +;; jne 0x22 +;; 15: movq 0x60(%rdi), %r11 +;; movb %cl, (%r11, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 1e: ud2 +;; 22: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; cmpq %r8, %rdx -;; jae 0x3f -;; 31: movq 0x60(%rdi), %r10 -;; movzbq (%r10, %rdx), %rax +;; cmpq 0x68(%rdi), %rdx +;; setae %r9b +;; testb %r9b, %r9b +;; jne 0x63 +;; 55: movq 0x60(%rdi), %r11 +;; movzbq (%r11, %rdx), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 3f: ud2 +;; 63: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat index c42d1978e6cf..f1d4ce4e183b 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat @@ -21,25 +21,27 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; cmpq %r8, %rdx -;; ja 0x22 -;; 11: movq 0x60(%rdi), %r10 -;; movb %cl, 0x1000(%r10, %rdx) +;; cmpq 0x68(%rdi), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x26 +;; 15: movq 0x60(%rdi), %r11 +;; movb %cl, 0x1000(%r11, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 22: ud2 +;; 26: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r8 -;; cmpq %r8, %rdx -;; ja 0x63 -;; 51: movq 0x60(%rdi), %r10 -;; movzbq 0x1000(%r10, %rdx), %rax +;; cmpq 0x68(%rdi), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x67 +;; 55: movq 0x60(%rdi), %r11 +;; movzbq 0x1000(%r11, %rdx), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 63: ud2 +;; 67: ud2 diff --git a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat index 547b9aab3e30..39c046468e02 100644 --- a/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/x64/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -21,27 +21,29 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r9 -;; cmpq %r9, %rdx -;; ja 0x24 -;; 11: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %r11d -;; movb %cl, (%rdx, %r11) +;; cmpq 0x68(%rdi), %rdx +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x26 +;; 15: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %esi +;; movb %cl, (%rdx, %rsi) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 24: ud2 +;; 26: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movq 0x68(%rdi), %r9 -;; cmpq %r9, %rdx -;; ja 0x65 -;; 51: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %r11d -;; movzbq (%rdx, %r11), %rax +;; cmpq 0x68(%rdi), %rdx +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x68 +;; 55: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %esi +;; movzbq (%rdx, %rsi), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 65: ud2 +;; 68: ud2 diff --git a/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat index bb673770a4f9..fc16dd68369b 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -21,31 +21,37 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movl %edx, %r8d -;; cmpq 0x1a(%rip), %r8 -;; ja 0x21 -;; 14: movq 0x60(%rdi), %r10 -;; movl %ecx, (%r10, %r8) +;; movl %edx, %r9d +;; cmpq 0x22(%rip), %r9 +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x28 +;; 1b: movq 0x60(%rdi), %rsi +;; movl %ecx, (%rsi, %r9) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 21: ud2 -;; 23: addb %al, (%rax) -;; 25: addb %al, (%rax) -;; 27: addb %bh, %ah +;; 28: ud2 +;; 2a: addb %al, (%rax) +;; 2c: addb %al, (%rax) +;; 2e: addb %al, (%rax) +;; 30: cld ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movl %edx, %r8d -;; cmpq 0x1a(%rip), %r8 -;; ja 0x61 -;; 54: movq 0x60(%rdi), %r10 -;; movl (%r10, %r8), %eax +;; movl %edx, %r9d +;; cmpq 0x22(%rip), %r9 +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x68 +;; 5b: movq 0x60(%rdi), %rsi +;; movl (%rsi, %r9), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 61: ud2 -;; 63: addb %al, (%rax) -;; 65: addb %al, (%rax) -;; 67: addb %bh, %ah +;; 68: ud2 +;; 6a: addb %al, (%rax) +;; 6c: addb %al, (%rax) +;; 6e: addb %al, (%rax) +;; 70: cld diff --git a/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index f5a88f0c47dd..d35e48e4d1eb 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -21,29 +21,35 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movl %edx, %r8d -;; cmpq 0x1a(%rip), %r8 -;; ja 0x25 -;; 14: movq 0x60(%rdi), %r10 -;; movl %ecx, 0x1000(%r10, %r8) +;; movl %edx, %r9d +;; cmpq 0x22(%rip), %r9 +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x2c +;; 1b: movq 0x60(%rdi), %rsi +;; movl %ecx, 0x1000(%rsi, %r9) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 25: ud2 -;; 27: addb %bh, %ah -;; 29: outl %eax, %dx +;; 2c: ud2 +;; 2e: addb %al, (%rax) +;; 30: cld +;; 31: outl %eax, %dx ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movl %edx, %r8d -;; cmpq 0x1a(%rip), %r8 -;; ja 0x65 -;; 54: movq 0x60(%rdi), %r10 -;; movl 0x1000(%r10, %r8), %eax +;; movl %edx, %r9d +;; cmpq 0x22(%rip), %r9 +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x6c +;; 5b: movq 0x60(%rdi), %rsi +;; movl 0x1000(%rsi, %r9), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 65: ud2 -;; 67: addb %bh, %ah -;; 69: outl %eax, %dx +;; 6c: ud2 +;; 6e: addb %al, (%rax) +;; 70: cld +;; 71: outl %eax, %dx diff --git a/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index c5ba9f5e0669..938dc399a1c4 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -23,25 +23,29 @@ ;; movq %rsp, %rbp ;; movl %edx, %r8d ;; cmpq $0xfffc, %r8 -;; ja 0x27 -;; 14: addq 0x60(%rdi), %r8 -;; movl $0xffff0000, %r11d -;; movl %ecx, (%r8, %r11) +;; seta %r11b +;; testb %r11b, %r11b +;; jne 0x2d +;; 1b: addq 0x60(%rdi), %r8 +;; movl $0xffff0000, %edi +;; movl %ecx, (%r8, %rdi) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 27: ud2 +;; 2d: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp ;; movl %edx, %r8d ;; cmpq $0xfffc, %r8 -;; ja 0x67 -;; 54: addq 0x60(%rdi), %r8 -;; movl $0xffff0000, %r11d -;; movl (%r8, %r11), %eax +;; seta %r11b +;; testb %r11b, %r11b +;; jne 0x6d +;; 5b: addq 0x60(%rdi), %r8 +;; movl $0xffff0000, %edi +;; movl (%r8, %rdi), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 67: ud2 +;; 6d: ud2 diff --git a/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index da12a01d60fa..14fa155da655 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -21,27 +21,32 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movl %edx, %r8d -;; cmpq 0x1a(%rip), %r8 -;; ja 0x25 -;; 14: movq 0x60(%rdi), %r10 -;; movb %cl, 0x1000(%r10, %r8) +;; movl %edx, %r9d +;; cmpq 0x22(%rip), %r9 +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x2c +;; 1b: movq 0x60(%rdi), %rsi +;; movb %cl, 0x1000(%rsi, %r9) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 25: ud2 -;; 27: addb %bh, %bh -;; 29: outl %eax, %dx +;; 2c: ud2 +;; 2e: addb %al, (%rax) ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; movl %edx, %r8d -;; cmpq 0x1a(%rip), %r8 -;; ja 0x66 -;; 54: movq 0x60(%rdi), %r10 -;; movzbq 0x1000(%r10, %r8), %rax +;; movl %edx, %r9d +;; cmpq 0x22(%rip), %r9 +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x6d +;; 5b: movq 0x60(%rdi), %rsi +;; movzbq 0x1000(%rsi, %r9), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 66: ud2 +;; 6d: ud2 +;; 6f: addb %bh, %bh +;; 71: outl %eax, %dx diff --git a/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index 2237b3d40a31..8494be4cf1da 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -23,25 +23,29 @@ ;; movq %rsp, %rbp ;; movl %edx, %r8d ;; cmpq $0xffff, %r8 -;; ja 0x27 -;; 14: addq 0x60(%rdi), %r8 -;; movl $0xffff0000, %r11d -;; movb %cl, (%r8, %r11) +;; seta %r11b +;; testb %r11b, %r11b +;; jne 0x2d +;; 1b: addq 0x60(%rdi), %r8 +;; movl $0xffff0000, %edi +;; movb %cl, (%r8, %rdi) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 27: ud2 +;; 2d: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp ;; movl %edx, %r8d ;; cmpq $0xffff, %r8 -;; ja 0x68 -;; 54: addq 0x60(%rdi), %r8 -;; movl $0xffff0000, %r11d -;; movzbq (%r8, %r11), %rax +;; seta %r11b +;; testb %r11b, %r11b +;; jne 0x6e +;; 5b: addq 0x60(%rdi), %r8 +;; movl $0xffff0000, %edi +;; movzbq (%r8, %rdi), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 68: ud2 +;; 6e: ud2 diff --git a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat index f8122487e822..ead5822e046d 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat @@ -21,25 +21,29 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; cmpq 0x15(%rip), %rdx -;; ja 0x1e -;; 11: movq 0x60(%rdi), %r9 -;; movl %ecx, (%r9, %rdx) +;; cmpq 0x1d(%rip), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x25 +;; 18: movq 0x60(%rdi), %r11 +;; movl %ecx, (%r11, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 1e: ud2 -;; 20: cld +;; 25: ud2 +;; 27: addb %bh, %ah ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; cmpq 0x15(%rip), %rdx -;; ja 0x5e -;; 51: movq 0x60(%rdi), %r9 -;; movl (%r9, %rdx), %eax +;; cmpq 0x1d(%rip), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x65 +;; 58: movq 0x60(%rdi), %r11 +;; movl (%r11, %rdx), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 5e: ud2 -;; 60: cld +;; 65: ud2 +;; 67: addb %bh, %ah diff --git a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat index 1a52ad746b3b..d8107ed01166 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat @@ -21,31 +21,35 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; cmpq 0x1d(%rip), %rdx -;; ja 0x22 -;; 11: movq 0x60(%rdi), %r9 -;; movl %ecx, 0x1000(%r9, %rdx) +;; cmpq 0x25(%rip), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x29 +;; 18: movq 0x60(%rdi), %r11 +;; movl %ecx, 0x1000(%r11, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 22: ud2 -;; 24: addb %al, (%rax) -;; 26: addb %al, (%rax) -;; 28: cld -;; 29: outl %eax, %dx +;; 29: ud2 +;; 2b: addb %al, (%rax) +;; 2d: addb %al, (%rax) +;; 2f: addb %bh, %ah +;; 31: outl %eax, %dx ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; cmpq 0x1d(%rip), %rdx -;; ja 0x62 -;; 51: movq 0x60(%rdi), %r9 -;; movl 0x1000(%r9, %rdx), %eax +;; cmpq 0x25(%rip), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x69 +;; 58: movq 0x60(%rdi), %r11 +;; movl 0x1000(%r11, %rdx), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 62: ud2 -;; 64: addb %al, (%rax) -;; 66: addb %al, (%rax) -;; 68: cld -;; 69: outl %eax, %dx +;; 69: ud2 +;; 6b: addb %al, (%rax) +;; 6d: addb %al, (%rax) +;; 6f: addb %bh, %ah +;; 71: outl %eax, %dx diff --git a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat index 8f70d5375c35..867f3006a871 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -22,24 +22,28 @@ ;; pushq %rbp ;; movq %rsp, %rbp ;; cmpq $0xfffc, %rdx -;; ja 0x24 -;; 11: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %r10d -;; movl %ecx, (%rdx, %r10) +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x29 +;; 18: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %esi +;; movl %ecx, (%rdx, %rsi) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 24: ud2 +;; 29: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp ;; cmpq $0xfffc, %rdx -;; ja 0x64 -;; 51: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %r10d -;; movl (%rdx, %r10), %eax +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x69 +;; 58: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %esi +;; movl (%rdx, %rsi), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 64: ud2 +;; 69: ud2 diff --git a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat index 31b44b07cd75..0bc15f8af62f 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat @@ -21,27 +21,28 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; cmpq 0x15(%rip), %rdx -;; ja 0x1e -;; 11: movq 0x60(%rdi), %r9 -;; movb %cl, (%r9, %rdx) +;; cmpq 0x1d(%rip), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x25 +;; 18: movq 0x60(%rdi), %r11 +;; movb %cl, (%r11, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 1e: ud2 +;; 25: ud2 +;; 27: addb %bh, %bh ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp ;; cmpq 0x1d(%rip), %rdx -;; ja 0x5f -;; 51: movq 0x60(%rdi), %r9 -;; movzbq (%r9, %rdx), %rax +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x66 +;; 58: movq 0x60(%rdi), %r11 +;; movzbq (%r11, %rdx), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 5f: ud2 -;; 61: addb %al, (%rax) -;; 63: addb %al, (%rax) -;; 65: addb %al, (%rax) -;; 67: addb %bh, %bh +;; 66: ud2 diff --git a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat index e9b29d3660f9..23f89028e824 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat @@ -21,28 +21,33 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; cmpq 0x1d(%rip), %rdx -;; ja 0x22 -;; 11: movq 0x60(%rdi), %r9 -;; movb %cl, 0x1000(%r9, %rdx) +;; cmpq 0x25(%rip), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x29 +;; 18: movq 0x60(%rdi), %r11 +;; movb %cl, 0x1000(%r11, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 22: ud2 -;; 24: addb %al, (%rax) -;; 26: addb %al, (%rax) +;; 29: ud2 +;; 2b: addb %al, (%rax) +;; 2d: addb %al, (%rax) +;; 2f: addb %bh, %bh +;; 31: outl %eax, %dx ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; cmpq 0x1d(%rip), %rdx -;; ja 0x63 -;; 51: movq 0x60(%rdi), %r9 -;; movzbq 0x1000(%r9, %rdx), %rax +;; cmpq 0x25(%rip), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x6a +;; 58: movq 0x60(%rdi), %r11 +;; movzbq 0x1000(%r11, %rdx), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 63: ud2 -;; 65: addb %al, (%rax) -;; 67: addb %bh, %bh -;; 69: outl %eax, %dx +;; 6a: ud2 +;; 6c: addb %al, (%rax) +;; 6e: addb %al, (%rax) diff --git a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat index c1840a1b1356..7f00274945ee 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -22,24 +22,28 @@ ;; pushq %rbp ;; movq %rsp, %rbp ;; cmpq $0xffff, %rdx -;; ja 0x24 -;; 11: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %r10d -;; movb %cl, (%rdx, %r10) +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x29 +;; 18: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %esi +;; movb %cl, (%rdx, %rsi) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 24: ud2 +;; 29: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp ;; cmpq $0xffff, %rdx -;; ja 0x65 -;; 51: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %r10d -;; movzbq (%rdx, %r10), %rax +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x6b +;; 58: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %esi +;; movzbq (%rdx, %rsi), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 65: ud2 +;; 6b: ud2 diff --git a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat index e375f5962dd8..138b9ddba9f4 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat @@ -21,25 +21,29 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; cmpq 0x15(%rip), %rdx -;; ja 0x1e -;; 11: movq 0x60(%rdi), %r9 -;; movl %ecx, (%r9, %rdx) +;; cmpq 0x1d(%rip), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x25 +;; 18: movq 0x60(%rdi), %r11 +;; movl %ecx, (%r11, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 1e: ud2 -;; 20: cld +;; 25: ud2 +;; 27: addb %bh, %ah ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; cmpq 0x15(%rip), %rdx -;; ja 0x5e -;; 51: movq 0x60(%rdi), %r9 -;; movl (%r9, %rdx), %eax +;; cmpq 0x1d(%rip), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x65 +;; 58: movq 0x60(%rdi), %r11 +;; movl (%r11, %rdx), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 5e: ud2 -;; 60: cld +;; 65: ud2 +;; 67: addb %bh, %ah diff --git a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat index a35dbc72b039..e73f9bc2ca8f 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat @@ -21,31 +21,35 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; cmpq 0x1d(%rip), %rdx -;; ja 0x22 -;; 11: movq 0x60(%rdi), %r9 -;; movl %ecx, 0x1000(%r9, %rdx) +;; cmpq 0x25(%rip), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x29 +;; 18: movq 0x60(%rdi), %r11 +;; movl %ecx, 0x1000(%r11, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 22: ud2 -;; 24: addb %al, (%rax) -;; 26: addb %al, (%rax) -;; 28: cld -;; 29: outl %eax, %dx +;; 29: ud2 +;; 2b: addb %al, (%rax) +;; 2d: addb %al, (%rax) +;; 2f: addb %bh, %ah +;; 31: outl %eax, %dx ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; cmpq 0x1d(%rip), %rdx -;; ja 0x62 -;; 51: movq 0x60(%rdi), %r9 -;; movl 0x1000(%r9, %rdx), %eax +;; cmpq 0x25(%rip), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x69 +;; 58: movq 0x60(%rdi), %r11 +;; movl 0x1000(%r11, %rdx), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 62: ud2 -;; 64: addb %al, (%rax) -;; 66: addb %al, (%rax) -;; 68: cld -;; 69: outl %eax, %dx +;; 69: ud2 +;; 6b: addb %al, (%rax) +;; 6d: addb %al, (%rax) +;; 6f: addb %bh, %ah +;; 71: outl %eax, %dx diff --git a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat index a08a798c3bc4..d238815bb9c5 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat @@ -22,24 +22,28 @@ ;; pushq %rbp ;; movq %rsp, %rbp ;; cmpq $0xfffc, %rdx -;; ja 0x24 -;; 11: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %r10d -;; movl %ecx, (%rdx, %r10) +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x29 +;; 18: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %esi +;; movl %ecx, (%rdx, %rsi) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 24: ud2 +;; 29: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp ;; cmpq $0xfffc, %rdx -;; ja 0x64 -;; 51: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %r10d -;; movl (%rdx, %r10), %eax +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x69 +;; 58: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %esi +;; movl (%rdx, %rsi), %eax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 64: ud2 +;; 69: ud2 diff --git a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat index a6edea0e59d1..87ebec1675c0 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat @@ -21,27 +21,28 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; cmpq 0x15(%rip), %rdx -;; ja 0x1e -;; 11: movq 0x60(%rdi), %r9 -;; movb %cl, (%r9, %rdx) +;; cmpq 0x1d(%rip), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x25 +;; 18: movq 0x60(%rdi), %r11 +;; movb %cl, (%r11, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 1e: ud2 +;; 25: ud2 +;; 27: addb %bh, %bh ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp ;; cmpq 0x1d(%rip), %rdx -;; ja 0x5f -;; 51: movq 0x60(%rdi), %r9 -;; movzbq (%r9, %rdx), %rax +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x66 +;; 58: movq 0x60(%rdi), %r11 +;; movzbq (%r11, %rdx), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 5f: ud2 -;; 61: addb %al, (%rax) -;; 63: addb %al, (%rax) -;; 65: addb %al, (%rax) -;; 67: addb %bh, %bh +;; 66: ud2 diff --git a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat index ab3509ac1b74..561996105b87 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat @@ -21,28 +21,33 @@ ;; wasm[0]::function[0]: ;; pushq %rbp ;; movq %rsp, %rbp -;; cmpq 0x1d(%rip), %rdx -;; ja 0x22 -;; 11: movq 0x60(%rdi), %r9 -;; movb %cl, 0x1000(%r9, %rdx) +;; cmpq 0x25(%rip), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x29 +;; 18: movq 0x60(%rdi), %r11 +;; movb %cl, 0x1000(%r11, %rdx) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 22: ud2 -;; 24: addb %al, (%rax) -;; 26: addb %al, (%rax) +;; 29: ud2 +;; 2b: addb %al, (%rax) +;; 2d: addb %al, (%rax) +;; 2f: addb %bh, %bh +;; 31: outl %eax, %dx ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp -;; cmpq 0x1d(%rip), %rdx -;; ja 0x63 -;; 51: movq 0x60(%rdi), %r9 -;; movzbq 0x1000(%r9, %rdx), %rax +;; cmpq 0x25(%rip), %rdx +;; seta %r9b +;; testb %r9b, %r9b +;; jne 0x6a +;; 58: movq 0x60(%rdi), %r11 +;; movzbq 0x1000(%r11, %rdx), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 63: ud2 -;; 65: addb %al, (%rax) -;; 67: addb %bh, %bh -;; 69: outl %eax, %dx +;; 6a: ud2 +;; 6c: addb %al, (%rax) +;; 6e: addb %al, (%rax) diff --git a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat index 713c662f50ad..eb2073824e0c 100644 --- a/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat +++ b/tests/disas/load-store/x64/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat @@ -22,24 +22,28 @@ ;; pushq %rbp ;; movq %rsp, %rbp ;; cmpq $0xffff, %rdx -;; ja 0x24 -;; 11: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %r10d -;; movb %cl, (%rdx, %r10) +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x29 +;; 18: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %esi +;; movb %cl, (%rdx, %rsi) ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 24: ud2 +;; 29: ud2 ;; ;; wasm[0]::function[1]: ;; pushq %rbp ;; movq %rsp, %rbp ;; cmpq $0xffff, %rdx -;; ja 0x65 -;; 51: addq 0x60(%rdi), %rdx -;; movl $0xffff0000, %r10d -;; movzbq (%rdx, %r10), %rax +;; seta %r10b +;; testb %r10b, %r10b +;; jne 0x6b +;; 58: addq 0x60(%rdi), %rdx +;; movl $0xffff0000, %esi +;; movzbq (%rdx, %rsi), %rax ;; movq %rbp, %rsp ;; popq %rbp ;; retq -;; 65: ud2 +;; 6b: ud2 diff --git a/tests/disas/readonly-funcrefs.wat b/tests/disas/readonly-funcrefs.wat index c11f8e15eeb5..46a849a61fa2 100644 --- a/tests/disas/readonly-funcrefs.wat +++ b/tests/disas/readonly-funcrefs.wat @@ -67,12 +67,7 @@ ;; @0031 v19 = load.i64 notrap aligned readonly v0+80 ;; @0031 v20 = load.i32 notrap aligned readonly v19 ;; @0031 v22 = icmp eq v21, v20 -;; @0031 brif v22, block5, block4 -;; -;; block4 cold: -;; @0031 trap bad_sig -;; -;; block5: +;; @0031 trapz v22, bad_sig ;; @0031 v23 = load.i64 notrap aligned readonly v13+8 ;; @0031 v24 = load.i64 notrap aligned readonly v13+24 ;; @0031 call_indirect sig0, v23(v24, v0) diff --git a/tests/disas/table-get-fixed-size.wat b/tests/disas/table-get-fixed-size.wat index 4024ed37ca8f..51129bc41089 100644 --- a/tests/disas/table-get-fixed-size.wat +++ b/tests/disas/table-get-fixed-size.wat @@ -64,13 +64,8 @@ ;; @0054 v25 = iconst.i64 8 ;; @0054 v26 = uadd_overflow_trap v24, v25, user65535 ; v25 = 8 ;; @0054 v27 = icmp ult v26, v21 -;; @0054 brif v27, block7, block6 -;; -;; block6 cold: -;; @0054 trap user65535 -;; -;; block7: -;; @0054 v28 = iadd.i64 v20, v24 +;; @0054 trapz v27, user65535 +;; @0054 v28 = iadd v20, v24 ;; @0054 v29 = load.i64 notrap aligned v28 ;; v56 = iconst.i64 1 ;; @0054 v30 = iadd v29, v56 ; v56 = 1 @@ -84,14 +79,9 @@ ;; @0054 v37 = iconst.i64 8 ;; @0054 v38 = uadd_overflow_trap v36, v37, user65535 ; v37 = 8 ;; @0054 v39 = icmp ult v38, v33 -;; @0054 brif v39, block9, block8 -;; -;; block8 cold: -;; @0054 trap user65535 -;; -;; block9: -;; @0054 v40 = iadd.i64 v32, v36 -;; @0054 store.i64 notrap aligned v30, v40 +;; @0054 trapz v39, user65535 +;; @0054 v40 = iadd v32, v36 +;; @0054 store notrap aligned v30, v40 ;; v58 = stack_addr.i64 ss0 ;; v46 = load.i32 notrap v58 ;; @0054 store notrap aligned v46, v16 @@ -163,13 +153,8 @@ ;; @005b v25 = iconst.i64 8 ;; @005b v26 = uadd_overflow_trap v24, v25, user65535 ; v25 = 8 ;; @005b v27 = icmp ult v26, v21 -;; @005b brif v27, block7, block6 -;; -;; block6 cold: -;; @005b trap user65535 -;; -;; block7: -;; @005b v28 = iadd.i64 v20, v24 +;; @005b trapz v27, user65535 +;; @005b v28 = iadd v20, v24 ;; @005b v29 = load.i64 notrap aligned v28 ;; v56 = iconst.i64 1 ;; @005b v30 = iadd v29, v56 ; v56 = 1 @@ -183,14 +168,9 @@ ;; @005b v37 = iconst.i64 8 ;; @005b v38 = uadd_overflow_trap v36, v37, user65535 ; v37 = 8 ;; @005b v39 = icmp ult v38, v33 -;; @005b brif v39, block9, block8 -;; -;; block8 cold: -;; @005b trap user65535 -;; -;; block9: -;; @005b v40 = iadd.i64 v32, v36 -;; @005b store.i64 notrap aligned v30, v40 +;; @005b trapz v39, user65535 +;; @005b v40 = iadd v32, v36 +;; @005b store notrap aligned v30, v40 ;; v58 = stack_addr.i64 ss0 ;; v46 = load.i32 notrap v58 ;; @005b store notrap aligned v46, v16 diff --git a/tests/disas/table-get.wat b/tests/disas/table-get.wat index c12ffdeeb427..573b5da6a88c 100644 --- a/tests/disas/table-get.wat +++ b/tests/disas/table-get.wat @@ -65,13 +65,8 @@ ;; @0053 v26 = iconst.i64 8 ;; @0053 v27 = uadd_overflow_trap v25, v26, user65535 ; v26 = 8 ;; @0053 v28 = icmp ult v27, v22 -;; @0053 brif v28, block7, block6 -;; -;; block6 cold: -;; @0053 trap user65535 -;; -;; block7: -;; @0053 v29 = iadd.i64 v21, v25 +;; @0053 trapz v28, user65535 +;; @0053 v29 = iadd v21, v25 ;; @0053 v30 = load.i64 notrap aligned v29 ;; v58 = iconst.i64 1 ;; @0053 v31 = iadd v30, v58 ; v58 = 1 @@ -85,14 +80,9 @@ ;; @0053 v38 = iconst.i64 8 ;; @0053 v39 = uadd_overflow_trap v37, v38, user65535 ; v38 = 8 ;; @0053 v40 = icmp ult v39, v34 -;; @0053 brif v40, block9, block8 -;; -;; block8 cold: -;; @0053 trap user65535 -;; -;; block9: -;; @0053 v41 = iadd.i64 v33, v37 -;; @0053 store.i64 notrap aligned v31, v41 +;; @0053 trapz v40, user65535 +;; @0053 v41 = iadd v33, v37 +;; @0053 store notrap aligned v31, v41 ;; v60 = stack_addr.i64 ss0 ;; v47 = load.i32 notrap v60 ;; @0053 store notrap aligned v47, v17 @@ -166,13 +156,8 @@ ;; @005a v26 = iconst.i64 8 ;; @005a v27 = uadd_overflow_trap v25, v26, user65535 ; v26 = 8 ;; @005a v28 = icmp ult v27, v22 -;; @005a brif v28, block7, block6 -;; -;; block6 cold: -;; @005a trap user65535 -;; -;; block7: -;; @005a v29 = iadd.i64 v21, v25 +;; @005a trapz v28, user65535 +;; @005a v29 = iadd v21, v25 ;; @005a v30 = load.i64 notrap aligned v29 ;; v58 = iconst.i64 1 ;; @005a v31 = iadd v30, v58 ; v58 = 1 @@ -186,14 +171,9 @@ ;; @005a v38 = iconst.i64 8 ;; @005a v39 = uadd_overflow_trap v37, v38, user65535 ; v38 = 8 ;; @005a v40 = icmp ult v39, v34 -;; @005a brif v40, block9, block8 -;; -;; block8 cold: -;; @005a trap user65535 -;; -;; block9: -;; @005a v41 = iadd.i64 v33, v37 -;; @005a store.i64 notrap aligned v31, v41 +;; @005a trapz v40, user65535 +;; @005a v41 = iadd v33, v37 +;; @005a store notrap aligned v31, v41 ;; v60 = stack_addr.i64 ss0 ;; v47 = load.i32 notrap v60 ;; @005a store notrap aligned v47, v17 diff --git a/tests/disas/table-set-fixed-size.wat b/tests/disas/table-set-fixed-size.wat index 0360fc3276b6..519554c6ba88 100644 --- a/tests/disas/table-set-fixed-size.wat +++ b/tests/disas/table-set-fixed-size.wat @@ -51,13 +51,8 @@ ;; @0056 v20 = iconst.i64 8 ;; @0056 v21 = uadd_overflow_trap v19, v20, user65535 ; v20 = 8 ;; @0056 v22 = icmp ult v21, v16 -;; @0056 brif v22, block9, block8 -;; -;; block8 cold: -;; @0056 trap user65535 -;; -;; block9: -;; @0056 v23 = iadd.i64 v15, v19 +;; @0056 trapz v22, user65535 +;; @0056 v23 = iadd v15, v19 ;; @0056 v24 = load.i64 notrap aligned v23 ;; v64 = iconst.i64 1 ;; @0056 v25 = iadd v24, v64 ; v64 = 1 @@ -69,14 +64,9 @@ ;; @0056 v32 = iconst.i64 8 ;; @0056 v33 = uadd_overflow_trap v31, v32, user65535 ; v32 = 8 ;; @0056 v34 = icmp ult v33, v28 -;; @0056 brif v34, block11, block10 -;; -;; block10 cold: -;; @0056 trap user65535 -;; -;; block11: -;; @0056 v35 = iadd.i64 v27, v31 -;; @0056 store.i64 notrap aligned v25, v35 +;; @0056 trapz v34, user65535 +;; @0056 v35 = iadd v27, v31 +;; @0056 store notrap aligned v25, v35 ;; @0056 jump block3 ;; ;; block3: @@ -94,13 +84,8 @@ ;; @0056 v43 = iconst.i64 8 ;; @0056 v44 = uadd_overflow_trap v42, v43, user65535 ; v43 = 8 ;; @0056 v45 = icmp ult v44, v39 -;; @0056 brif v45, block13, block12 -;; -;; block12 cold: -;; @0056 trap user65535 -;; -;; block13: -;; @0056 v46 = iadd.i64 v38, v42 +;; @0056 trapz v45, user65535 +;; @0056 v46 = iadd v38, v42 ;; @0056 v47 = load.i64 notrap aligned v46 ;; v66 = iconst.i64 -1 ;; @0056 v48 = iadd v47, v66 ; v66 = -1 @@ -121,13 +106,8 @@ ;; @0056 v57 = iconst.i64 8 ;; @0056 v58 = uadd_overflow_trap v56, v57, user65535 ; v57 = 8 ;; @0056 v59 = icmp ult v58, v53 -;; @0056 brif v59, block15, block14 -;; -;; block14 cold: -;; @0056 trap user65535 -;; -;; block15: -;; @0056 v60 = iadd.i64 v52, v56 +;; @0056 trapz v59, user65535 +;; @0056 v60 = iadd v52, v56 ;; @0056 store.i64 notrap aligned v48, v60 ;; @0056 jump block7 ;; @@ -172,13 +152,8 @@ ;; @005f v20 = iconst.i64 8 ;; @005f v21 = uadd_overflow_trap v19, v20, user65535 ; v20 = 8 ;; @005f v22 = icmp ult v21, v16 -;; @005f brif v22, block9, block8 -;; -;; block8 cold: -;; @005f trap user65535 -;; -;; block9: -;; @005f v23 = iadd.i64 v15, v19 +;; @005f trapz v22, user65535 +;; @005f v23 = iadd v15, v19 ;; @005f v24 = load.i64 notrap aligned v23 ;; v64 = iconst.i64 1 ;; @005f v25 = iadd v24, v64 ; v64 = 1 @@ -190,14 +165,9 @@ ;; @005f v32 = iconst.i64 8 ;; @005f v33 = uadd_overflow_trap v31, v32, user65535 ; v32 = 8 ;; @005f v34 = icmp ult v33, v28 -;; @005f brif v34, block11, block10 -;; -;; block10 cold: -;; @005f trap user65535 -;; -;; block11: -;; @005f v35 = iadd.i64 v27, v31 -;; @005f store.i64 notrap aligned v25, v35 +;; @005f trapz v34, user65535 +;; @005f v35 = iadd v27, v31 +;; @005f store notrap aligned v25, v35 ;; @005f jump block3 ;; ;; block3: @@ -215,13 +185,8 @@ ;; @005f v43 = iconst.i64 8 ;; @005f v44 = uadd_overflow_trap v42, v43, user65535 ; v43 = 8 ;; @005f v45 = icmp ult v44, v39 -;; @005f brif v45, block13, block12 -;; -;; block12 cold: -;; @005f trap user65535 -;; -;; block13: -;; @005f v46 = iadd.i64 v38, v42 +;; @005f trapz v45, user65535 +;; @005f v46 = iadd v38, v42 ;; @005f v47 = load.i64 notrap aligned v46 ;; v66 = iconst.i64 -1 ;; @005f v48 = iadd v47, v66 ; v66 = -1 @@ -242,13 +207,8 @@ ;; @005f v57 = iconst.i64 8 ;; @005f v58 = uadd_overflow_trap v56, v57, user65535 ; v57 = 8 ;; @005f v59 = icmp ult v58, v53 -;; @005f brif v59, block15, block14 -;; -;; block14 cold: -;; @005f trap user65535 -;; -;; block15: -;; @005f v60 = iadd.i64 v52, v56 +;; @005f trapz v59, user65535 +;; @005f v60 = iadd v52, v56 ;; @005f store.i64 notrap aligned v48, v60 ;; @005f jump block7 ;; diff --git a/tests/disas/table-set.wat b/tests/disas/table-set.wat index 1aeb42ff1da7..c3ec6502fe8d 100644 --- a/tests/disas/table-set.wat +++ b/tests/disas/table-set.wat @@ -53,13 +53,8 @@ ;; @0055 v21 = iconst.i64 8 ;; @0055 v22 = uadd_overflow_trap v20, v21, user65535 ; v21 = 8 ;; @0055 v23 = icmp ult v22, v17 -;; @0055 brif v23, block9, block8 -;; -;; block8 cold: -;; @0055 trap user65535 -;; -;; block9: -;; @0055 v24 = iadd.i64 v16, v20 +;; @0055 trapz v23, user65535 +;; @0055 v24 = iadd v16, v20 ;; @0055 v25 = load.i64 notrap aligned v24 ;; v66 = iconst.i64 1 ;; @0055 v26 = iadd v25, v66 ; v66 = 1 @@ -71,14 +66,9 @@ ;; @0055 v33 = iconst.i64 8 ;; @0055 v34 = uadd_overflow_trap v32, v33, user65535 ; v33 = 8 ;; @0055 v35 = icmp ult v34, v29 -;; @0055 brif v35, block11, block10 -;; -;; block10 cold: -;; @0055 trap user65535 -;; -;; block11: -;; @0055 v36 = iadd.i64 v28, v32 -;; @0055 store.i64 notrap aligned v26, v36 +;; @0055 trapz v35, user65535 +;; @0055 v36 = iadd v28, v32 +;; @0055 store notrap aligned v26, v36 ;; @0055 jump block3 ;; ;; block3: @@ -96,13 +86,8 @@ ;; @0055 v44 = iconst.i64 8 ;; @0055 v45 = uadd_overflow_trap v43, v44, user65535 ; v44 = 8 ;; @0055 v46 = icmp ult v45, v40 -;; @0055 brif v46, block13, block12 -;; -;; block12 cold: -;; @0055 trap user65535 -;; -;; block13: -;; @0055 v47 = iadd.i64 v39, v43 +;; @0055 trapz v46, user65535 +;; @0055 v47 = iadd v39, v43 ;; @0055 v48 = load.i64 notrap aligned v47 ;; v68 = iconst.i64 -1 ;; @0055 v49 = iadd v48, v68 ; v68 = -1 @@ -123,13 +108,8 @@ ;; @0055 v58 = iconst.i64 8 ;; @0055 v59 = uadd_overflow_trap v57, v58, user65535 ; v58 = 8 ;; @0055 v60 = icmp ult v59, v54 -;; @0055 brif v60, block15, block14 -;; -;; block14 cold: -;; @0055 trap user65535 -;; -;; block15: -;; @0055 v61 = iadd.i64 v53, v57 +;; @0055 trapz v60, user65535 +;; @0055 v61 = iadd v53, v57 ;; @0055 store.i64 notrap aligned v49, v61 ;; @0055 jump block7 ;; @@ -176,13 +156,8 @@ ;; @005e v21 = iconst.i64 8 ;; @005e v22 = uadd_overflow_trap v20, v21, user65535 ; v21 = 8 ;; @005e v23 = icmp ult v22, v17 -;; @005e brif v23, block9, block8 -;; -;; block8 cold: -;; @005e trap user65535 -;; -;; block9: -;; @005e v24 = iadd.i64 v16, v20 +;; @005e trapz v23, user65535 +;; @005e v24 = iadd v16, v20 ;; @005e v25 = load.i64 notrap aligned v24 ;; v66 = iconst.i64 1 ;; @005e v26 = iadd v25, v66 ; v66 = 1 @@ -194,14 +169,9 @@ ;; @005e v33 = iconst.i64 8 ;; @005e v34 = uadd_overflow_trap v32, v33, user65535 ; v33 = 8 ;; @005e v35 = icmp ult v34, v29 -;; @005e brif v35, block11, block10 -;; -;; block10 cold: -;; @005e trap user65535 -;; -;; block11: -;; @005e v36 = iadd.i64 v28, v32 -;; @005e store.i64 notrap aligned v26, v36 +;; @005e trapz v35, user65535 +;; @005e v36 = iadd v28, v32 +;; @005e store notrap aligned v26, v36 ;; @005e jump block3 ;; ;; block3: @@ -219,13 +189,8 @@ ;; @005e v44 = iconst.i64 8 ;; @005e v45 = uadd_overflow_trap v43, v44, user65535 ; v44 = 8 ;; @005e v46 = icmp ult v45, v40 -;; @005e brif v46, block13, block12 -;; -;; block12 cold: -;; @005e trap user65535 -;; -;; block13: -;; @005e v47 = iadd.i64 v39, v43 +;; @005e trapz v46, user65535 +;; @005e v47 = iadd v39, v43 ;; @005e v48 = load.i64 notrap aligned v47 ;; v68 = iconst.i64 -1 ;; @005e v49 = iadd v48, v68 ; v68 = -1 @@ -246,13 +211,8 @@ ;; @005e v58 = iconst.i64 8 ;; @005e v59 = uadd_overflow_trap v57, v58, user65535 ; v58 = 8 ;; @005e v60 = icmp ult v59, v54 -;; @005e brif v60, block15, block14 -;; -;; block14 cold: -;; @005e trap user65535 -;; -;; block15: -;; @005e v61 = iadd.i64 v53, v57 +;; @005e trapz v60, user65535 +;; @005e v61 = iadd v53, v57 ;; @005e store.i64 notrap aligned v49, v61 ;; @005e jump block7 ;; diff --git a/tests/disas/winch/x64/call_indirect/call_indirect.wat b/tests/disas/winch/x64/call_indirect/call_indirect.wat index b5e7b9919d6a..39c084519c1d 100644 --- a/tests/disas/winch/x64/call_indirect/call_indirect.wat +++ b/tests/disas/winch/x64/call_indirect/call_indirect.wat @@ -76,7 +76,7 @@ ;; movq %r14, %rdi ;; movl $0, %esi ;; movl 8(%rsp), %edx -;; callq 0x2f3 +;; callq 0x304 ;; addq $8, %rsp ;; addq $4, %rsp ;; movq 0x1c(%rsp), %r14 @@ -128,7 +128,7 @@ ;; movq %r14, %rdi ;; movl $0, %esi ;; movl 4(%rsp), %edx -;; callq 0x2f3 +;; callq 0x304 ;; addq $4, %rsp ;; addq $4, %rsp ;; movq 0x20(%rsp), %r14 diff --git a/tests/disas/winch/x64/call_indirect/local_arg.wat b/tests/disas/winch/x64/call_indirect/local_arg.wat index 80e9c6b6ffc6..7140f0a161e4 100644 --- a/tests/disas/winch/x64/call_indirect/local_arg.wat +++ b/tests/disas/winch/x64/call_indirect/local_arg.wat @@ -72,7 +72,7 @@ ;; movq %r14, %rdi ;; movl $0, %esi ;; movl 8(%rsp), %edx -;; callq 0x30f +;; callq 0x32e ;; addq $8, %rsp ;; addq $4, %rsp ;; movq 0x1c(%rsp), %r14 diff --git a/tests/disas/winch/x64/load/grow_load.wat b/tests/disas/winch/x64/load/grow_load.wat index a67105050265..3825c30d9394 100644 --- a/tests/disas/winch/x64/load/grow_load.wat +++ b/tests/disas/winch/x64/load/grow_load.wat @@ -65,7 +65,7 @@ ;; movq %r14, %rdi ;; movl 0xc(%rsp), %esi ;; movl $0, %edx -;; callq 0x2c0 +;; callq 0x2df ;; addq $0xc, %rsp ;; addq $4, %rsp ;; movq 0x58(%rsp), %r14 diff --git a/tests/disas/winch/x64/table/fill.wat b/tests/disas/winch/x64/table/fill.wat index 43c45444ef6f..1b923e94dfa5 100644 --- a/tests/disas/winch/x64/table/fill.wat +++ b/tests/disas/winch/x64/table/fill.wat @@ -113,7 +113,7 @@ ;; movq %r14, %rdi ;; movl $0, %esi ;; movl 0xc(%rsp), %edx -;; callq 0x4c3 +;; callq 0x4f4 ;; addq $0xc, %rsp ;; addq $4, %rsp ;; movq 0x28(%rsp), %r14 @@ -133,7 +133,7 @@ ;; movl 0xc(%rsp), %edx ;; movq 4(%rsp), %rcx ;; movl (%rsp), %r8d -;; callq 0x503 +;; callq 0x53b ;; addq $0x10, %rsp ;; movq 0x28(%rsp), %r14 ;; addq $0x30, %rsp diff --git a/tests/disas/winch/x64/table/get.wat b/tests/disas/winch/x64/table/get.wat index 4facb29c3c50..050bbc70b709 100644 --- a/tests/disas/winch/x64/table/get.wat +++ b/tests/disas/winch/x64/table/get.wat @@ -65,7 +65,7 @@ ;; movq %r14, %rdi ;; movl $0, %esi ;; movl 0xc(%rsp), %edx -;; callq 0x2dc +;; callq 0x2fb ;; addq $0xc, %rsp ;; addq $4, %rsp ;; movq 0x18(%rsp), %r14 diff --git a/tests/disas/winch/x64/table/grow.wat b/tests/disas/winch/x64/table/grow.wat index c91fc1ce3daf..bbc15b98ae42 100644 --- a/tests/disas/winch/x64/table/grow.wat +++ b/tests/disas/winch/x64/table/grow.wat @@ -30,7 +30,7 @@ ;; movl $0, %esi ;; movl $0xa, %edx ;; movq 8(%rsp), %rcx -;; callq 0x170 +;; callq 0x180 ;; addq $8, %rsp ;; addq $8, %rsp ;; movq 0x18(%rsp), %r14 diff --git a/tests/disas/winch/x64/table/init_copy_drop.wat b/tests/disas/winch/x64/table/init_copy_drop.wat index 0bffbff0a972..96b64aa46abc 100644 --- a/tests/disas/winch/x64/table/init_copy_drop.wat +++ b/tests/disas/winch/x64/table/init_copy_drop.wat @@ -142,11 +142,11 @@ ;; movl $7, %ecx ;; movl $0, %r8d ;; movl $4, %r9d -;; callq 0x8cf +;; callq 0x937 ;; movq 8(%rsp), %r14 ;; movq %r14, %rdi ;; movl $1, %esi -;; callq 0x912 +;; callq 0x980 ;; movq 8(%rsp), %r14 ;; movq %r14, %rdi ;; movl $0, %esi @@ -154,11 +154,11 @@ ;; movl $0xf, %ecx ;; movl $1, %r8d ;; movl $3, %r9d -;; callq 0x8cf +;; callq 0x937 ;; movq 8(%rsp), %r14 ;; movq %r14, %rdi ;; movl $3, %esi -;; callq 0x912 +;; callq 0x980 ;; movq 8(%rsp), %r14 ;; movq %r14, %rdi ;; movl $0, %esi @@ -166,7 +166,7 @@ ;; movl $0x14, %ecx ;; movl $0xf, %r8d ;; movl $5, %r9d -;; callq 0x951 +;; callq 0x9c5 ;; movq 8(%rsp), %r14 ;; movq %r14, %rdi ;; movl $0, %esi @@ -174,7 +174,7 @@ ;; movl $0x15, %ecx ;; movl $0x1d, %r8d ;; movl $1, %r9d -;; callq 0x951 +;; callq 0x9c5 ;; movq 8(%rsp), %r14 ;; movq %r14, %rdi ;; movl $0, %esi @@ -182,7 +182,7 @@ ;; movl $0x18, %ecx ;; movl $0xa, %r8d ;; movl $1, %r9d -;; callq 0x951 +;; callq 0x9c5 ;; movq 8(%rsp), %r14 ;; movq %r14, %rdi ;; movl $0, %esi @@ -190,7 +190,7 @@ ;; movl $0xd, %ecx ;; movl $0xb, %r8d ;; movl $4, %r9d -;; callq 0x951 +;; callq 0x9c5 ;; movq 8(%rsp), %r14 ;; movq %r14, %rdi ;; movl $0, %esi @@ -198,7 +198,7 @@ ;; movl $0x13, %ecx ;; movl $0x14, %r8d ;; movl $5, %r9d -;; callq 0x951 +;; callq 0x9c5 ;; movq 8(%rsp), %r14 ;; addq $0x10, %rsp ;; popq %rbp @@ -243,7 +243,7 @@ ;; movq %r14, %rdi ;; movl $0, %esi ;; movl 0xc(%rsp), %edx -;; callq 0x994 +;; callq 0xa0e ;; addq $0xc, %rsp ;; addq $4, %rsp ;; movq 0x18(%rsp), %r14 diff --git a/tests/disas/winch/x64/table/set.wat b/tests/disas/winch/x64/table/set.wat index 3f0567fd777c..735bf17ced66 100644 --- a/tests/disas/winch/x64/table/set.wat +++ b/tests/disas/winch/x64/table/set.wat @@ -109,7 +109,7 @@ ;; movq %r14, %rdi ;; movl $0, %esi ;; movl 8(%rsp), %edx -;; callq 0x49a +;; callq 0x4c0 ;; addq $8, %rsp ;; addq $4, %rsp ;; movq 0x1c(%rsp), %r14