Skip to content

Commit d933dd1

Browse files
committed
Update CLIF filetests and Wasmtime disas tests
1 parent 53dc9c8 commit d933dd1

File tree

69 files changed

+659
-689
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+659
-689
lines changed

cranelift/filetests/filetests/isa/x64/branches.clif

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -638,15 +638,12 @@ block202:
638638
; ucomiss const(1), %xmm0
639639
; jp,nz label2; j label1
640640
; block1:
641-
; jmp label5
641+
; jmp label3
642642
; block2:
643643
; ucomiss const(0), %xmm0
644-
; jnp label4; j label3
644+
; jnp #trap=heap_oob
645+
; jmp label3
645646
; block3:
646-
; jmp label5
647-
; block4:
648-
; ud2 heap_oob
649-
; block5:
650647
; movq %rbp, %rsp
651648
; popq %rbp
652649
; ret
@@ -658,16 +655,15 @@ block202:
658655
; block1: ; offset 0x4
659656
; ucomiss 0x25(%rip), %xmm0
660657
; jp 0x17
661-
; je 0x26
658+
; je 0x24
662659
; block2: ; offset 0x17
663660
; ucomiss 0x22(%rip), %xmm0
664-
; jp 0x26
661+
; jnp 0x29
665662
; block3: ; offset 0x24
666-
; ud2 ; trap: heap_oob
667-
; block4: ; offset 0x26
668663
; movq %rbp, %rsp
669664
; popq %rbp
670665
; retq
666+
; ud2 ; trap: heap_oob
671667
; addb %al, (%rax)
672668
; addb %al, (%rax)
673669
; addb %al, (%rax)

tests/disas/arith.wat

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,8 @@
2525
;; @0021 v3 = iconst.i32 4
2626
;; @0023 v4 = iconst.i32 4
2727
;; @0025 v5 = isub v3, v4 ; v3 = 4, v4 = 4
28-
;; @002a brif v5, block2, block4
29-
;;
30-
;; block2:
31-
;; @002c trap user11
28+
;; trapnz v5, user11
29+
;; @002a jump block4
3230
;;
3331
;; block4:
3432
;; @002e v6 = iconst.i32 6

tests/disas/component-model/enum.wat

Lines changed: 22 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -50,34 +50,31 @@
5050
;; @0061 v3 = iconst.i32 0
5151
;; @0068 v8 = icmp eq v7, v3 ; v3 = 0
5252
;; @0068 v9 = uextend.i32 v8
53-
;; @0069 brif v9, block2, block3
54-
;;
55-
;; block2:
56-
;; @006b trap user11
53+
;; trapnz v9, user11
54+
;; @0069 jump block3
5755
;;
5856
;; block3:
5957
;; @006d v10 = load.i64 notrap aligned readonly can_move v0+80
6058
;; @006d v11 = load.i32 notrap aligned table v10
6159
;; @006f v12 = iconst.i32 2
6260
;; @0071 v13 = band v11, v12 ; v12 = 2
63-
;; v82 = iconst.i32 0
64-
;; v83 = icmp eq v13, v82 ; v82 = 0
65-
;; @0072 v15 = uextend.i32 v83
66-
;; @0073 brif v15, block4, block5
67-
;;
68-
;; block4:
69-
;; @0075 trap user11
61+
;; v80 = iconst.i32 0
62+
;; v81 = icmp eq v13, v80 ; v80 = 0
63+
;; @0072 v15 = uextend.i32 v81
64+
;; trapnz v15, user11
65+
;; @0073 jump block5
7066
;;
7167
;; block5:
68+
;; @0077 v17 = load.i32 notrap aligned table v10
7269
;; @0079 v18 = iconst.i32 -3
73-
;; @007b v19 = band.i32 v11, v18 ; v18 = -3
70+
;; @007b v19 = band v17, v18 ; v18 = -3
7471
;; @007c store notrap aligned table v19, v10
7572
;; v70 = iconst.i32 -4
76-
;; v76 = band.i32 v11, v70 ; v70 = -4
73+
;; v76 = band v17, v70 ; v70 = -4
7774
;; @0083 store notrap aligned table v76, v10
78-
;; v84 = iconst.i32 1
79-
;; v85 = bor v19, v84 ; v84 = 1
80-
;; @008a store notrap aligned table v85, v10
75+
;; v82 = iconst.i32 1
76+
;; v83 = bor v19, v82 ; v82 = 1
77+
;; @008a store notrap aligned table v83, v10
8178
;; @008c v32 = load.i64 notrap aligned readonly can_move v0+56
8279
;; @008c v33 = load.i64 notrap aligned readonly can_move v0+72
8380
;; @008c v34 = call_indirect sig0, v32(v33, v0)
@@ -88,19 +85,18 @@
8885
;; @009b v40 = iconst.i32 3
8986
;; @009d v41 = icmp ugt v34, v40 ; v40 = 3
9087
;; @009d v42 = uextend.i32 v41
91-
;; @009e brif v42, block6, block7
92-
;;
93-
;; block6:
94-
;; @00a0 trap user11
88+
;; trapnz v42, user11
89+
;; @009e jump block7
9590
;;
9691
;; block7:
97-
;; v86 = iconst.i32 1
98-
;; v87 = bor.i32 v36, v86 ; v86 = 1
99-
;; @00a9 store notrap aligned table v87, v4
92+
;; @00a4 v44 = load.i32 notrap aligned table v4
93+
;; v84 = iconst.i32 1
94+
;; v85 = bor v44, v84 ; v84 = 1
95+
;; @00a9 store notrap aligned table v85, v4
10096
;; @00ab v49 = load.i32 notrap aligned table v10
101-
;; v88 = iconst.i32 2
102-
;; v89 = bor v49, v88 ; v88 = 2
103-
;; @00b0 store notrap aligned table v89, v10
97+
;; v86 = iconst.i32 2
98+
;; v87 = bor v49, v86 ; v86 = 2
99+
;; @00b0 store notrap aligned table v87, v10
104100
;; @00b2 jump block1
105101
;;
106102
;; block1:

tests/disas/conditional-traps.wat

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,8 @@
2828
;; stack_limit = gv2
2929
;;
3030
;; block0(v0: i64, v1: i64, v2: i32):
31-
;; @002f brif v2, block2, block3
32-
;;
33-
;; block2:
34-
;; @0031 trap user11
31+
;; trapnz v2, user11
32+
;; @002f jump block3
3533
;;
3634
;; block3:
3735
;; @0033 jump block1
@@ -50,10 +48,8 @@
5048
;; v5 = iconst.i32 0
5149
;; @0038 v3 = icmp eq v2, v5 ; v5 = 0
5250
;; @0038 v4 = uextend.i32 v3
53-
;; @0039 brif v4, block2, block3
54-
;;
55-
;; block2:
56-
;; @003b trap user11
51+
;; trapnz v4, user11
52+
;; @0039 jump block3
5753
;;
5854
;; block3:
5955
;; @003d jump block1

tests/disas/gc/drc/array-fill.wat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
;;
2222
;; block0(v0: i64, v1: i64, v2: i32, v3: i32, v4: i64, v5: i32):
2323
;; @0027 trapz v2, user16
24-
;; @0027 v38 = load.i64 notrap aligned readonly can_move v0+8
25-
;; @0027 v7 = load.i64 notrap aligned readonly can_move v38+24
24+
;; @0027 v41 = load.i64 notrap aligned readonly can_move v0+8
25+
;; @0027 v7 = load.i64 notrap aligned readonly can_move v41+24
2626
;; @0027 v6 = uextend.i64 v2
2727
;; @0027 v8 = iadd v7, v6
2828
;; @0027 v9 = iconst.i64 16

tests/disas/gc/drc/array-get-s.wat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
;;
2222
;; block0(v0: i64, v1: i64, v2: i32, v3: i32):
2323
;; @0022 trapz v2, user16
24-
;; @0022 v31 = load.i64 notrap aligned readonly can_move v0+8
25-
;; @0022 v6 = load.i64 notrap aligned readonly can_move v31+24
24+
;; @0022 v34 = load.i64 notrap aligned readonly can_move v0+8
25+
;; @0022 v6 = load.i64 notrap aligned readonly can_move v34+24
2626
;; @0022 v5 = uextend.i64 v2
2727
;; @0022 v7 = iadd v6, v5
2828
;; @0022 v8 = iconst.i64 16

tests/disas/gc/drc/array-get-u.wat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
;;
2222
;; block0(v0: i64, v1: i64, v2: i32, v3: i32):
2323
;; @0022 trapz v2, user16
24-
;; @0022 v31 = load.i64 notrap aligned readonly can_move v0+8
25-
;; @0022 v6 = load.i64 notrap aligned readonly can_move v31+24
24+
;; @0022 v34 = load.i64 notrap aligned readonly can_move v0+8
25+
;; @0022 v6 = load.i64 notrap aligned readonly can_move v34+24
2626
;; @0022 v5 = uextend.i64 v2
2727
;; @0022 v7 = iadd v6, v5
2828
;; @0022 v8 = iconst.i64 16

tests/disas/gc/drc/array-get.wat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
;;
2222
;; block0(v0: i64, v1: i64, v2: i32, v3: i32):
2323
;; @0022 trapz v2, user16
24-
;; @0022 v30 = load.i64 notrap aligned readonly can_move v0+8
25-
;; @0022 v6 = load.i64 notrap aligned readonly can_move v30+24
24+
;; @0022 v33 = load.i64 notrap aligned readonly can_move v0+8
25+
;; @0022 v6 = load.i64 notrap aligned readonly can_move v33+24
2626
;; @0022 v5 = uextend.i64 v2
2727
;; @0022 v7 = iadd v6, v5
2828
;; @0022 v8 = iconst.i64 16

tests/disas/gc/drc/array-new-fixed-of-gc-refs.wat

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,28 +25,28 @@
2525
;; stack_limit = gv2
2626
;;
2727
;; block0(v0: i64, v1: i64, v2: i32, v3: i32, v4: i32):
28-
;; v92 = stack_addr.i64 ss2
29-
;; store notrap v2, v92
30-
;; v93 = stack_addr.i64 ss1
31-
;; store notrap v3, v93
32-
;; v94 = stack_addr.i64 ss0
33-
;; store notrap v4, v94
28+
;; v135 = stack_addr.i64 ss2
29+
;; store notrap v2, v135
30+
;; v134 = stack_addr.i64 ss1
31+
;; store notrap v3, v134
32+
;; v133 = stack_addr.i64 ss0
33+
;; store notrap v4, v133
3434
;; @0025 v14 = iconst.i32 -1476395008
3535
;; @0025 v15 = iconst.i32 0
3636
;; v148 = iconst.i32 32
3737
;; @0025 v16 = iconst.i32 8
3838
;; @0025 v17 = call fn0(v0, v14, v15, v148, v16), stack_map=[i32 @ ss2+0, i32 @ ss1+0, i32 @ ss0+0] ; v14 = -1476395008, v15 = 0, v148 = 32, v16 = 8
3939
;; @0025 v6 = iconst.i32 3
40-
;; @0025 v97 = load.i64 notrap aligned readonly can_move v0+8
41-
;; @0025 v18 = load.i64 notrap aligned readonly can_move v97+24
40+
;; @0025 v129 = load.i64 notrap aligned readonly can_move v0+8
41+
;; @0025 v18 = load.i64 notrap aligned readonly can_move v129+24
4242
;; @0025 v19 = uextend.i64 v17
4343
;; @0025 v20 = iadd v18, v19
44-
;; v99 = iconst.i64 16
45-
;; @0025 v21 = iadd v20, v99 ; v99 = 16
44+
;; v128 = iconst.i64 16
45+
;; @0025 v21 = iadd v20, v128 ; v128 = 16
4646
;; @0025 store notrap aligned v6, v21 ; v6 = 3
47-
;; v91 = load.i32 notrap v92
48-
;; v101 = iconst.i32 1
49-
;; @0025 v26 = band v91, v101 ; v101 = 1
47+
;; v91 = load.i32 notrap v135
48+
;; v126 = iconst.i32 1
49+
;; @0025 v26 = band v91, v126 ; v126 = 1
5050
;; @0025 v27 = icmp eq v91, v15 ; v15 = 0
5151
;; @0025 v28 = uextend.i32 v27
5252
;; @0025 v29 = bor v26, v28
@@ -58,17 +58,17 @@
5858
;; @0025 v67 = iconst.i64 8
5959
;; @0025 v34 = iadd v32, v67 ; v67 = 8
6060
;; @0025 v35 = load.i64 notrap aligned v34
61-
;; v131 = iconst.i64 1
62-
;; @0025 v36 = iadd v35, v131 ; v131 = 1
61+
;; v96 = iconst.i64 1
62+
;; @0025 v36 = iadd v35, v96 ; v96 = 1
6363
;; @0025 store notrap aligned v36, v34
6464
;; @0025 jump block3
6565
;;
6666
;; block3:
67-
;; v87 = load.i32 notrap v92
67+
;; v87 = load.i32 notrap v135
6868
;; v150 = iconst.i64 20
6969
;; v156 = iadd.i64 v20, v150 ; v150 = 20
7070
;; @0025 store notrap aligned little v87, v156
71-
;; v86 = load.i32 notrap v93
71+
;; v86 = load.i32 notrap v134
7272
;; v180 = iconst.i32 1
7373
;; v181 = band v86, v180 ; v180 = 1
7474
;; v182 = iconst.i32 0
@@ -89,11 +89,11 @@
8989
;; @0025 jump block5
9090
;;
9191
;; block5:
92-
;; v82 = load.i32 notrap v93
92+
;; v82 = load.i32 notrap v134
9393
;; v158 = iconst.i64 24
9494
;; v164 = iadd.i64 v20, v158 ; v158 = 24
9595
;; @0025 store notrap aligned little v82, v164
96-
;; v81 = load.i32 notrap v94
96+
;; v81 = load.i32 notrap v133
9797
;; v186 = iconst.i32 1
9898
;; v187 = band v81, v186 ; v186 = 1
9999
;; v188 = iconst.i32 0
@@ -114,7 +114,7 @@
114114
;; @0025 jump block7
115115
;;
116116
;; block7:
117-
;; v77 = load.i32 notrap v94
117+
;; v77 = load.i32 notrap v133
118118
;; v166 = iconst.i64 28
119119
;; v172 = iadd.i64 v20, v166 ; v166 = 28
120120
;; @0025 store notrap aligned little v77, v172

tests/disas/gc/drc/array-new-fixed.wat

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,18 @@
2727
;; @0025 v16 = iconst.i32 8
2828
;; @0025 v17 = call fn0(v0, v14, v15, v44, v16) ; v14 = -1476395008, v15 = 0, v44 = 48, v16 = 8
2929
;; @0025 v6 = iconst.i32 3
30-
;; @0025 v31 = load.i64 notrap aligned readonly can_move v0+8
31-
;; @0025 v18 = load.i64 notrap aligned readonly can_move v31+24
30+
;; @0025 v30 = load.i64 notrap aligned readonly can_move v0+8
31+
;; @0025 v18 = load.i64 notrap aligned readonly can_move v30+24
3232
;; @0025 v19 = uextend.i64 v17
3333
;; @0025 v20 = iadd v18, v19
34-
;; v33 = iconst.i64 16
35-
;; @0025 v21 = iadd v20, v33 ; v33 = 16
34+
;; v29 = iconst.i64 16
35+
;; @0025 v21 = iadd v20, v29 ; v29 = 16
3636
;; @0025 store notrap aligned v6, v21 ; v6 = 3
3737
;; v35 = iconst.i64 24
3838
;; v51 = iadd v20, v35 ; v35 = 24
3939
;; @0025 store notrap aligned little v2, v51
40-
;; v30 = iconst.i64 32
41-
;; v58 = iadd v20, v30 ; v30 = 32
40+
;; v32 = iconst.i64 32
41+
;; v58 = iadd v20, v32 ; v32 = 32
4242
;; @0025 store notrap aligned little v3, v58
4343
;; v60 = iconst.i64 40
4444
;; v66 = iadd v20, v60 ; v60 = 40

0 commit comments

Comments
 (0)