Skip to content

Commit f5768fe

Browse files
committed
test(hexfloat): add subnormals to f??.const dump output
1 parent 4bee2a7 commit f5768fe

File tree

2 files changed

+257
-45
lines changed

2 files changed

+257
-45
lines changed

test/dump/hexfloat_f32.txt

+97-39
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,22 @@
3636
drop
3737
f32.const -0x1.ff01p1
3838
drop
39+
f32.const +0x0.00000100000000001p-126
40+
drop
41+
f32.const -0x0.00000100000000001p-126
42+
drop
43+
f32.const +0x0.000001fffffffffffp-126
44+
drop
45+
f32.const -0x0.000001fffffffffffp-126
46+
drop
47+
f32.const +0x0.00000500000000000p-126
48+
drop
49+
f32.const -0x0.00000500000000000p-126
50+
drop
51+
f32.const +0x0.00000500000000001p-126
52+
drop
53+
f32.const -0x0.00000500000000001p-126
54+
drop
3955
)
4056
)
4157
(;; STDERR ;;;
@@ -114,50 +130,92 @@
114130
0000077: 43 ; f32.const
115131
0000078: 8080 7fc0 ; f32 literal
116132
000007c: 1a ; drop
117-
000007d: 0b ; end
118-
0000015: 68 ; FIXUP func body size
119-
0000013: 6a ; FIXUP section size
133+
000007d: 43 ; f32.const
134+
000007e: 0100 0000 ; f32 literal
135+
0000082: 1a ; drop
136+
0000083: 43 ; f32.const
137+
0000084: 0100 0080 ; f32 literal
138+
0000088: 1a ; drop
139+
0000089: 43 ; f32.const
140+
000008a: 0100 0000 ; f32 literal
141+
000008e: 1a ; drop
142+
000008f: 43 ; f32.const
143+
0000090: 0100 0080 ; f32 literal
144+
0000094: 1a ; drop
145+
0000095: 43 ; f32.const
146+
0000096: 0200 0000 ; f32 literal
147+
000009a: 1a ; drop
148+
000009b: 43 ; f32.const
149+
000009c: 0200 0080 ; f32 literal
150+
00000a0: 1a ; drop
151+
00000a1: 43 ; f32.const
152+
00000a2: 0300 0000 ; f32 literal
153+
00000a6: 1a ; drop
154+
00000a7: 43 ; f32.const
155+
00000a8: 0300 0080 ; f32 literal
156+
00000ac: 1a ; drop
157+
00000ad: 0b ; end
158+
; move data: [16, ae) -> [17, af)
159+
0000015: 9801 ; FIXUP func body size
160+
; move data: [14, af) -> [15, b0)
161+
0000013: 9b01 ; FIXUP section size
120162
;;; STDERR ;;)
121163
(;; STDOUT ;;;
122164

123165
hexfloat_f32.wasm: file format wasm 0x1
124166

125167
Code Disassembly:
126168

127-
000016 func[0]:
128-
000017: 43 00 00 00 00 | f32.const 0x0p+0
129-
00001c: 1a | drop
130-
00001d: 43 80 a2 91 48 | f32.const 0x1.2345p+18
131-
000022: 1a | drop
132-
000023: 43 00 00 80 59 | f32.const 0x1p+52
133-
000028: 1a | drop
134-
000029: 43 00 00 00 7f | f32.const 0x1p+127
135-
00002e: 1a | drop
136-
00002f: 43 00 00 80 7c | f32.const 0x1p+122
137-
000034: 1a | drop
138-
000035: 43 00 80 91 7d | f32.const 0x1.23p+124
139-
00003a: 1a | drop
140-
00003b: 43 f0 ff ff 7e | f32.const 0x1.ffffep+126
141-
000040: 1a | drop
142-
000041: 43 fe ff 7f 7e | f32.const 0x1.fffffcp+125
143-
000046: 1a | drop
144-
000047: 43 00 00 00 7f | f32.const 0x1p+127
145-
00004c: 1a | drop
146-
00004d: 43 c4 ff 7f 7f | f32.const 0x1.ffff88p+127
147-
000052: 1a | drop
148-
000053: 43 f8 ff 7f 7f | f32.const 0x1.fffffp+127
149-
000058: 1a | drop
150-
000059: 43 fa ff ff 0a | f32.const 0x1.fffff4p-106
151-
00005e: 1a | drop
152-
00005f: 43 f8 ff ff 0a | f32.const 0x1.fffffp-106
153-
000064: 1a | drop
154-
000065: 43 00 00 00 04 | f32.const 0x1p-119
155-
00006a: 1a | drop
156-
00006b: 43 00 00 88 3f | f32.const 0x1.1p+0
157-
000070: 1a | drop
158-
000071: 43 00 00 80 53 | f32.const 0x1p+40
159-
000076: 1a | drop
160-
000077: 43 80 80 7f c0 | f32.const -0x1.ff01p+1
161-
00007c: 1a | drop
162-
00007d: 0b | end
169+
000018 func[0]:
170+
000019: 43 00 00 00 00 | f32.const 0x0p+0
171+
00001e: 1a | drop
172+
00001f: 43 80 a2 91 48 | f32.const 0x1.2345p+18
173+
000024: 1a | drop
174+
000025: 43 00 00 80 59 | f32.const 0x1p+52
175+
00002a: 1a | drop
176+
00002b: 43 00 00 00 7f | f32.const 0x1p+127
177+
000030: 1a | drop
178+
000031: 43 00 00 80 7c | f32.const 0x1p+122
179+
000036: 1a | drop
180+
000037: 43 00 80 91 7d | f32.const 0x1.23p+124
181+
00003c: 1a | drop
182+
00003d: 43 f0 ff ff 7e | f32.const 0x1.ffffep+126
183+
000042: 1a | drop
184+
000043: 43 fe ff 7f 7e | f32.const 0x1.fffffcp+125
185+
000048: 1a | drop
186+
000049: 43 00 00 00 7f | f32.const 0x1p+127
187+
00004e: 1a | drop
188+
00004f: 43 c4 ff 7f 7f | f32.const 0x1.ffff88p+127
189+
000054: 1a | drop
190+
000055: 43 f8 ff 7f 7f | f32.const 0x1.fffffp+127
191+
00005a: 1a | drop
192+
00005b: 43 fa ff ff 0a | f32.const 0x1.fffff4p-106
193+
000060: 1a | drop
194+
000061: 43 f8 ff ff 0a | f32.const 0x1.fffffp-106
195+
000066: 1a | drop
196+
000067: 43 00 00 00 04 | f32.const 0x1p-119
197+
00006c: 1a | drop
198+
00006d: 43 00 00 88 3f | f32.const 0x1.1p+0
199+
000072: 1a | drop
200+
000073: 43 00 00 80 53 | f32.const 0x1p+40
201+
000078: 1a | drop
202+
000079: 43 80 80 7f c0 | f32.const -0x1.ff01p+1
203+
00007e: 1a | drop
204+
00007f: 43 01 00 00 00 | f32.const 0x1p-149
205+
000084: 1a | drop
206+
000085: 43 01 00 00 80 | f32.const -0x1p-149
207+
00008a: 1a | drop
208+
00008b: 43 01 00 00 00 | f32.const 0x1p-149
209+
000090: 1a | drop
210+
000091: 43 01 00 00 80 | f32.const -0x1p-149
211+
000096: 1a | drop
212+
000097: 43 02 00 00 00 | f32.const 0x1p-148
213+
00009c: 1a | drop
214+
00009d: 43 02 00 00 80 | f32.const -0x1p-148
215+
0000a2: 1a | drop
216+
0000a3: 43 03 00 00 00 | f32.const 0x1.8p-148
217+
0000a8: 1a | drop
218+
0000a9: 43 03 00 00 80 | f32.const -0x1.8p-148
219+
0000ae: 1a | drop
220+
0000af: 0b | end
163221
;;; STDOUT ;;)

test/dump/hexfloat_f64.txt

+160-6
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,50 @@
3636
drop
3737
f64.const -0x1.ff01p1
3838
drop
39+
f64.const +0x0.000000000000080000000000p-1022
40+
drop
41+
f64.const -0x0.000000000000080000000000p-1022
42+
drop
43+
f64.const +0x0.000000000000080000000001p-1022
44+
drop
45+
f64.const -0x0.000000000000080000000001p-1022
46+
drop
47+
f64.const +0x0.0000000000000fffffffffffp-1022
48+
drop
49+
f64.const -0x0.0000000000000fffffffffffp-1022
50+
drop
51+
f64.const +0x0.000000000000100000000000p-1022
52+
drop
53+
f64.const -0x0.000000000000100000000000p-1022
54+
drop
55+
f64.const +0x0.000000000000100000000001p-1022
56+
drop
57+
f64.const -0x0.000000000000100000000001p-1022
58+
drop
59+
f64.const +0x0.00000000000017ffffffffffp-1022
60+
drop
61+
f64.const -0x0.00000000000017ffffffffffp-1022
62+
drop
63+
f64.const +0x0.000000000000180000000000p-1022
64+
drop
65+
f64.const -0x0.000000000000180000000000p-1022
66+
drop
67+
f64.const +0x0.000000000000180000000001p-1022
68+
drop
69+
f64.const -0x0.000000000000180000000001p-1022
70+
drop
71+
f64.const +0x0.00000000000027ffffffffffp-1022
72+
drop
73+
f64.const -0x0.00000000000027ffffffffffp-1022
74+
drop
75+
f64.const +0x0.000000000000280000000000p-1022
76+
drop
77+
f64.const -0x0.000000000000280000000000p-1022
78+
drop
79+
f64.const +0x1.000000000000280000000001p-1022
80+
drop
81+
f64.const -0x1.000000000000280000000001p-1022
82+
drop
3983
)
4084
)
4185
(;; STDERR ;;;
@@ -114,11 +158,77 @@
114158
00000b7: 44 ; f64.const
115159
00000b8: 0000 0000 10f0 0fc0 ; f64 literal
116160
00000c0: 1a ; drop
117-
00000c1: 0b ; end
118-
; move data: [16, c2) -> [17, c3)
119-
0000015: ac01 ; FIXUP func body size
120-
; move data: [14, c3) -> [15, c4)
121-
0000013: af01 ; FIXUP section size
161+
00000c1: 44 ; f64.const
162+
00000c2: 0000 0000 0000 0000 ; f64 literal
163+
00000ca: 1a ; drop
164+
00000cb: 44 ; f64.const
165+
00000cc: 0000 0000 0000 0080 ; f64 literal
166+
00000d4: 1a ; drop
167+
00000d5: 44 ; f64.const
168+
00000d6: 0100 0000 0000 0000 ; f64 literal
169+
00000de: 1a ; drop
170+
00000df: 44 ; f64.const
171+
00000e0: 0100 0000 0000 0080 ; f64 literal
172+
00000e8: 1a ; drop
173+
00000e9: 44 ; f64.const
174+
00000ea: 0100 0000 0000 0000 ; f64 literal
175+
00000f2: 1a ; drop
176+
00000f3: 44 ; f64.const
177+
00000f4: 0100 0000 0000 0080 ; f64 literal
178+
00000fc: 1a ; drop
179+
00000fd: 44 ; f64.const
180+
00000fe: 0100 0000 0000 0000 ; f64 literal
181+
0000106: 1a ; drop
182+
0000107: 44 ; f64.const
183+
0000108: 0100 0000 0000 0080 ; f64 literal
184+
0000110: 1a ; drop
185+
0000111: 44 ; f64.const
186+
0000112: 0100 0000 0000 0000 ; f64 literal
187+
000011a: 1a ; drop
188+
000011b: 44 ; f64.const
189+
000011c: 0100 0000 0000 0080 ; f64 literal
190+
0000124: 1a ; drop
191+
0000125: 44 ; f64.const
192+
0000126: 0100 0000 0000 0000 ; f64 literal
193+
000012e: 1a ; drop
194+
000012f: 44 ; f64.const
195+
0000130: 0100 0000 0000 0080 ; f64 literal
196+
0000138: 1a ; drop
197+
0000139: 44 ; f64.const
198+
000013a: 0200 0000 0000 0000 ; f64 literal
199+
0000142: 1a ; drop
200+
0000143: 44 ; f64.const
201+
0000144: 0200 0000 0000 0080 ; f64 literal
202+
000014c: 1a ; drop
203+
000014d: 44 ; f64.const
204+
000014e: 0200 0000 0000 0000 ; f64 literal
205+
0000156: 1a ; drop
206+
0000157: 44 ; f64.const
207+
0000158: 0200 0000 0000 0080 ; f64 literal
208+
0000160: 1a ; drop
209+
0000161: 44 ; f64.const
210+
0000162: 0200 0000 0000 0000 ; f64 literal
211+
000016a: 1a ; drop
212+
000016b: 44 ; f64.const
213+
000016c: 0200 0000 0000 0080 ; f64 literal
214+
0000174: 1a ; drop
215+
0000175: 44 ; f64.const
216+
0000176: 0200 0000 0000 0000 ; f64 literal
217+
000017e: 1a ; drop
218+
000017f: 44 ; f64.const
219+
0000180: 0200 0000 0000 0080 ; f64 literal
220+
0000188: 1a ; drop
221+
0000189: 44 ; f64.const
222+
000018a: 0300 0000 0000 1000 ; f64 literal
223+
0000192: 1a ; drop
224+
0000193: 44 ; f64.const
225+
0000194: 0300 0000 0000 1080 ; f64 literal
226+
000019c: 1a ; drop
227+
000019d: 0b ; end
228+
; move data: [16, 19e) -> [17, 19f)
229+
0000015: 8803 ; FIXUP func body size
230+
; move data: [14, 19f) -> [15, 1a0)
231+
0000013: 8b03 ; FIXUP section size
122232
;;; STDERR ;;)
123233
(;; STDOUT ;;;
124234

@@ -161,5 +271,49 @@ Code Disassembly:
161271
0000b8: 1a | drop
162272
0000b9: 44 00 00 00 00 10 f0 0f c0 | f64.const -0x1.ff01p+1
163273
0000c2: 1a | drop
164-
0000c3: 0b | end
274+
0000c3: 44 00 00 00 00 00 00 00 00 | f64.const 0x0p+0
275+
0000cc: 1a | drop
276+
0000cd: 44 00 00 00 00 00 00 00 80 | f64.const -0x0p+0
277+
0000d6: 1a | drop
278+
0000d7: 44 01 00 00 00 00 00 00 00 | f64.const 0x1p-1074
279+
0000e0: 1a | drop
280+
0000e1: 44 01 00 00 00 00 00 00 80 | f64.const -0x1p-1074
281+
0000ea: 1a | drop
282+
0000eb: 44 01 00 00 00 00 00 00 00 | f64.const 0x1p-1074
283+
0000f4: 1a | drop
284+
0000f5: 44 01 00 00 00 00 00 00 80 | f64.const -0x1p-1074
285+
0000fe: 1a | drop
286+
0000ff: 44 01 00 00 00 00 00 00 00 | f64.const 0x1p-1074
287+
000108: 1a | drop
288+
000109: 44 01 00 00 00 00 00 00 80 | f64.const -0x1p-1074
289+
000112: 1a | drop
290+
000113: 44 01 00 00 00 00 00 00 00 | f64.const 0x1p-1074
291+
00011c: 1a | drop
292+
00011d: 44 01 00 00 00 00 00 00 80 | f64.const -0x1p-1074
293+
000126: 1a | drop
294+
000127: 44 01 00 00 00 00 00 00 00 | f64.const 0x1p-1074
295+
000130: 1a | drop
296+
000131: 44 01 00 00 00 00 00 00 80 | f64.const -0x1p-1074
297+
00013a: 1a | drop
298+
00013b: 44 02 00 00 00 00 00 00 00 | f64.const 0x1p-1073
299+
000144: 1a | drop
300+
000145: 44 02 00 00 00 00 00 00 80 | f64.const -0x1p-1073
301+
00014e: 1a | drop
302+
00014f: 44 02 00 00 00 00 00 00 00 | f64.const 0x1p-1073
303+
000158: 1a | drop
304+
000159: 44 02 00 00 00 00 00 00 80 | f64.const -0x1p-1073
305+
000162: 1a | drop
306+
000163: 44 02 00 00 00 00 00 00 00 | f64.const 0x1p-1073
307+
00016c: 1a | drop
308+
00016d: 44 02 00 00 00 00 00 00 80 | f64.const -0x1p-1073
309+
000176: 1a | drop
310+
000177: 44 02 00 00 00 00 00 00 00 | f64.const 0x1p-1073
311+
000180: 1a | drop
312+
000181: 44 02 00 00 00 00 00 00 80 | f64.const -0x1p-1073
313+
00018a: 1a | drop
314+
00018b: 44 03 00 00 00 00 00 10 00 | f64.const 0x1.0000000000003p-1022
315+
000194: 1a | drop
316+
000195: 44 03 00 00 00 00 00 10 80 | f64.const -0x1.0000000000003p-1022
317+
00019e: 1a | drop
318+
00019f: 0b | end
165319
;;; STDOUT ;;)

0 commit comments

Comments
 (0)