@salang/sa 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/bin/sa.js +13 -1
  2. package/package.json +8 -7
  3. package/sa_std/alloc/layout.sal +12 -0
  4. package/sa_std/alloc/prelude.sa +1 -0
  5. package/sa_std/alloc/prelude.sal +1 -0
  6. package/sa_std/alloc/string.sa +3 -0
  7. package/sa_std/alloc/vec.sa +684 -0
  8. package/sa_std/alloc/vec.sal +4 -0
  9. package/sa_std/any.sa +130 -0
  10. package/sa_std/any.sal +23 -0
  11. package/sa_std/array.sa +1876 -0
  12. package/sa_std/ascii.sa +2 -0
  13. package/sa_std/ascii.sal +1 -0
  14. package/sa_std/async.sla +116 -0
  15. package/sa_std/binary_heap.sa +3003 -0
  16. package/sa_std/binary_heap.sal +7 -0
  17. package/sa_std/borrow.sa +171 -0
  18. package/sa_std/borrow.sal +13 -0
  19. package/sa_std/btree_map.sa +2210 -0
  20. package/sa_std/btree_map.sal +11 -0
  21. package/sa_std/btree_set.sa +1072 -0
  22. package/sa_std/btree_set.sal +6 -0
  23. package/sa_std/char.sa +1309 -0
  24. package/sa_std/char.sal +50 -0
  25. package/sa_std/cmp.sa +554 -0
  26. package/sa_std/cmp.sal +14 -0
  27. package/sa_std/collections/binary_heap.sa +1 -0
  28. package/sa_std/collections/btree_map.sa +1 -0
  29. package/sa_std/collections/btree_set.sa +1 -0
  30. package/sa_std/collections/hashmap.sa +1 -0
  31. package/sa_std/collections/hashset.sa +1 -0
  32. package/sa_std/collections/linked_list.sa +1120 -0
  33. package/sa_std/collections/linked_list.sal +10 -0
  34. package/sa_std/collections/prelude.sa +7 -0
  35. package/sa_std/collections/prelude.sal +1 -0
  36. package/sa_std/collections/vec_deque.sa +1 -0
  37. package/sa_std/collections.sal +13 -0
  38. package/sa_std/convert.sa +1115 -0
  39. package/sa_std/convert.sal +24 -0
  40. package/sa_std/core/arc.sa +233 -0
  41. package/sa_std/core/arc.sal +4 -0
  42. package/sa_std/core/ascii.sa +784 -0
  43. package/sa_std/core/ascii.sal +34 -0
  44. package/sa_std/core/bit.sa +41 -0
  45. package/sa_std/core/box.sa +1 -0
  46. package/sa_std/core/box.sal +2 -0
  47. package/sa_std/core/cell.sa +108 -0
  48. package/sa_std/core/cell.sal +5 -0
  49. package/sa_std/core/cleanup.sa +26 -0
  50. package/sa_std/core/control.sa +20 -0
  51. package/sa_std/core/derive.sa +60 -0
  52. package/sa_std/core/derive.sal +1 -0
  53. package/sa_std/core/dispatch.sa +7 -0
  54. package/sa_std/core/dispatch.sal +5 -0
  55. package/sa_std/core/future.sa +777 -0
  56. package/sa_std/core/future.sal +73 -0
  57. package/sa_std/core/hash.sa +48 -0
  58. package/sa_std/core/iter.sa +2805 -0
  59. package/sa_std/core/iter.sal +4 -0
  60. package/sa_std/core/loop.sa +60 -0
  61. package/sa_std/core/mem.sa +220 -0
  62. package/sa_std/core/option.sa +825 -0
  63. package/sa_std/core/option.sal +11 -0
  64. package/sa_std/core/panic.sa +23 -0
  65. package/sa_std/core/panic.sal +12 -0
  66. package/sa_std/core/prelude.sa +18 -0
  67. package/sa_std/core/prelude.sal +18 -0
  68. package/sa_std/core/rc.sa +225 -0
  69. package/sa_std/core/rc.sal +4 -0
  70. package/sa_std/core/refcell.sa +283 -0
  71. package/sa_std/core/refcell.sal +13 -0
  72. package/sa_std/core/result.sa +708 -0
  73. package/sa_std/core/result.sal +6 -0
  74. package/sa_std/core/rust_patterns.sal +295 -0
  75. package/sa_std/core/sa_core.sa +84 -0
  76. package/sa_std/core/slice.sa +4021 -0
  77. package/sa_std/core/slice.sal +7 -0
  78. package/sa_std/core/task.sa +112 -0
  79. package/sa_std/core/task.sal +15 -0
  80. package/sa_std/core/trait_object.sa +26 -0
  81. package/sa_std/core/trait_object.sal +4 -0
  82. package/sa_std/core/waker.sa +289 -0
  83. package/sa_std/core/waker.sal +31 -0
  84. package/sa_std/core/weak.sa +2 -0
  85. package/sa_std/core/weak.sal +4 -0
  86. package/sa_std/cow.sa +3 -0
  87. package/sa_std/cow.sal +2 -0
  88. package/sa_std/cstring.sa +3 -0
  89. package/sa_std/cstring.sal +2 -0
  90. package/sa_std/default.sa +99 -0
  91. package/sa_std/duration.sa +3 -0
  92. package/sa_std/duration.sal +2 -0
  93. package/sa_std/encoding/json.sa +259 -0
  94. package/sa_std/encoding/json.sai +54 -0
  95. package/sa_std/encoding/json.sal +35 -0
  96. package/sa_std/encoding/prelude.sa +1 -0
  97. package/sa_std/encoding/prelude.sal +0 -0
  98. package/sa_std/env.sa +390 -0
  99. package/sa_std/env.sai +25 -0
  100. package/sa_std/error.sa +253 -0
  101. package/sa_std/error.sal +44 -0
  102. package/sa_std/ffi/cstring.sa +3 -0
  103. package/sa_std/ffi/cstring.sal +1 -0
  104. package/sa_std/ffi/prelude.sa +2 -0
  105. package/sa_std/ffi/prelude.sal +2 -0
  106. package/sa_std/ffi.sa +635 -0
  107. package/sa_std/ffi.sal +51 -0
  108. package/sa_std/fmt.sa +2 -0
  109. package/sa_std/fmt.sai +18 -0
  110. package/sa_std/fmt.sal +35 -0
  111. package/sa_std/fs.sa +1023 -0
  112. package/sa_std/fs.sai +127 -0
  113. package/sa_std/fs.sal +51 -0
  114. package/sa_std/future.sa +2 -0
  115. package/sa_std/future.sal +1 -0
  116. package/sa_std/hash.sa +1486 -0
  117. package/sa_std/hash.sal +13 -0
  118. package/sa_std/hashmap.sa +1962 -0
  119. package/sa_std/hashmap.sal +20 -0
  120. package/sa_std/hashset.sa +1004 -0
  121. package/sa_std/hashset.sal +18 -0
  122. package/sa_std/http2.sa +78 -0
  123. package/sa_std/http2.sai +26 -0
  124. package/sa_std/http2.sal +36 -0
  125. package/sa_std/instant.sa +3 -0
  126. package/sa_std/instant.sal +2 -0
  127. package/sa_std/io/buf_reader.sa +43 -0
  128. package/sa_std/io/buf_writer.sa +35 -0
  129. package/sa_std/io/bufio.sa +4 -0
  130. package/sa_std/io/bufio.sal +4 -0
  131. package/sa_std/io/prelude.sa +1 -0
  132. package/sa_std/io/prelude.sal +1 -0
  133. package/sa_std/io/print.sa +2 -0
  134. package/sa_std/io/print.sai +3 -0
  135. package/sa_std/io.sa +925 -0
  136. package/sa_std/io.sai +25 -0
  137. package/sa_std/io.sal +84 -0
  138. package/sa_std/iter.sa +2 -0
  139. package/sa_std/iter.sal +1 -0
  140. package/sa_std/join_handle.sa +3 -0
  141. package/sa_std/join_handle.sal +2 -0
  142. package/sa_std/libsa_async.sa +80 -0
  143. package/sa_std/m_async.sa +137 -0
  144. package/sa_std/m_async.sal +30 -0
  145. package/sa_std/m_async.sla +2 -0
  146. package/sa_std/manually_drop.sa +3 -0
  147. package/sa_std/manually_drop.sal +2 -0
  148. package/sa_std/marker/phantom_data.sa +3 -0
  149. package/sa_std/marker/phantom_data.sal +1 -0
  150. package/sa_std/marker/prelude.sa +4 -0
  151. package/sa_std/marker/prelude.sal +4 -0
  152. package/sa_std/marker.sa +220 -0
  153. package/sa_std/marker.sal +15 -0
  154. package/sa_std/math.sa +84 -0
  155. package/sa_std/math.sai +10 -0
  156. package/sa_std/mem/manually_drop.sa +3 -0
  157. package/sa_std/mem/manually_drop.sal +1 -0
  158. package/sa_std/mem/prelude.sa +2 -0
  159. package/sa_std/mem/prelude.sal +2 -0
  160. package/sa_std/mem.sa +564 -0
  161. package/sa_std/mem.sal +40 -0
  162. package/sa_std/modstate.sai +19 -0
  163. package/sa_std/net.sa +4227 -0
  164. package/sa_std/net.sai +239 -0
  165. package/sa_std/net.sal +159 -0
  166. package/sa_std/netx.sa +85 -0
  167. package/sa_std/netx.sai +11 -0
  168. package/sa_std/netx.sal +39 -0
  169. package/sa_std/nonzero.sa +3 -0
  170. package/sa_std/nonzero.sal +2 -0
  171. package/sa_std/num/nonzero.sa +3 -0
  172. package/sa_std/num/nonzero.sal +1 -0
  173. package/sa_std/num/prelude.sa +3 -0
  174. package/sa_std/num/prelude.sal +3 -0
  175. package/sa_std/num.sa +17302 -0
  176. package/sa_std/num.sai +11 -0
  177. package/sa_std/num.sal +341 -0
  178. package/sa_std/ops.sa +1884 -0
  179. package/sa_std/ops.sal +68 -0
  180. package/sa_std/option.sa +2 -0
  181. package/sa_std/option.sal +1 -0
  182. package/sa_std/os/fd.sa +96 -0
  183. package/sa_std/os/fd.sai +7 -0
  184. package/sa_std/os/fd.sal +11 -0
  185. package/sa_std/os/prelude.sa +2 -0
  186. package/sa_std/os/prelude.sal +1 -0
  187. package/sa_std/os/unix_ffi.sa +271 -0
  188. package/sa_std/panic.sa +1 -0
  189. package/sa_std/panic.sal +1 -0
  190. package/sa_std/path.sa +3170 -0
  191. package/sa_std/path.sal +12 -0
  192. package/sa_std/phantom_data.sa +3 -0
  193. package/sa_std/phantom_data.sal +2 -0
  194. package/sa_std/pin.sa +79 -0
  195. package/sa_std/pin.sal +5 -0
  196. package/sa_std/plugin_async.sa +90 -0
  197. package/sa_std/plugin_async.sal +29 -0
  198. package/sa_std/plugin_async.sla +4 -0
  199. package/sa_std/plugin_http_async.sa +46 -0
  200. package/sa_std/plugin_http_server.sa +61 -0
  201. package/sa_std/plugin_http_server.sla +2 -0
  202. package/sa_std/plugin_sqlite.sa +106 -0
  203. package/sa_std/plugin_sqlite.sla +2 -0
  204. package/sa_std/prelude.sa +60 -0
  205. package/sa_std/prelude.sal +55 -0
  206. package/sa_std/process.sa +916 -0
  207. package/sa_std/process.sai +57 -0
  208. package/sa_std/process.sal +27 -0
  209. package/sa_std/ptr.sa +503 -0
  210. package/sa_std/ptr.sal +2 -0
  211. package/sa_std/result.sa +2 -0
  212. package/sa_std/result.sal +1 -0
  213. package/sa_std/rust_core.sa +51 -0
  214. package/sa_std/rust_core.sal +26 -0
  215. package/sa_std/sa.mod +7 -0
  216. package/sa_std/sort.sa +156 -0
  217. package/sa_std/str.sla +13 -0
  218. package/sa_std/string.sa +12240 -0
  219. package/sa_std/string.sai +25 -0
  220. package/sa_std/string.sal +17 -0
  221. package/sa_std/string_format.sa +269 -0
  222. package/sa_std/sync/atomic.sa +1500 -0
  223. package/sa_std/sync/atomic.sal +45 -0
  224. package/sa_std/sync/barrier.sa +105 -0
  225. package/sa_std/sync/barrier.sal +7 -0
  226. package/sa_std/sync/condvar.sa +240 -0
  227. package/sa_std/sync/condvar.sal +4 -0
  228. package/sa_std/sync/mpsc.sa +758 -0
  229. package/sa_std/sync/mpsc.sal +42 -0
  230. package/sa_std/sync/mpsc_list.sa +255 -0
  231. package/sa_std/sync/mpsc_list.sal +3 -0
  232. package/sa_std/sync/mutex.sa +182 -0
  233. package/sa_std/sync/mutex.sal +7 -0
  234. package/sa_std/sync/once.sa +371 -0
  235. package/sa_std/sync/once.sal +31 -0
  236. package/sa_std/sync/poison.sa +36 -0
  237. package/sa_std/sync/poison.sal +11 -0
  238. package/sa_std/sync/prelude.sa +8 -0
  239. package/sa_std/sync/prelude.sal +7 -0
  240. package/sa_std/sync/rwlock.sa +369 -0
  241. package/sa_std/sync/rwlock.sal +13 -0
  242. package/sa_std/task.sa +2 -0
  243. package/sa_std/task.sal +1 -0
  244. package/sa_std/term.sa +2 -0
  245. package/sa_std/term.sai +10 -0
  246. package/sa_std/term.sal +33 -0
  247. package/sa_std/testing/assert.sai +4 -0
  248. package/sa_std/testing/mock_io.sa +174 -0
  249. package/sa_std/testing/mock_io.sal +5 -0
  250. package/sa_std/testing/prelude.sa +2 -0
  251. package/sa_std/testing/prelude.sal +1 -0
  252. package/sa_std/text/prelude.sa +1 -0
  253. package/sa_std/text/prelude.sal +1 -0
  254. package/sa_std/text/regex.sa +2 -0
  255. package/sa_std/text/regex.sai +9 -0
  256. package/sa_std/text/regex.sal +33 -0
  257. package/sa_std/thread/join_handle.sa +3 -0
  258. package/sa_std/thread/join_handle.sal +1 -0
  259. package/sa_std/thread/prelude.sa +4 -0
  260. package/sa_std/thread/prelude.sal +3 -0
  261. package/sa_std/thread.sa +160 -0
  262. package/sa_std/thread.sai +11 -0
  263. package/sa_std/thread.sal +4 -0
  264. package/sa_std/thread_local.sa +45 -0
  265. package/sa_std/thread_local.sai +9 -0
  266. package/sa_std/time/duration.sa +3 -0
  267. package/sa_std/time/duration.sal +1 -0
  268. package/sa_std/time/instant.sa +3 -0
  269. package/sa_std/time/instant.sal +1 -0
  270. package/sa_std/time/prelude.sa +4 -0
  271. package/sa_std/time/prelude.sal +4 -0
  272. package/sa_std/time.sa +850 -0
  273. package/sa_std/time.sai +37 -0
  274. package/sa_std/time.sal +35 -0
  275. package/sa_std/time.sla +67 -0
  276. package/sa_std/tls_client.sai +39 -0
  277. package/sa_std/vec.sa +5754 -0
  278. package/sa_std/vec.sal +1 -0
  279. package/sa_std/vec_deque.sa +4925 -0
  280. package/sa_std/vec_deque.sal +8 -0
  281. package/sa_std/vec_runtime_macros.sa +11 -0
  282. package/sa_std/ws_client.sai +57 -0
@@ -0,0 +1,1115 @@
1
+ @import "convert.sal"
2
+
3
+ [MACRO] CONVERT_IDENTITY_U64 %out_value, %value
4
+ %out_value = add %value, 0
5
+ [END_MACRO]
6
+
7
+ // Rust method-name alias over CONVERT_IDENTITY_U64.
8
+ [MACRO] CONVERT_IDENTITY %out_value, %value
9
+ EXPAND CONVERT_IDENTITY_U64 %out_value, %value
10
+ [END_MACRO]
11
+
12
+ [MACRO] CONVERT_IDENTITY_I64 %out_value, %value
13
+ %out_value = add %value, 0
14
+ [END_MACRO]
15
+
16
+ [MACRO] CONVERT_IDENTITY_USIZE %out_value, %value
17
+ %out_value = add %value, 0
18
+ [END_MACRO]
19
+
20
+ [MACRO] CONVERT_IDENTITY_BOOL %out_value, %value
21
+ %out_value = add %value, 0
22
+ [END_MACRO]
23
+
24
+ [MACRO] IDENTITY_U64 %out_value, %value
25
+ EXPAND CONVERT_IDENTITY_U64 %out_value, %value
26
+ [END_MACRO]
27
+
28
+ // Rust method-name alias over IDENTITY_U64.
29
+ [MACRO] IDENTITY %out_value, %value
30
+ EXPAND IDENTITY_U64 %out_value, %value
31
+ [END_MACRO]
32
+
33
+ [MACRO] IDENTITY_I64 %out_value, %value
34
+ EXPAND CONVERT_IDENTITY_I64 %out_value, %value
35
+ [END_MACRO]
36
+
37
+ [MACRO] IDENTITY_USIZE %out_value, %value
38
+ EXPAND CONVERT_IDENTITY_USIZE %out_value, %value
39
+ [END_MACRO]
40
+
41
+ [MACRO] IDENTITY_BOOL %out_value, %value
42
+ EXPAND CONVERT_IDENTITY_BOOL %out_value, %value
43
+ [END_MACRO]
44
+
45
+ [MACRO] CONVERT_BOOL_TO_U64 %out_value, %value
46
+ %out_value = add %value, 0
47
+ [END_MACRO]
48
+
49
+ // Rust method-name alias over CONVERT_BOOL_TO_U64.
50
+ [MACRO] CONVERT_BOOL_TO %out_value, %value
51
+ EXPAND CONVERT_BOOL_TO_U64 %out_value, %value
52
+ [END_MACRO]
53
+
54
+ [MACRO] CONVERT_BOOL_TO_I32 %out_value, %value
55
+ %out_value = add %value, 0
56
+ [END_MACRO]
57
+
58
+ [MACRO] CONVERT_U64_TO_BOOL %out_value, %value
59
+ %out_value = ne %value, 0
60
+ [END_MACRO]
61
+
62
+ [MACRO] CONVERT_I64_TO_BOOL %out_value, %value
63
+ %out_value = ne %value, 0
64
+ [END_MACRO]
65
+
66
+ [MACRO] CONVERT_U8_TO_U64 %out_value, %value
67
+ %out_value = add %value, 0
68
+ [END_MACRO]
69
+
70
+ // Rust method-name alias over CONVERT_U8_TO_U64.
71
+ [MACRO] CONVERT_U8_TO %out_value, %value
72
+ EXPAND CONVERT_U8_TO_U64 %out_value, %value
73
+ [END_MACRO]
74
+
75
+ [MACRO] CONVERT_U8_TO_U16 %out_value, %value
76
+ %out_value = add %value, 0
77
+ [END_MACRO]
78
+
79
+ [MACRO] CONVERT_U8_TO_U32 %out_value, %value
80
+ %out_value = add %value, 0
81
+ [END_MACRO]
82
+
83
+ [MACRO] CONVERT_U8_TO_USIZE %out_value, %value
84
+ %out_value = add %value, 0
85
+ [END_MACRO]
86
+
87
+ [MACRO] CONVERT_U16_TO_U64 %out_value, %value
88
+ %out_value = add %value, 0
89
+ [END_MACRO]
90
+
91
+ // Rust method-name alias over CONVERT_U16_TO_U64.
92
+ [MACRO] CONVERT_U16_TO %out_value, %value
93
+ EXPAND CONVERT_U16_TO_U64 %out_value, %value
94
+ [END_MACRO]
95
+
96
+ [MACRO] CONVERT_U16_TO_U32 %out_value, %value
97
+ %out_value = add %value, 0
98
+ [END_MACRO]
99
+
100
+ [MACRO] CONVERT_U16_TO_USIZE %out_value, %value
101
+ %out_value = add %value, 0
102
+ [END_MACRO]
103
+
104
+ [MACRO] CONVERT_U32_TO_U64 %out_value, %value
105
+ %out_value = add %value, 0
106
+ [END_MACRO]
107
+
108
+ // Rust method-name alias over CONVERT_U32_TO_U64.
109
+ [MACRO] CONVERT_U32_TO %out_value, %value
110
+ EXPAND CONVERT_U32_TO_U64 %out_value, %value
111
+ [END_MACRO]
112
+
113
+ [MACRO] CONVERT_U32_TO_USIZE %out_value, %value
114
+ %out_value = add %value, 0
115
+ [END_MACRO]
116
+
117
+ [MACRO] CONVERT_U64_TO_USIZE %out_value, %value
118
+ %out_value = add %value, 0
119
+ [END_MACRO]
120
+
121
+ [MACRO] CONVERT_USIZE_TO_U64 %out_value, %value
122
+ %out_value = add %value, 0
123
+ [END_MACRO]
124
+
125
+ // Rust method-name alias over CONVERT_USIZE_TO_U64.
126
+ [MACRO] CONVERT_USIZE_TO %out_value, %value
127
+ EXPAND CONVERT_USIZE_TO_U64 %out_value, %value
128
+ [END_MACRO]
129
+
130
+ [MACRO] CONVERT_I8_TO_I16 %out_value, %value
131
+ %out_value = add %value, 0
132
+ [END_MACRO]
133
+
134
+ [MACRO] CONVERT_I8_TO_I32 %out_value, %value
135
+ %out_value = add %value, 0
136
+ [END_MACRO]
137
+
138
+ [MACRO] CONVERT_I8_TO_I64 %out_value, %value
139
+ %out_value = add %value, 0
140
+ [END_MACRO]
141
+
142
+ [MACRO] CONVERT_I8_TO_ISIZE %out_value, %value
143
+ %out_value = add %value, 0
144
+ [END_MACRO]
145
+
146
+ [MACRO] CONVERT_I16_TO_I32 %out_value, %value
147
+ %out_value = add %value, 0
148
+ [END_MACRO]
149
+
150
+ [MACRO] CONVERT_I16_TO_I64 %out_value, %value
151
+ %out_value = add %value, 0
152
+ [END_MACRO]
153
+
154
+ [MACRO] CONVERT_I16_TO_ISIZE %out_value, %value
155
+ %out_value = add %value, 0
156
+ [END_MACRO]
157
+
158
+ [MACRO] CONVERT_I32_TO_I64 %out_value, %value
159
+ %out_value = add %value, 0
160
+ [END_MACRO]
161
+
162
+ [MACRO] CONVERT_I32_TO_ISIZE %out_value, %value
163
+ %out_value = add %value, 0
164
+ [END_MACRO]
165
+
166
+ [MACRO] CONVERT_I64_TO_ISIZE %out_value, %value
167
+ %out_value = add %value, 0
168
+ [END_MACRO]
169
+
170
+ [MACRO] CONVERT_ISIZE_TO_I64 %out_value, %value
171
+ %out_value = add %value, 0
172
+ [END_MACRO]
173
+
174
+ [MACRO] CONVERT_TRY_U64_TO_U8 %out_ok, %out_value, %value
175
+ __convert_ok_%out_ok = ule %value, CONVERT_U8_MAX
176
+ br __convert_ok_%out_ok -> L_CONVERT_U64_TO_U8_HIT_%out_ok, L_CONVERT_U64_TO_U8_MISS_%out_ok
177
+ L_CONVERT_U64_TO_U8_HIT_%out_ok:
178
+ %out_ok = add 0, 1
179
+ %out_value = add %value, 0
180
+ jmp L_CONVERT_U64_TO_U8_END_%out_ok
181
+ L_CONVERT_U64_TO_U8_MISS_%out_ok:
182
+ %out_ok = add 0, 0
183
+ %out_value = add 0, 0
184
+ L_CONVERT_U64_TO_U8_END_%out_ok:
185
+ !__convert_ok_%out_ok
186
+ [END_MACRO]
187
+
188
+ [MACRO] CONVERT_TRY_U64_TO_I8 %out_ok, %out_value, %value
189
+ __convert_ok_%out_ok = ule %value, CONVERT_I8_MAX
190
+ br __convert_ok_%out_ok -> L_CONVERT_U64_TO_I8_HIT_%out_ok, L_CONVERT_U64_TO_I8_MISS_%out_ok
191
+ L_CONVERT_U64_TO_I8_HIT_%out_ok:
192
+ %out_ok = add 0, 1
193
+ %out_value = add %value, 0
194
+ jmp L_CONVERT_U64_TO_I8_END_%out_ok
195
+ L_CONVERT_U64_TO_I8_MISS_%out_ok:
196
+ %out_ok = add 0, 0
197
+ %out_value = add 0, 0
198
+ L_CONVERT_U64_TO_I8_END_%out_ok:
199
+ !__convert_ok_%out_ok
200
+ [END_MACRO]
201
+
202
+ [MACRO] CONVERT_TRY_U64_TO_U16 %out_ok, %out_value, %value
203
+ __convert_ok_%out_ok = ule %value, CONVERT_U16_MAX
204
+ br __convert_ok_%out_ok -> L_CONVERT_U64_TO_U16_HIT_%out_ok, L_CONVERT_U64_TO_U16_MISS_%out_ok
205
+ L_CONVERT_U64_TO_U16_HIT_%out_ok:
206
+ %out_ok = add 0, 1
207
+ %out_value = add %value, 0
208
+ jmp L_CONVERT_U64_TO_U16_END_%out_ok
209
+ L_CONVERT_U64_TO_U16_MISS_%out_ok:
210
+ %out_ok = add 0, 0
211
+ %out_value = add 0, 0
212
+ L_CONVERT_U64_TO_U16_END_%out_ok:
213
+ !__convert_ok_%out_ok
214
+ [END_MACRO]
215
+
216
+ [MACRO] CONVERT_TRY_U64_TO_I16 %out_ok, %out_value, %value
217
+ __convert_ok_%out_ok = ule %value, CONVERT_I16_MAX
218
+ br __convert_ok_%out_ok -> L_CONVERT_U64_TO_I16_HIT_%out_ok, L_CONVERT_U64_TO_I16_MISS_%out_ok
219
+ L_CONVERT_U64_TO_I16_HIT_%out_ok:
220
+ %out_ok = add 0, 1
221
+ %out_value = add %value, 0
222
+ jmp L_CONVERT_U64_TO_I16_END_%out_ok
223
+ L_CONVERT_U64_TO_I16_MISS_%out_ok:
224
+ %out_ok = add 0, 0
225
+ %out_value = add 0, 0
226
+ L_CONVERT_U64_TO_I16_END_%out_ok:
227
+ !__convert_ok_%out_ok
228
+ [END_MACRO]
229
+
230
+ [MACRO] CONVERT_TRY_U64_TO_U32 %out_ok, %out_value, %value
231
+ __convert_ok_%out_ok = ule %value, CONVERT_U32_MAX
232
+ br __convert_ok_%out_ok -> L_CONVERT_U64_TO_U32_HIT_%out_ok, L_CONVERT_U64_TO_U32_MISS_%out_ok
233
+ L_CONVERT_U64_TO_U32_HIT_%out_ok:
234
+ %out_ok = add 0, 1
235
+ %out_value = add %value, 0
236
+ jmp L_CONVERT_U64_TO_U32_END_%out_ok
237
+ L_CONVERT_U64_TO_U32_MISS_%out_ok:
238
+ %out_ok = add 0, 0
239
+ %out_value = add 0, 0
240
+ L_CONVERT_U64_TO_U32_END_%out_ok:
241
+ !__convert_ok_%out_ok
242
+ [END_MACRO]
243
+
244
+ [MACRO] CONVERT_TRY_U64_TO_I32 %out_ok, %out_value, %value
245
+ __convert_ok_%out_ok = ule %value, CONVERT_I32_MAX
246
+ br __convert_ok_%out_ok -> L_CONVERT_U64_TO_I32_HIT_%out_ok, L_CONVERT_U64_TO_I32_MISS_%out_ok
247
+ L_CONVERT_U64_TO_I32_HIT_%out_ok:
248
+ %out_ok = add 0, 1
249
+ %out_value = add %value, 0
250
+ jmp L_CONVERT_U64_TO_I32_END_%out_ok
251
+ L_CONVERT_U64_TO_I32_MISS_%out_ok:
252
+ %out_ok = add 0, 0
253
+ %out_value = add 0, 0
254
+ L_CONVERT_U64_TO_I32_END_%out_ok:
255
+ !__convert_ok_%out_ok
256
+ [END_MACRO]
257
+
258
+ [MACRO] CONVERT_TRY_U64_TO_USIZE %out_ok, %out_value, %value
259
+ %out_ok = add 0, 1
260
+ %out_value = add %value, 0
261
+ [END_MACRO]
262
+
263
+ [MACRO] CONVERT_TRY_U64_TO_I64 %out_ok, %out_value, %value
264
+ __convert_ok_%out_ok = ule %value, CONVERT_I64_MAX
265
+ br __convert_ok_%out_ok -> L_CONVERT_U64_TO_I64_HIT_%out_ok, L_CONVERT_U64_TO_I64_MISS_%out_ok
266
+ L_CONVERT_U64_TO_I64_HIT_%out_ok:
267
+ %out_ok = add 0, 1
268
+ %out_value = add %value, 0
269
+ jmp L_CONVERT_U64_TO_I64_END_%out_ok
270
+ L_CONVERT_U64_TO_I64_MISS_%out_ok:
271
+ %out_ok = add 0, 0
272
+ %out_value = add 0, 0
273
+ L_CONVERT_U64_TO_I64_END_%out_ok:
274
+ !__convert_ok_%out_ok
275
+ [END_MACRO]
276
+
277
+ [MACRO] CONVERT_TRY_U64_TO_ISIZE %out_ok, %out_value, %value
278
+ EXPAND CONVERT_TRY_U64_TO_I64 %out_ok, %out_value, %value
279
+ [END_MACRO]
280
+
281
+ [MACRO] CONVERT_TRY_I64_TO_U64 %out_ok, %out_value, %value
282
+ __convert_ok_%out_ok = sge %value, 0
283
+ br __convert_ok_%out_ok -> L_CONVERT_I64_TO_U64_HIT_%out_ok, L_CONVERT_I64_TO_U64_MISS_%out_ok
284
+ L_CONVERT_I64_TO_U64_HIT_%out_ok:
285
+ %out_ok = add 0, 1
286
+ %out_value = add %value, 0
287
+ jmp L_CONVERT_I64_TO_U64_END_%out_ok
288
+ L_CONVERT_I64_TO_U64_MISS_%out_ok:
289
+ %out_ok = add 0, 0
290
+ %out_value = add 0, 0
291
+ L_CONVERT_I64_TO_U64_END_%out_ok:
292
+ !__convert_ok_%out_ok
293
+ [END_MACRO]
294
+
295
+ // Rust method-name alias over CONVERT_TRY_I64_TO_U64.
296
+ [MACRO] CONVERT_TRY_I64_TO %out_ok, %out_value, %value
297
+ EXPAND CONVERT_TRY_I64_TO_U64 %out_ok, %out_value, %value
298
+ [END_MACRO]
299
+
300
+ [MACRO] CONVERT_TRY_I64_TO_USIZE %out_ok, %out_value, %value
301
+ EXPAND CONVERT_TRY_I64_TO_U64 %out_ok, %out_value, %value
302
+ [END_MACRO]
303
+
304
+ [MACRO] CONVERT_TRY_I64_TO_U8 %out_ok, %out_value, %value
305
+ __convert_ge_%out_ok = sge %value, 0
306
+ __convert_le_%out_ok = sle %value, CONVERT_U8_MAX
307
+ __convert_ok_%out_ok = and __convert_ge_%out_ok, __convert_le_%out_ok
308
+ br __convert_ok_%out_ok -> L_CONVERT_I64_TO_U8_HIT_%out_ok, L_CONVERT_I64_TO_U8_MISS_%out_ok
309
+ L_CONVERT_I64_TO_U8_HIT_%out_ok:
310
+ %out_ok = add 0, 1
311
+ %out_value = add %value, 0
312
+ jmp L_CONVERT_I64_TO_U8_END_%out_ok
313
+ L_CONVERT_I64_TO_U8_MISS_%out_ok:
314
+ %out_ok = add 0, 0
315
+ %out_value = add 0, 0
316
+ L_CONVERT_I64_TO_U8_END_%out_ok:
317
+ !__convert_ge_%out_ok
318
+ !__convert_le_%out_ok
319
+ !__convert_ok_%out_ok
320
+ [END_MACRO]
321
+
322
+ [MACRO] CONVERT_TRY_I64_TO_U16 %out_ok, %out_value, %value
323
+ __convert_ge_%out_ok = sge %value, 0
324
+ __convert_le_%out_ok = sle %value, CONVERT_U16_MAX
325
+ __convert_ok_%out_ok = and __convert_ge_%out_ok, __convert_le_%out_ok
326
+ br __convert_ok_%out_ok -> L_CONVERT_I64_TO_U16_HIT_%out_ok, L_CONVERT_I64_TO_U16_MISS_%out_ok
327
+ L_CONVERT_I64_TO_U16_HIT_%out_ok:
328
+ %out_ok = add 0, 1
329
+ %out_value = add %value, 0
330
+ jmp L_CONVERT_I64_TO_U16_END_%out_ok
331
+ L_CONVERT_I64_TO_U16_MISS_%out_ok:
332
+ %out_ok = add 0, 0
333
+ %out_value = add 0, 0
334
+ L_CONVERT_I64_TO_U16_END_%out_ok:
335
+ !__convert_ge_%out_ok
336
+ !__convert_le_%out_ok
337
+ !__convert_ok_%out_ok
338
+ [END_MACRO]
339
+
340
+ [MACRO] CONVERT_TRY_I64_TO_U32 %out_ok, %out_value, %value
341
+ __convert_ge_%out_ok = sge %value, 0
342
+ __convert_le_%out_ok = sle %value, CONVERT_U32_MAX
343
+ __convert_ok_%out_ok = and __convert_ge_%out_ok, __convert_le_%out_ok
344
+ br __convert_ok_%out_ok -> L_CONVERT_I64_TO_U32_HIT_%out_ok, L_CONVERT_I64_TO_U32_MISS_%out_ok
345
+ L_CONVERT_I64_TO_U32_HIT_%out_ok:
346
+ %out_ok = add 0, 1
347
+ %out_value = add %value, 0
348
+ jmp L_CONVERT_I64_TO_U32_END_%out_ok
349
+ L_CONVERT_I64_TO_U32_MISS_%out_ok:
350
+ %out_ok = add 0, 0
351
+ %out_value = add 0, 0
352
+ L_CONVERT_I64_TO_U32_END_%out_ok:
353
+ !__convert_ge_%out_ok
354
+ !__convert_le_%out_ok
355
+ !__convert_ok_%out_ok
356
+ [END_MACRO]
357
+
358
+ [MACRO] CONVERT_TRY_I64_TO_I8 %out_ok, %out_value, %value
359
+ __convert_ge_%out_ok = sge %value, CONVERT_I8_MIN
360
+ __convert_le_%out_ok = sle %value, CONVERT_I8_MAX
361
+ __convert_ok_%out_ok = and __convert_ge_%out_ok, __convert_le_%out_ok
362
+ br __convert_ok_%out_ok -> L_CONVERT_I64_TO_I8_HIT_%out_ok, L_CONVERT_I64_TO_I8_MISS_%out_ok
363
+ L_CONVERT_I64_TO_I8_HIT_%out_ok:
364
+ %out_ok = add 0, 1
365
+ %out_value = add %value, 0
366
+ jmp L_CONVERT_I64_TO_I8_END_%out_ok
367
+ L_CONVERT_I64_TO_I8_MISS_%out_ok:
368
+ %out_ok = add 0, 0
369
+ %out_value = add 0, 0
370
+ L_CONVERT_I64_TO_I8_END_%out_ok:
371
+ !__convert_ge_%out_ok
372
+ !__convert_le_%out_ok
373
+ !__convert_ok_%out_ok
374
+ [END_MACRO]
375
+
376
+ [MACRO] CONVERT_TRY_I64_TO_I16 %out_ok, %out_value, %value
377
+ __convert_ge_%out_ok = sge %value, CONVERT_I16_MIN
378
+ __convert_le_%out_ok = sle %value, CONVERT_I16_MAX
379
+ __convert_ok_%out_ok = and __convert_ge_%out_ok, __convert_le_%out_ok
380
+ br __convert_ok_%out_ok -> L_CONVERT_I64_TO_I16_HIT_%out_ok, L_CONVERT_I64_TO_I16_MISS_%out_ok
381
+ L_CONVERT_I64_TO_I16_HIT_%out_ok:
382
+ %out_ok = add 0, 1
383
+ %out_value = add %value, 0
384
+ jmp L_CONVERT_I64_TO_I16_END_%out_ok
385
+ L_CONVERT_I64_TO_I16_MISS_%out_ok:
386
+ %out_ok = add 0, 0
387
+ %out_value = add 0, 0
388
+ L_CONVERT_I64_TO_I16_END_%out_ok:
389
+ !__convert_ge_%out_ok
390
+ !__convert_le_%out_ok
391
+ !__convert_ok_%out_ok
392
+ [END_MACRO]
393
+
394
+ [MACRO] CONVERT_TRY_I64_TO_I32 %out_ok, %out_value, %value
395
+ __convert_ge_%out_ok = sge %value, CONVERT_I32_MIN
396
+ __convert_le_%out_ok = sle %value, CONVERT_I32_MAX
397
+ __convert_ok_%out_ok = and __convert_ge_%out_ok, __convert_le_%out_ok
398
+ br __convert_ok_%out_ok -> L_CONVERT_I64_TO_I32_HIT_%out_ok, L_CONVERT_I64_TO_I32_MISS_%out_ok
399
+ L_CONVERT_I64_TO_I32_HIT_%out_ok:
400
+ %out_ok = add 0, 1
401
+ %out_value = add %value, 0
402
+ jmp L_CONVERT_I64_TO_I32_END_%out_ok
403
+ L_CONVERT_I64_TO_I32_MISS_%out_ok:
404
+ %out_ok = add 0, 0
405
+ %out_value = add 0, 0
406
+ L_CONVERT_I64_TO_I32_END_%out_ok:
407
+ !__convert_ge_%out_ok
408
+ !__convert_le_%out_ok
409
+ !__convert_ok_%out_ok
410
+ [END_MACRO]
411
+
412
+ [MACRO] CONVERT_TRY_I64_TO_ISIZE %out_ok, %out_value, %value
413
+ %out_ok = add 0, 1
414
+ %out_value = add %value, 0
415
+ [END_MACRO]
416
+
417
+ [MACRO] CONVERT_SAT_U64_TO_U8 %out_value, %value
418
+ __convert_over_%out_value = ugt %value, CONVERT_U8_MAX
419
+ br __convert_over_%out_value -> L_CONVERT_SAT_U64_TO_U8_MAX_%out_value, L_CONVERT_SAT_U64_TO_U8_VALUE_%out_value
420
+ L_CONVERT_SAT_U64_TO_U8_MAX_%out_value:
421
+ %out_value = add 0, CONVERT_U8_MAX
422
+ jmp L_CONVERT_SAT_U64_TO_U8_END_%out_value
423
+ L_CONVERT_SAT_U64_TO_U8_VALUE_%out_value:
424
+ %out_value = add %value, 0
425
+ L_CONVERT_SAT_U64_TO_U8_END_%out_value:
426
+ !__convert_over_%out_value
427
+ [END_MACRO]
428
+
429
+ [MACRO] CONVERT_SAT_U64_TO_I8 %out_value, %value
430
+ __convert_over_%out_value = ugt %value, CONVERT_I8_MAX
431
+ br __convert_over_%out_value -> L_CONVERT_SAT_U64_TO_I8_MAX_%out_value, L_CONVERT_SAT_U64_TO_I8_VALUE_%out_value
432
+ L_CONVERT_SAT_U64_TO_I8_MAX_%out_value:
433
+ %out_value = add 0, CONVERT_I8_MAX
434
+ jmp L_CONVERT_SAT_U64_TO_I8_END_%out_value
435
+ L_CONVERT_SAT_U64_TO_I8_VALUE_%out_value:
436
+ %out_value = add %value, 0
437
+ L_CONVERT_SAT_U64_TO_I8_END_%out_value:
438
+ !__convert_over_%out_value
439
+ [END_MACRO]
440
+
441
+ [MACRO] CONVERT_SAT_U64_TO_U16 %out_value, %value
442
+ __convert_over_%out_value = ugt %value, CONVERT_U16_MAX
443
+ br __convert_over_%out_value -> L_CONVERT_SAT_U64_TO_U16_MAX_%out_value, L_CONVERT_SAT_U64_TO_U16_VALUE_%out_value
444
+ L_CONVERT_SAT_U64_TO_U16_MAX_%out_value:
445
+ %out_value = add 0, CONVERT_U16_MAX
446
+ jmp L_CONVERT_SAT_U64_TO_U16_END_%out_value
447
+ L_CONVERT_SAT_U64_TO_U16_VALUE_%out_value:
448
+ %out_value = add %value, 0
449
+ L_CONVERT_SAT_U64_TO_U16_END_%out_value:
450
+ !__convert_over_%out_value
451
+ [END_MACRO]
452
+
453
+ [MACRO] CONVERT_SAT_U64_TO_I16 %out_value, %value
454
+ __convert_over_%out_value = ugt %value, CONVERT_I16_MAX
455
+ br __convert_over_%out_value -> L_CONVERT_SAT_U64_TO_I16_MAX_%out_value, L_CONVERT_SAT_U64_TO_I16_VALUE_%out_value
456
+ L_CONVERT_SAT_U64_TO_I16_MAX_%out_value:
457
+ %out_value = add 0, CONVERT_I16_MAX
458
+ jmp L_CONVERT_SAT_U64_TO_I16_END_%out_value
459
+ L_CONVERT_SAT_U64_TO_I16_VALUE_%out_value:
460
+ %out_value = add %value, 0
461
+ L_CONVERT_SAT_U64_TO_I16_END_%out_value:
462
+ !__convert_over_%out_value
463
+ [END_MACRO]
464
+
465
+ [MACRO] CONVERT_SAT_U64_TO_U32 %out_value, %value
466
+ __convert_over_%out_value = ugt %value, CONVERT_U32_MAX
467
+ br __convert_over_%out_value -> L_CONVERT_SAT_U64_TO_U32_MAX_%out_value, L_CONVERT_SAT_U64_TO_U32_VALUE_%out_value
468
+ L_CONVERT_SAT_U64_TO_U32_MAX_%out_value:
469
+ %out_value = add 0, CONVERT_U32_MAX
470
+ jmp L_CONVERT_SAT_U64_TO_U32_END_%out_value
471
+ L_CONVERT_SAT_U64_TO_U32_VALUE_%out_value:
472
+ %out_value = add %value, 0
473
+ L_CONVERT_SAT_U64_TO_U32_END_%out_value:
474
+ !__convert_over_%out_value
475
+ [END_MACRO]
476
+
477
+ [MACRO] CONVERT_SAT_U64_TO_I32 %out_value, %value
478
+ __convert_over_%out_value = ugt %value, CONVERT_I32_MAX
479
+ br __convert_over_%out_value -> L_CONVERT_SAT_U64_TO_I32_MAX_%out_value, L_CONVERT_SAT_U64_TO_I32_VALUE_%out_value
480
+ L_CONVERT_SAT_U64_TO_I32_MAX_%out_value:
481
+ %out_value = add 0, CONVERT_I32_MAX
482
+ jmp L_CONVERT_SAT_U64_TO_I32_END_%out_value
483
+ L_CONVERT_SAT_U64_TO_I32_VALUE_%out_value:
484
+ %out_value = add %value, 0
485
+ L_CONVERT_SAT_U64_TO_I32_END_%out_value:
486
+ !__convert_over_%out_value
487
+ [END_MACRO]
488
+
489
+ [MACRO] CONVERT_SAT_I64_TO_U8 %out_value, %value
490
+ __convert_low_%out_value = slt %value, 0
491
+ br __convert_low_%out_value -> L_CONVERT_SAT_I64_TO_U8_MIN_%out_value, L_CONVERT_SAT_I64_TO_U8_CHECK_HIGH_%out_value
492
+ L_CONVERT_SAT_I64_TO_U8_MIN_%out_value:
493
+ %out_value = add 0, 0
494
+ jmp L_CONVERT_SAT_I64_TO_U8_END_%out_value
495
+ L_CONVERT_SAT_I64_TO_U8_CHECK_HIGH_%out_value:
496
+ __convert_high_%out_value = sgt %value, CONVERT_U8_MAX
497
+ br __convert_high_%out_value -> L_CONVERT_SAT_I64_TO_U8_MAX_%out_value, L_CONVERT_SAT_I64_TO_U8_VALUE_%out_value
498
+ L_CONVERT_SAT_I64_TO_U8_MAX_%out_value:
499
+ %out_value = add 0, CONVERT_U8_MAX
500
+ !__convert_high_%out_value
501
+ jmp L_CONVERT_SAT_I64_TO_U8_END_%out_value
502
+ L_CONVERT_SAT_I64_TO_U8_VALUE_%out_value:
503
+ %out_value = add %value, 0
504
+ !__convert_high_%out_value
505
+ L_CONVERT_SAT_I64_TO_U8_END_%out_value:
506
+ !__convert_low_%out_value
507
+ [END_MACRO]
508
+
509
+ [MACRO] CONVERT_SAT_I64_TO_U16 %out_value, %value
510
+ __convert_low_%out_value = slt %value, 0
511
+ br __convert_low_%out_value -> L_CONVERT_SAT_I64_TO_U16_MIN_%out_value, L_CONVERT_SAT_I64_TO_U16_CHECK_HIGH_%out_value
512
+ L_CONVERT_SAT_I64_TO_U16_MIN_%out_value:
513
+ %out_value = add 0, 0
514
+ jmp L_CONVERT_SAT_I64_TO_U16_END_%out_value
515
+ L_CONVERT_SAT_I64_TO_U16_CHECK_HIGH_%out_value:
516
+ __convert_high_%out_value = sgt %value, CONVERT_U16_MAX
517
+ br __convert_high_%out_value -> L_CONVERT_SAT_I64_TO_U16_MAX_%out_value, L_CONVERT_SAT_I64_TO_U16_VALUE_%out_value
518
+ L_CONVERT_SAT_I64_TO_U16_MAX_%out_value:
519
+ %out_value = add 0, CONVERT_U16_MAX
520
+ !__convert_high_%out_value
521
+ jmp L_CONVERT_SAT_I64_TO_U16_END_%out_value
522
+ L_CONVERT_SAT_I64_TO_U16_VALUE_%out_value:
523
+ %out_value = add %value, 0
524
+ !__convert_high_%out_value
525
+ L_CONVERT_SAT_I64_TO_U16_END_%out_value:
526
+ !__convert_low_%out_value
527
+ [END_MACRO]
528
+
529
+ [MACRO] CONVERT_SAT_I64_TO_U32 %out_value, %value
530
+ __convert_low_%out_value = slt %value, 0
531
+ br __convert_low_%out_value -> L_CONVERT_SAT_I64_TO_U32_MIN_%out_value, L_CONVERT_SAT_I64_TO_U32_CHECK_HIGH_%out_value
532
+ L_CONVERT_SAT_I64_TO_U32_MIN_%out_value:
533
+ %out_value = add 0, 0
534
+ jmp L_CONVERT_SAT_I64_TO_U32_END_%out_value
535
+ L_CONVERT_SAT_I64_TO_U32_CHECK_HIGH_%out_value:
536
+ __convert_high_%out_value = sgt %value, CONVERT_U32_MAX
537
+ br __convert_high_%out_value -> L_CONVERT_SAT_I64_TO_U32_MAX_%out_value, L_CONVERT_SAT_I64_TO_U32_VALUE_%out_value
538
+ L_CONVERT_SAT_I64_TO_U32_MAX_%out_value:
539
+ %out_value = add 0, CONVERT_U32_MAX
540
+ !__convert_high_%out_value
541
+ jmp L_CONVERT_SAT_I64_TO_U32_END_%out_value
542
+ L_CONVERT_SAT_I64_TO_U32_VALUE_%out_value:
543
+ %out_value = add %value, 0
544
+ !__convert_high_%out_value
545
+ L_CONVERT_SAT_I64_TO_U32_END_%out_value:
546
+ !__convert_low_%out_value
547
+ [END_MACRO]
548
+
549
+ [MACRO] CONVERT_SAT_I64_TO_I8 %out_value, %value
550
+ __convert_low_%out_value = slt %value, CONVERT_I8_MIN
551
+ br __convert_low_%out_value -> L_CONVERT_SAT_I64_TO_I8_MIN_%out_value, L_CONVERT_SAT_I64_TO_I8_CHECK_HIGH_%out_value
552
+ L_CONVERT_SAT_I64_TO_I8_MIN_%out_value:
553
+ %out_value = add 0, CONVERT_I8_MIN
554
+ jmp L_CONVERT_SAT_I64_TO_I8_END_%out_value
555
+ L_CONVERT_SAT_I64_TO_I8_CHECK_HIGH_%out_value:
556
+ __convert_high_%out_value = sgt %value, CONVERT_I8_MAX
557
+ br __convert_high_%out_value -> L_CONVERT_SAT_I64_TO_I8_MAX_%out_value, L_CONVERT_SAT_I64_TO_I8_VALUE_%out_value
558
+ L_CONVERT_SAT_I64_TO_I8_MAX_%out_value:
559
+ %out_value = add 0, CONVERT_I8_MAX
560
+ !__convert_high_%out_value
561
+ jmp L_CONVERT_SAT_I64_TO_I8_END_%out_value
562
+ L_CONVERT_SAT_I64_TO_I8_VALUE_%out_value:
563
+ %out_value = add %value, 0
564
+ !__convert_high_%out_value
565
+ L_CONVERT_SAT_I64_TO_I8_END_%out_value:
566
+ !__convert_low_%out_value
567
+ [END_MACRO]
568
+
569
+ [MACRO] CONVERT_SAT_I64_TO_I16 %out_value, %value
570
+ __convert_low_%out_value = slt %value, CONVERT_I16_MIN
571
+ br __convert_low_%out_value -> L_CONVERT_SAT_I64_TO_I16_MIN_%out_value, L_CONVERT_SAT_I64_TO_I16_CHECK_HIGH_%out_value
572
+ L_CONVERT_SAT_I64_TO_I16_MIN_%out_value:
573
+ %out_value = add 0, CONVERT_I16_MIN
574
+ jmp L_CONVERT_SAT_I64_TO_I16_END_%out_value
575
+ L_CONVERT_SAT_I64_TO_I16_CHECK_HIGH_%out_value:
576
+ __convert_high_%out_value = sgt %value, CONVERT_I16_MAX
577
+ br __convert_high_%out_value -> L_CONVERT_SAT_I64_TO_I16_MAX_%out_value, L_CONVERT_SAT_I64_TO_I16_VALUE_%out_value
578
+ L_CONVERT_SAT_I64_TO_I16_MAX_%out_value:
579
+ %out_value = add 0, CONVERT_I16_MAX
580
+ !__convert_high_%out_value
581
+ jmp L_CONVERT_SAT_I64_TO_I16_END_%out_value
582
+ L_CONVERT_SAT_I64_TO_I16_VALUE_%out_value:
583
+ %out_value = add %value, 0
584
+ !__convert_high_%out_value
585
+ L_CONVERT_SAT_I64_TO_I16_END_%out_value:
586
+ !__convert_low_%out_value
587
+ [END_MACRO]
588
+
589
+ [MACRO] CONVERT_SAT_I64_TO_I32 %out_value, %value
590
+ __convert_low_%out_value = slt %value, CONVERT_I32_MIN
591
+ br __convert_low_%out_value -> L_CONVERT_SAT_I64_TO_I32_MIN_%out_value, L_CONVERT_SAT_I64_TO_I32_CHECK_HIGH_%out_value
592
+ L_CONVERT_SAT_I64_TO_I32_MIN_%out_value:
593
+ %out_value = add 0, CONVERT_I32_MIN
594
+ jmp L_CONVERT_SAT_I64_TO_I32_END_%out_value
595
+ L_CONVERT_SAT_I64_TO_I32_CHECK_HIGH_%out_value:
596
+ __convert_high_%out_value = sgt %value, CONVERT_I32_MAX
597
+ br __convert_high_%out_value -> L_CONVERT_SAT_I64_TO_I32_MAX_%out_value, L_CONVERT_SAT_I64_TO_I32_VALUE_%out_value
598
+ L_CONVERT_SAT_I64_TO_I32_MAX_%out_value:
599
+ %out_value = add 0, CONVERT_I32_MAX
600
+ !__convert_high_%out_value
601
+ jmp L_CONVERT_SAT_I64_TO_I32_END_%out_value
602
+ L_CONVERT_SAT_I64_TO_I32_VALUE_%out_value:
603
+ %out_value = add %value, 0
604
+ !__convert_high_%out_value
605
+ L_CONVERT_SAT_I64_TO_I32_END_%out_value:
606
+ !__convert_low_%out_value
607
+ [END_MACRO]
608
+
609
+ [MACRO] FROM_BOOL_TO_U64 %out_value, %value
610
+ EXPAND CONVERT_BOOL_TO_U64 %out_value, %value
611
+ [END_MACRO]
612
+
613
+ // Rust method-name alias over FROM_BOOL_TO_U64.
614
+ [MACRO] FROM_BOOL_TO %out_value, %value
615
+ EXPAND FROM_BOOL_TO_U64 %out_value, %value
616
+ [END_MACRO]
617
+
618
+ [MACRO] FROM_BOOL_TO_I32 %out_value, %value
619
+ EXPAND CONVERT_BOOL_TO_I32 %out_value, %value
620
+ [END_MACRO]
621
+
622
+ [MACRO] FROM_U64_TO_BOOL %out_value, %value
623
+ EXPAND CONVERT_U64_TO_BOOL %out_value, %value
624
+ [END_MACRO]
625
+
626
+ [MACRO] FROM_I64_TO_BOOL %out_value, %value
627
+ EXPAND CONVERT_I64_TO_BOOL %out_value, %value
628
+ [END_MACRO]
629
+
630
+ [MACRO] FROM_U8_TO_U64 %out_value, %value
631
+ EXPAND CONVERT_U8_TO_U64 %out_value, %value
632
+ [END_MACRO]
633
+
634
+ // Rust method-name alias over FROM_U8_TO_U64.
635
+ [MACRO] FROM_U8_TO %out_value, %value
636
+ EXPAND FROM_U8_TO_U64 %out_value, %value
637
+ [END_MACRO]
638
+
639
+ [MACRO] FROM_U8_TO_U16 %out_value, %value
640
+ EXPAND CONVERT_U8_TO_U16 %out_value, %value
641
+ [END_MACRO]
642
+
643
+ [MACRO] FROM_U8_TO_U32 %out_value, %value
644
+ EXPAND CONVERT_U8_TO_U32 %out_value, %value
645
+ [END_MACRO]
646
+
647
+ [MACRO] FROM_U8_TO_USIZE %out_value, %value
648
+ EXPAND CONVERT_U8_TO_USIZE %out_value, %value
649
+ [END_MACRO]
650
+
651
+ [MACRO] FROM_U16_TO_U64 %out_value, %value
652
+ EXPAND CONVERT_U16_TO_U64 %out_value, %value
653
+ [END_MACRO]
654
+
655
+ // Rust method-name alias over FROM_U16_TO_U64.
656
+ [MACRO] FROM_U16_TO %out_value, %value
657
+ EXPAND FROM_U16_TO_U64 %out_value, %value
658
+ [END_MACRO]
659
+
660
+ [MACRO] FROM_U16_TO_U32 %out_value, %value
661
+ EXPAND CONVERT_U16_TO_U32 %out_value, %value
662
+ [END_MACRO]
663
+
664
+ [MACRO] FROM_U16_TO_USIZE %out_value, %value
665
+ EXPAND CONVERT_U16_TO_USIZE %out_value, %value
666
+ [END_MACRO]
667
+
668
+ [MACRO] FROM_U32_TO_U64 %out_value, %value
669
+ EXPAND CONVERT_U32_TO_U64 %out_value, %value
670
+ [END_MACRO]
671
+
672
+ // Rust method-name alias over FROM_U32_TO_U64.
673
+ [MACRO] FROM_U32_TO %out_value, %value
674
+ EXPAND FROM_U32_TO_U64 %out_value, %value
675
+ [END_MACRO]
676
+
677
+ [MACRO] FROM_U32_TO_USIZE %out_value, %value
678
+ EXPAND CONVERT_U32_TO_USIZE %out_value, %value
679
+ [END_MACRO]
680
+
681
+ [MACRO] FROM_U64_TO_USIZE %out_value, %value
682
+ EXPAND CONVERT_U64_TO_USIZE %out_value, %value
683
+ [END_MACRO]
684
+
685
+ [MACRO] FROM_USIZE_TO_U64 %out_value, %value
686
+ EXPAND CONVERT_USIZE_TO_U64 %out_value, %value
687
+ [END_MACRO]
688
+
689
+ // Rust method-name alias over FROM_USIZE_TO_U64.
690
+ [MACRO] FROM_USIZE_TO %out_value, %value
691
+ EXPAND FROM_USIZE_TO_U64 %out_value, %value
692
+ [END_MACRO]
693
+
694
+ [MACRO] FROM_I8_TO_I16 %out_value, %value
695
+ EXPAND CONVERT_I8_TO_I16 %out_value, %value
696
+ [END_MACRO]
697
+
698
+ [MACRO] FROM_I8_TO_I32 %out_value, %value
699
+ EXPAND CONVERT_I8_TO_I32 %out_value, %value
700
+ [END_MACRO]
701
+
702
+ [MACRO] FROM_I8_TO_I64 %out_value, %value
703
+ EXPAND CONVERT_I8_TO_I64 %out_value, %value
704
+ [END_MACRO]
705
+
706
+ [MACRO] FROM_I8_TO_ISIZE %out_value, %value
707
+ EXPAND CONVERT_I8_TO_ISIZE %out_value, %value
708
+ [END_MACRO]
709
+
710
+ [MACRO] FROM_I16_TO_I32 %out_value, %value
711
+ EXPAND CONVERT_I16_TO_I32 %out_value, %value
712
+ [END_MACRO]
713
+
714
+ [MACRO] FROM_I16_TO_I64 %out_value, %value
715
+ EXPAND CONVERT_I16_TO_I64 %out_value, %value
716
+ [END_MACRO]
717
+
718
+ [MACRO] FROM_I16_TO_ISIZE %out_value, %value
719
+ EXPAND CONVERT_I16_TO_ISIZE %out_value, %value
720
+ [END_MACRO]
721
+
722
+ [MACRO] FROM_I32_TO_I64 %out_value, %value
723
+ EXPAND CONVERT_I32_TO_I64 %out_value, %value
724
+ [END_MACRO]
725
+
726
+ [MACRO] FROM_I32_TO_ISIZE %out_value, %value
727
+ EXPAND CONVERT_I32_TO_ISIZE %out_value, %value
728
+ [END_MACRO]
729
+
730
+ [MACRO] FROM_I64_TO_ISIZE %out_value, %value
731
+ EXPAND CONVERT_I64_TO_ISIZE %out_value, %value
732
+ [END_MACRO]
733
+
734
+ [MACRO] FROM_ISIZE_TO_I64 %out_value, %value
735
+ EXPAND CONVERT_ISIZE_TO_I64 %out_value, %value
736
+ [END_MACRO]
737
+
738
+ [MACRO] TRY_FROM_U64_TO_U8 %out_ok, %out_value, %value
739
+ EXPAND CONVERT_TRY_U64_TO_U8 %out_ok, %out_value, %value
740
+ [END_MACRO]
741
+
742
+ [MACRO] TRY_FROM_U64_TO_I8 %out_ok, %out_value, %value
743
+ EXPAND CONVERT_TRY_U64_TO_I8 %out_ok, %out_value, %value
744
+ [END_MACRO]
745
+
746
+ [MACRO] TRY_FROM_U64_TO_U16 %out_ok, %out_value, %value
747
+ EXPAND CONVERT_TRY_U64_TO_U16 %out_ok, %out_value, %value
748
+ [END_MACRO]
749
+
750
+ [MACRO] TRY_FROM_U64_TO_I16 %out_ok, %out_value, %value
751
+ EXPAND CONVERT_TRY_U64_TO_I16 %out_ok, %out_value, %value
752
+ [END_MACRO]
753
+
754
+ [MACRO] TRY_FROM_U64_TO_U32 %out_ok, %out_value, %value
755
+ EXPAND CONVERT_TRY_U64_TO_U32 %out_ok, %out_value, %value
756
+ [END_MACRO]
757
+
758
+ [MACRO] TRY_FROM_U64_TO_I32 %out_ok, %out_value, %value
759
+ EXPAND CONVERT_TRY_U64_TO_I32 %out_ok, %out_value, %value
760
+ [END_MACRO]
761
+
762
+ [MACRO] TRY_FROM_U64_TO_USIZE %out_ok, %out_value, %value
763
+ EXPAND CONVERT_TRY_U64_TO_USIZE %out_ok, %out_value, %value
764
+ [END_MACRO]
765
+
766
+ [MACRO] TRY_FROM_U64_TO_I64 %out_ok, %out_value, %value
767
+ EXPAND CONVERT_TRY_U64_TO_I64 %out_ok, %out_value, %value
768
+ [END_MACRO]
769
+
770
+ [MACRO] TRY_FROM_U64_TO_ISIZE %out_ok, %out_value, %value
771
+ EXPAND CONVERT_TRY_U64_TO_ISIZE %out_ok, %out_value, %value
772
+ [END_MACRO]
773
+
774
+ [MACRO] TRY_FROM_I64_TO_U64 %out_ok, %out_value, %value
775
+ EXPAND CONVERT_TRY_I64_TO_U64 %out_ok, %out_value, %value
776
+ [END_MACRO]
777
+
778
+ // Rust method-name alias over TRY_FROM_I64_TO_U64.
779
+ [MACRO] TRY_FROM_I64_TO %out_ok, %out_value, %value
780
+ EXPAND TRY_FROM_I64_TO_U64 %out_ok, %out_value, %value
781
+ [END_MACRO]
782
+
783
+ [MACRO] TRY_FROM_I64_TO_USIZE %out_ok, %out_value, %value
784
+ EXPAND CONVERT_TRY_I64_TO_USIZE %out_ok, %out_value, %value
785
+ [END_MACRO]
786
+
787
+ [MACRO] TRY_FROM_I64_TO_U8 %out_ok, %out_value, %value
788
+ EXPAND CONVERT_TRY_I64_TO_U8 %out_ok, %out_value, %value
789
+ [END_MACRO]
790
+
791
+ [MACRO] TRY_FROM_I64_TO_U16 %out_ok, %out_value, %value
792
+ EXPAND CONVERT_TRY_I64_TO_U16 %out_ok, %out_value, %value
793
+ [END_MACRO]
794
+
795
+ [MACRO] TRY_FROM_I64_TO_U32 %out_ok, %out_value, %value
796
+ EXPAND CONVERT_TRY_I64_TO_U32 %out_ok, %out_value, %value
797
+ [END_MACRO]
798
+
799
+ [MACRO] TRY_FROM_I64_TO_I8 %out_ok, %out_value, %value
800
+ EXPAND CONVERT_TRY_I64_TO_I8 %out_ok, %out_value, %value
801
+ [END_MACRO]
802
+
803
+ [MACRO] TRY_FROM_I64_TO_I16 %out_ok, %out_value, %value
804
+ EXPAND CONVERT_TRY_I64_TO_I16 %out_ok, %out_value, %value
805
+ [END_MACRO]
806
+
807
+ [MACRO] TRY_FROM_I64_TO_I32 %out_ok, %out_value, %value
808
+ EXPAND CONVERT_TRY_I64_TO_I32 %out_ok, %out_value, %value
809
+ [END_MACRO]
810
+
811
+ [MACRO] TRY_FROM_I64_TO_ISIZE %out_ok, %out_value, %value
812
+ EXPAND CONVERT_TRY_I64_TO_ISIZE %out_ok, %out_value, %value
813
+ [END_MACRO]
814
+
815
+ [MACRO] SAT_FROM_U64_TO_U8 %out_value, %value
816
+ EXPAND CONVERT_SAT_U64_TO_U8 %out_value, %value
817
+ [END_MACRO]
818
+
819
+ [MACRO] SAT_FROM_U64_TO_I8 %out_value, %value
820
+ EXPAND CONVERT_SAT_U64_TO_I8 %out_value, %value
821
+ [END_MACRO]
822
+
823
+ [MACRO] SAT_FROM_U64_TO_U16 %out_value, %value
824
+ EXPAND CONVERT_SAT_U64_TO_U16 %out_value, %value
825
+ [END_MACRO]
826
+
827
+ [MACRO] SAT_FROM_U64_TO_I16 %out_value, %value
828
+ EXPAND CONVERT_SAT_U64_TO_I16 %out_value, %value
829
+ [END_MACRO]
830
+
831
+ [MACRO] SAT_FROM_U64_TO_U32 %out_value, %value
832
+ EXPAND CONVERT_SAT_U64_TO_U32 %out_value, %value
833
+ [END_MACRO]
834
+
835
+ [MACRO] SAT_FROM_U64_TO_I32 %out_value, %value
836
+ EXPAND CONVERT_SAT_U64_TO_I32 %out_value, %value
837
+ [END_MACRO]
838
+
839
+ [MACRO] SAT_FROM_I64_TO_U8 %out_value, %value
840
+ EXPAND CONVERT_SAT_I64_TO_U8 %out_value, %value
841
+ [END_MACRO]
842
+
843
+ [MACRO] SAT_FROM_I64_TO_U16 %out_value, %value
844
+ EXPAND CONVERT_SAT_I64_TO_U16 %out_value, %value
845
+ [END_MACRO]
846
+
847
+ [MACRO] SAT_FROM_I64_TO_U32 %out_value, %value
848
+ EXPAND CONVERT_SAT_I64_TO_U32 %out_value, %value
849
+ [END_MACRO]
850
+
851
+ [MACRO] SAT_FROM_I64_TO_I8 %out_value, %value
852
+ EXPAND CONVERT_SAT_I64_TO_I8 %out_value, %value
853
+ [END_MACRO]
854
+
855
+ [MACRO] SAT_FROM_I64_TO_I16 %out_value, %value
856
+ EXPAND CONVERT_SAT_I64_TO_I16 %out_value, %value
857
+ [END_MACRO]
858
+
859
+ [MACRO] SAT_FROM_I64_TO_I32 %out_value, %value
860
+ EXPAND CONVERT_SAT_I64_TO_I32 %out_value, %value
861
+ [END_MACRO]
862
+
863
+ [MACRO] INTO_BOOL_TO_U64 %out_value, %value
864
+ EXPAND FROM_BOOL_TO_U64 %out_value, %value
865
+ [END_MACRO]
866
+
867
+ // Rust method-name alias over INTO_BOOL_TO_U64.
868
+ [MACRO] INTO_BOOL_TO %out_value, %value
869
+ EXPAND INTO_BOOL_TO_U64 %out_value, %value
870
+ [END_MACRO]
871
+
872
+ [MACRO] INTO_BOOL_TO_I32 %out_value, %value
873
+ EXPAND FROM_BOOL_TO_I32 %out_value, %value
874
+ [END_MACRO]
875
+
876
+ [MACRO] INTO_U64_TO_BOOL %out_value, %value
877
+ EXPAND FROM_U64_TO_BOOL %out_value, %value
878
+ [END_MACRO]
879
+
880
+ [MACRO] INTO_I64_TO_BOOL %out_value, %value
881
+ EXPAND FROM_I64_TO_BOOL %out_value, %value
882
+ [END_MACRO]
883
+
884
+ [MACRO] INTO_U8_TO_U64 %out_value, %value
885
+ EXPAND FROM_U8_TO_U64 %out_value, %value
886
+ [END_MACRO]
887
+
888
+ // Rust method-name alias over INTO_U8_TO_U64.
889
+ [MACRO] INTO_U8_TO %out_value, %value
890
+ EXPAND INTO_U8_TO_U64 %out_value, %value
891
+ [END_MACRO]
892
+
893
+ [MACRO] INTO_U8_TO_U16 %out_value, %value
894
+ EXPAND FROM_U8_TO_U16 %out_value, %value
895
+ [END_MACRO]
896
+
897
+ [MACRO] INTO_U8_TO_U32 %out_value, %value
898
+ EXPAND FROM_U8_TO_U32 %out_value, %value
899
+ [END_MACRO]
900
+
901
+ [MACRO] INTO_U8_TO_USIZE %out_value, %value
902
+ EXPAND FROM_U8_TO_USIZE %out_value, %value
903
+ [END_MACRO]
904
+
905
+ [MACRO] INTO_U16_TO_U64 %out_value, %value
906
+ EXPAND FROM_U16_TO_U64 %out_value, %value
907
+ [END_MACRO]
908
+
909
+ // Rust method-name alias over INTO_U16_TO_U64.
910
+ [MACRO] INTO_U16_TO %out_value, %value
911
+ EXPAND INTO_U16_TO_U64 %out_value, %value
912
+ [END_MACRO]
913
+
914
+ [MACRO] INTO_U16_TO_U32 %out_value, %value
915
+ EXPAND FROM_U16_TO_U32 %out_value, %value
916
+ [END_MACRO]
917
+
918
+ [MACRO] INTO_U16_TO_USIZE %out_value, %value
919
+ EXPAND FROM_U16_TO_USIZE %out_value, %value
920
+ [END_MACRO]
921
+
922
+ [MACRO] INTO_U32_TO_U64 %out_value, %value
923
+ EXPAND FROM_U32_TO_U64 %out_value, %value
924
+ [END_MACRO]
925
+
926
+ // Rust method-name alias over INTO_U32_TO_U64.
927
+ [MACRO] INTO_U32_TO %out_value, %value
928
+ EXPAND INTO_U32_TO_U64 %out_value, %value
929
+ [END_MACRO]
930
+
931
+ [MACRO] INTO_U32_TO_USIZE %out_value, %value
932
+ EXPAND FROM_U32_TO_USIZE %out_value, %value
933
+ [END_MACRO]
934
+
935
+ [MACRO] INTO_U64_TO_USIZE %out_value, %value
936
+ EXPAND FROM_U64_TO_USIZE %out_value, %value
937
+ [END_MACRO]
938
+
939
+ [MACRO] INTO_USIZE_TO_U64 %out_value, %value
940
+ EXPAND FROM_USIZE_TO_U64 %out_value, %value
941
+ [END_MACRO]
942
+
943
+ // Rust method-name alias over INTO_USIZE_TO_U64.
944
+ [MACRO] INTO_USIZE_TO %out_value, %value
945
+ EXPAND INTO_USIZE_TO_U64 %out_value, %value
946
+ [END_MACRO]
947
+
948
+ [MACRO] INTO_I8_TO_I16 %out_value, %value
949
+ EXPAND FROM_I8_TO_I16 %out_value, %value
950
+ [END_MACRO]
951
+
952
+ [MACRO] INTO_I8_TO_I32 %out_value, %value
953
+ EXPAND FROM_I8_TO_I32 %out_value, %value
954
+ [END_MACRO]
955
+
956
+ [MACRO] INTO_I8_TO_I64 %out_value, %value
957
+ EXPAND FROM_I8_TO_I64 %out_value, %value
958
+ [END_MACRO]
959
+
960
+ [MACRO] INTO_I8_TO_ISIZE %out_value, %value
961
+ EXPAND FROM_I8_TO_ISIZE %out_value, %value
962
+ [END_MACRO]
963
+
964
+ [MACRO] INTO_I16_TO_I32 %out_value, %value
965
+ EXPAND FROM_I16_TO_I32 %out_value, %value
966
+ [END_MACRO]
967
+
968
+ [MACRO] INTO_I16_TO_I64 %out_value, %value
969
+ EXPAND FROM_I16_TO_I64 %out_value, %value
970
+ [END_MACRO]
971
+
972
+ [MACRO] INTO_I16_TO_ISIZE %out_value, %value
973
+ EXPAND FROM_I16_TO_ISIZE %out_value, %value
974
+ [END_MACRO]
975
+
976
+ [MACRO] INTO_I32_TO_I64 %out_value, %value
977
+ EXPAND FROM_I32_TO_I64 %out_value, %value
978
+ [END_MACRO]
979
+
980
+ [MACRO] INTO_I32_TO_ISIZE %out_value, %value
981
+ EXPAND FROM_I32_TO_ISIZE %out_value, %value
982
+ [END_MACRO]
983
+
984
+ [MACRO] INTO_I64_TO_ISIZE %out_value, %value
985
+ EXPAND FROM_I64_TO_ISIZE %out_value, %value
986
+ [END_MACRO]
987
+
988
+ [MACRO] INTO_ISIZE_TO_I64 %out_value, %value
989
+ EXPAND FROM_ISIZE_TO_I64 %out_value, %value
990
+ [END_MACRO]
991
+
992
+ [MACRO] TRY_INTO_U64_TO_U8 %out_ok, %out_value, %value
993
+ EXPAND TRY_FROM_U64_TO_U8 %out_ok, %out_value, %value
994
+ [END_MACRO]
995
+
996
+ [MACRO] TRY_INTO_U64_TO_I8 %out_ok, %out_value, %value
997
+ EXPAND TRY_FROM_U64_TO_I8 %out_ok, %out_value, %value
998
+ [END_MACRO]
999
+
1000
+ [MACRO] TRY_INTO_U64_TO_U16 %out_ok, %out_value, %value
1001
+ EXPAND TRY_FROM_U64_TO_U16 %out_ok, %out_value, %value
1002
+ [END_MACRO]
1003
+
1004
+ [MACRO] TRY_INTO_U64_TO_I16 %out_ok, %out_value, %value
1005
+ EXPAND TRY_FROM_U64_TO_I16 %out_ok, %out_value, %value
1006
+ [END_MACRO]
1007
+
1008
+ [MACRO] TRY_INTO_U64_TO_U32 %out_ok, %out_value, %value
1009
+ EXPAND TRY_FROM_U64_TO_U32 %out_ok, %out_value, %value
1010
+ [END_MACRO]
1011
+
1012
+ [MACRO] TRY_INTO_U64_TO_I32 %out_ok, %out_value, %value
1013
+ EXPAND TRY_FROM_U64_TO_I32 %out_ok, %out_value, %value
1014
+ [END_MACRO]
1015
+
1016
+ [MACRO] TRY_INTO_U64_TO_USIZE %out_ok, %out_value, %value
1017
+ EXPAND TRY_FROM_U64_TO_USIZE %out_ok, %out_value, %value
1018
+ [END_MACRO]
1019
+
1020
+ [MACRO] TRY_INTO_U64_TO_I64 %out_ok, %out_value, %value
1021
+ EXPAND TRY_FROM_U64_TO_I64 %out_ok, %out_value, %value
1022
+ [END_MACRO]
1023
+
1024
+ [MACRO] TRY_INTO_U64_TO_ISIZE %out_ok, %out_value, %value
1025
+ EXPAND TRY_FROM_U64_TO_ISIZE %out_ok, %out_value, %value
1026
+ [END_MACRO]
1027
+
1028
+ [MACRO] TRY_INTO_I64_TO_U64 %out_ok, %out_value, %value
1029
+ EXPAND TRY_FROM_I64_TO_U64 %out_ok, %out_value, %value
1030
+ [END_MACRO]
1031
+
1032
+ // Rust method-name alias over TRY_INTO_I64_TO_U64.
1033
+ [MACRO] TRY_INTO_I64_TO %out_ok, %out_value, %value
1034
+ EXPAND TRY_INTO_I64_TO_U64 %out_ok, %out_value, %value
1035
+ [END_MACRO]
1036
+
1037
+ [MACRO] TRY_INTO_I64_TO_USIZE %out_ok, %out_value, %value
1038
+ EXPAND TRY_FROM_I64_TO_USIZE %out_ok, %out_value, %value
1039
+ [END_MACRO]
1040
+
1041
+ [MACRO] TRY_INTO_I64_TO_U8 %out_ok, %out_value, %value
1042
+ EXPAND TRY_FROM_I64_TO_U8 %out_ok, %out_value, %value
1043
+ [END_MACRO]
1044
+
1045
+ [MACRO] TRY_INTO_I64_TO_U16 %out_ok, %out_value, %value
1046
+ EXPAND TRY_FROM_I64_TO_U16 %out_ok, %out_value, %value
1047
+ [END_MACRO]
1048
+
1049
+ [MACRO] TRY_INTO_I64_TO_U32 %out_ok, %out_value, %value
1050
+ EXPAND TRY_FROM_I64_TO_U32 %out_ok, %out_value, %value
1051
+ [END_MACRO]
1052
+
1053
+ [MACRO] TRY_INTO_I64_TO_I8 %out_ok, %out_value, %value
1054
+ EXPAND TRY_FROM_I64_TO_I8 %out_ok, %out_value, %value
1055
+ [END_MACRO]
1056
+
1057
+ [MACRO] TRY_INTO_I64_TO_I16 %out_ok, %out_value, %value
1058
+ EXPAND TRY_FROM_I64_TO_I16 %out_ok, %out_value, %value
1059
+ [END_MACRO]
1060
+
1061
+ [MACRO] TRY_INTO_I64_TO_I32 %out_ok, %out_value, %value
1062
+ EXPAND TRY_FROM_I64_TO_I32 %out_ok, %out_value, %value
1063
+ [END_MACRO]
1064
+
1065
+ [MACRO] TRY_INTO_I64_TO_ISIZE %out_ok, %out_value, %value
1066
+ EXPAND TRY_FROM_I64_TO_ISIZE %out_ok, %out_value, %value
1067
+ [END_MACRO]
1068
+
1069
+ [MACRO] SAT_INTO_U64_TO_U8 %out_value, %value
1070
+ EXPAND SAT_FROM_U64_TO_U8 %out_value, %value
1071
+ [END_MACRO]
1072
+
1073
+ [MACRO] SAT_INTO_U64_TO_I8 %out_value, %value
1074
+ EXPAND SAT_FROM_U64_TO_I8 %out_value, %value
1075
+ [END_MACRO]
1076
+
1077
+ [MACRO] SAT_INTO_U64_TO_U16 %out_value, %value
1078
+ EXPAND SAT_FROM_U64_TO_U16 %out_value, %value
1079
+ [END_MACRO]
1080
+
1081
+ [MACRO] SAT_INTO_U64_TO_I16 %out_value, %value
1082
+ EXPAND SAT_FROM_U64_TO_I16 %out_value, %value
1083
+ [END_MACRO]
1084
+
1085
+ [MACRO] SAT_INTO_U64_TO_U32 %out_value, %value
1086
+ EXPAND SAT_FROM_U64_TO_U32 %out_value, %value
1087
+ [END_MACRO]
1088
+
1089
+ [MACRO] SAT_INTO_U64_TO_I32 %out_value, %value
1090
+ EXPAND SAT_FROM_U64_TO_I32 %out_value, %value
1091
+ [END_MACRO]
1092
+
1093
+ [MACRO] SAT_INTO_I64_TO_U8 %out_value, %value
1094
+ EXPAND SAT_FROM_I64_TO_U8 %out_value, %value
1095
+ [END_MACRO]
1096
+
1097
+ [MACRO] SAT_INTO_I64_TO_U16 %out_value, %value
1098
+ EXPAND SAT_FROM_I64_TO_U16 %out_value, %value
1099
+ [END_MACRO]
1100
+
1101
+ [MACRO] SAT_INTO_I64_TO_U32 %out_value, %value
1102
+ EXPAND SAT_FROM_I64_TO_U32 %out_value, %value
1103
+ [END_MACRO]
1104
+
1105
+ [MACRO] SAT_INTO_I64_TO_I8 %out_value, %value
1106
+ EXPAND SAT_FROM_I64_TO_I8 %out_value, %value
1107
+ [END_MACRO]
1108
+
1109
+ [MACRO] SAT_INTO_I64_TO_I16 %out_value, %value
1110
+ EXPAND SAT_FROM_I64_TO_I16 %out_value, %value
1111
+ [END_MACRO]
1112
+
1113
+ [MACRO] SAT_INTO_I64_TO_I32 %out_value, %value
1114
+ EXPAND SAT_FROM_I64_TO_I32 %out_value, %value
1115
+ [END_MACRO]