Commit 7fe39c4e96

Veikka Tuominen <git@vexu.eu>
2021-05-06 08:32:29
update usage of std.testing in compiler_rt
1 parent 42a9519
lib/std/special/compiler_rt/addXf3_test.zig
@@ -13,7 +13,7 @@ const inf128 = @bitCast(f128, @as(u128, 0x7fff000000000000) << 64);
 
 const __addtf3 = @import("addXf3.zig").__addtf3;
 
-fn test__addtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) void {
+fn test__addtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) !void {
     const x = __addtf3(a, b);
 
     const rep = @bitCast(u128, x);
@@ -32,28 +32,28 @@ fn test__addtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) void {
         }
     }
 
-    @panic("__addtf3 test failure");
+    return error.TestFailed;
 }
 
 test "addtf3" {
-    test__addtf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);
+    try test__addtf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);
 
     // NaN + any = NaN
-    test__addtf3(@bitCast(f128, (@as(u128, 0x7fff000000000000) << 64) | @as(u128, 0x800030000000)), 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);
+    try test__addtf3(@bitCast(f128, (@as(u128, 0x7fff000000000000) << 64) | @as(u128, 0x800030000000)), 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);
 
     // inf + inf = inf
-    test__addtf3(inf128, inf128, 0x7fff000000000000, 0x0);
+    try test__addtf3(inf128, inf128, 0x7fff000000000000, 0x0);
 
     // inf + any = inf
-    test__addtf3(inf128, 0x1.2335653452436234723489432abcdefp+5, 0x7fff000000000000, 0x0);
+    try test__addtf3(inf128, 0x1.2335653452436234723489432abcdefp+5, 0x7fff000000000000, 0x0);
 
     // any + any
-    test__addtf3(0x1.23456734245345543849abcdefp+5, 0x1.edcba52449872455634654321fp-1, 0x40042afc95c8b579, 0x61e58dd6c51eb77c);
+    try test__addtf3(0x1.23456734245345543849abcdefp+5, 0x1.edcba52449872455634654321fp-1, 0x40042afc95c8b579, 0x61e58dd6c51eb77c);
 }
 
 const __subtf3 = @import("addXf3.zig").__subtf3;
 
-fn test__subtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) void {
+fn test__subtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) !void {
     const x = __subtf3(a, b);
 
     const rep = @bitCast(u128, x);
@@ -72,19 +72,19 @@ fn test__subtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) void {
         }
     }
 
-    @panic("__subtf3 test failure");
+    return error.TestFailed;
 }
 
 test "subtf3" {
     // qNaN - any = qNaN
-    test__subtf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);
+    try test__subtf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);
 
     // NaN + any = NaN
-    test__subtf3(@bitCast(f128, (@as(u128, 0x7fff000000000000) << 64) | @as(u128, 0x800030000000)), 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);
+    try test__subtf3(@bitCast(f128, (@as(u128, 0x7fff000000000000) << 64) | @as(u128, 0x800030000000)), 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);
 
     // inf - any = inf
-    test__subtf3(inf128, 0x1.23456789abcdefp+5, 0x7fff000000000000, 0x0);
+    try test__subtf3(inf128, 0x1.23456789abcdefp+5, 0x7fff000000000000, 0x0);
 
     // any + any
-    test__subtf3(0x1.234567829a3bcdef5678ade36734p+5, 0x1.ee9d7c52354a6936ab8d7654321fp-1, 0x40041b8af1915166, 0xa44a7bca780a166c);
+    try test__subtf3(0x1.234567829a3bcdef5678ade36734p+5, 0x1.ee9d7c52354a6936ab8d7654321fp-1, 0x40041b8af1915166, 0xa44a7bca780a166c);
 }
lib/std/special/compiler_rt/ashldi3_test.zig
@@ -6,32 +6,32 @@
 const __ashldi3 = @import("shift.zig").__ashldi3;
 const testing = @import("std").testing;
 
-fn test__ashldi3(a: i64, b: i32, expected: u64) void {
+fn test__ashldi3(a: i64, b: i32, expected: u64) !void {
     const x = __ashldi3(a, b);
-    testing.expectEqual(@bitCast(i64, expected), x);
+    try testing.expectEqual(@bitCast(i64, expected), x);
 }
 
 test "ashldi3" {
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 0, 0x123456789ABCDEF);
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 1, 0x2468ACF13579BDE);
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 2, 0x48D159E26AF37BC);
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 3, 0x91A2B3C4D5E6F78);
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 4, 0x123456789ABCDEF0);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 0, 0x123456789ABCDEF);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 1, 0x2468ACF13579BDE);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 2, 0x48D159E26AF37BC);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 3, 0x91A2B3C4D5E6F78);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 4, 0x123456789ABCDEF0);
 
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 28, 0x789ABCDEF0000000);
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 29, 0xF13579BDE0000000);
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 30, 0xE26AF37BC0000000);
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 31, 0xC4D5E6F780000000);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 28, 0x789ABCDEF0000000);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 29, 0xF13579BDE0000000);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 30, 0xE26AF37BC0000000);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 31, 0xC4D5E6F780000000);
 
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 32, 0x89ABCDEF00000000);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 32, 0x89ABCDEF00000000);
 
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 33, 0x13579BDE00000000);
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 34, 0x26AF37BC00000000);
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 35, 0x4D5E6F7800000000);
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 36, 0x9ABCDEF000000000);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 33, 0x13579BDE00000000);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 34, 0x26AF37BC00000000);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 35, 0x4D5E6F7800000000);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 36, 0x9ABCDEF000000000);
 
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 60, 0xF000000000000000);
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 61, 0xE000000000000000);
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 62, 0xC000000000000000);
-    test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 63, 0x8000000000000000);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 60, 0xF000000000000000);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 61, 0xE000000000000000);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 62, 0xC000000000000000);
+    try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 63, 0x8000000000000000);
 }
lib/std/special/compiler_rt/ashlti3_test.zig
@@ -6,46 +6,46 @@
 const __ashlti3 = @import("shift.zig").__ashlti3;
 const testing = @import("std").testing;
 
-fn test__ashlti3(a: i128, b: i32, expected: i128) void {
+fn test__ashlti3(a: i128, b: i32, expected: i128) !void {
     const x = __ashlti3(a, b);
-    testing.expectEqual(expected, x);
+    try testing.expectEqual(expected, x);
 }
 
 test "ashlti3" {
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 0, @bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 1, @bitCast(i128, @intCast(u128, 0xFDB97530ECA8642BFDB97530ECA8642A)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 2, @bitCast(i128, @intCast(u128, 0xFB72EA61D950C857FB72EA61D950C854)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 3, @bitCast(i128, @intCast(u128, 0xF6E5D4C3B2A190AFF6E5D4C3B2A190A8)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 4, @bitCast(i128, @intCast(u128, 0xEDCBA9876543215FEDCBA98765432150)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 28, @bitCast(i128, @intCast(u128, 0x876543215FEDCBA98765432150000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 29, @bitCast(i128, @intCast(u128, 0x0ECA8642BFDB97530ECA8642A0000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 30, @bitCast(i128, @intCast(u128, 0x1D950C857FB72EA61D950C8540000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 31, @bitCast(i128, @intCast(u128, 0x3B2A190AFF6E5D4C3B2A190A80000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 32, @bitCast(i128, @intCast(u128, 0x76543215FEDCBA987654321500000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 33, @bitCast(i128, @intCast(u128, 0xECA8642BFDB97530ECA8642A00000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 34, @bitCast(i128, @intCast(u128, 0xD950C857FB72EA61D950C85400000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 35, @bitCast(i128, @intCast(u128, 0xB2A190AFF6E5D4C3B2A190A800000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 36, @bitCast(i128, @intCast(u128, 0x6543215FEDCBA9876543215000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 60, @bitCast(i128, @intCast(u128, 0x5FEDCBA9876543215000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 61, @bitCast(i128, @intCast(u128, 0xBFDB97530ECA8642A000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 62, @bitCast(i128, @intCast(u128, 0x7FB72EA61D950C854000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 63, @bitCast(i128, @intCast(u128, 0xFF6E5D4C3B2A190A8000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 64, @bitCast(i128, @intCast(u128, 0xFEDCBA98765432150000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 65, @bitCast(i128, @intCast(u128, 0xFDB97530ECA8642A0000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 66, @bitCast(i128, @intCast(u128, 0xFB72EA61D950C8540000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 67, @bitCast(i128, @intCast(u128, 0xF6E5D4C3B2A190A80000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 68, @bitCast(i128, @intCast(u128, 0xEDCBA987654321500000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 92, @bitCast(i128, @intCast(u128, 0x87654321500000000000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 93, @bitCast(i128, @intCast(u128, 0x0ECA8642A00000000000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 94, @bitCast(i128, @intCast(u128, 0x1D950C85400000000000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 95, @bitCast(i128, @intCast(u128, 0x3B2A190A800000000000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 96, @bitCast(i128, @intCast(u128, 0x76543215000000000000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 97, @bitCast(i128, @intCast(u128, 0xECA8642A000000000000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 98, @bitCast(i128, @intCast(u128, 0xD950C854000000000000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 99, @bitCast(i128, @intCast(u128, 0xB2A190A8000000000000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 100, @bitCast(i128, @intCast(u128, 0x65432150000000000000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 124, @bitCast(i128, @intCast(u128, 0x50000000000000000000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 125, @bitCast(i128, @intCast(u128, 0xA0000000000000000000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 126, @bitCast(i128, @intCast(u128, 0x40000000000000000000000000000000)));
-    test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 127, @bitCast(i128, @intCast(u128, 0x80000000000000000000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 0, @bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 1, @bitCast(i128, @intCast(u128, 0xFDB97530ECA8642BFDB97530ECA8642A)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 2, @bitCast(i128, @intCast(u128, 0xFB72EA61D950C857FB72EA61D950C854)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 3, @bitCast(i128, @intCast(u128, 0xF6E5D4C3B2A190AFF6E5D4C3B2A190A8)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 4, @bitCast(i128, @intCast(u128, 0xEDCBA9876543215FEDCBA98765432150)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 28, @bitCast(i128, @intCast(u128, 0x876543215FEDCBA98765432150000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 29, @bitCast(i128, @intCast(u128, 0x0ECA8642BFDB97530ECA8642A0000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 30, @bitCast(i128, @intCast(u128, 0x1D950C857FB72EA61D950C8540000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 31, @bitCast(i128, @intCast(u128, 0x3B2A190AFF6E5D4C3B2A190A80000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 32, @bitCast(i128, @intCast(u128, 0x76543215FEDCBA987654321500000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 33, @bitCast(i128, @intCast(u128, 0xECA8642BFDB97530ECA8642A00000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 34, @bitCast(i128, @intCast(u128, 0xD950C857FB72EA61D950C85400000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 35, @bitCast(i128, @intCast(u128, 0xB2A190AFF6E5D4C3B2A190A800000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 36, @bitCast(i128, @intCast(u128, 0x6543215FEDCBA9876543215000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 60, @bitCast(i128, @intCast(u128, 0x5FEDCBA9876543215000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 61, @bitCast(i128, @intCast(u128, 0xBFDB97530ECA8642A000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 62, @bitCast(i128, @intCast(u128, 0x7FB72EA61D950C854000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 63, @bitCast(i128, @intCast(u128, 0xFF6E5D4C3B2A190A8000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 64, @bitCast(i128, @intCast(u128, 0xFEDCBA98765432150000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 65, @bitCast(i128, @intCast(u128, 0xFDB97530ECA8642A0000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 66, @bitCast(i128, @intCast(u128, 0xFB72EA61D950C8540000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 67, @bitCast(i128, @intCast(u128, 0xF6E5D4C3B2A190A80000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 68, @bitCast(i128, @intCast(u128, 0xEDCBA987654321500000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 92, @bitCast(i128, @intCast(u128, 0x87654321500000000000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 93, @bitCast(i128, @intCast(u128, 0x0ECA8642A00000000000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 94, @bitCast(i128, @intCast(u128, 0x1D950C85400000000000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 95, @bitCast(i128, @intCast(u128, 0x3B2A190A800000000000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 96, @bitCast(i128, @intCast(u128, 0x76543215000000000000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 97, @bitCast(i128, @intCast(u128, 0xECA8642A000000000000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 98, @bitCast(i128, @intCast(u128, 0xD950C854000000000000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 99, @bitCast(i128, @intCast(u128, 0xB2A190A8000000000000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 100, @bitCast(i128, @intCast(u128, 0x65432150000000000000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 124, @bitCast(i128, @intCast(u128, 0x50000000000000000000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 125, @bitCast(i128, @intCast(u128, 0xA0000000000000000000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 126, @bitCast(i128, @intCast(u128, 0x40000000000000000000000000000000)));
+    try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 127, @bitCast(i128, @intCast(u128, 0x80000000000000000000000000000000)));
 }
lib/std/special/compiler_rt/ashrdi3_test.zig
@@ -6,55 +6,55 @@
 const __ashrdi3 = @import("shift.zig").__ashrdi3;
 const testing = @import("std").testing;
 
-fn test__ashrdi3(a: i64, b: i32, expected: u64) void {
+fn test__ashrdi3(a: i64, b: i32, expected: u64) !void {
     const x = __ashrdi3(a, b);
-    testing.expectEqual(@bitCast(i64, expected), x);
+    try testing.expectEqual(@bitCast(i64, expected), x);
 }
 
 test "ashrdi3" {
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 0, 0x123456789ABCDEF);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 1, 0x91A2B3C4D5E6F7);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 2, 0x48D159E26AF37B);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 3, 0x2468ACF13579BD);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 4, 0x123456789ABCDE);
-
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 28, 0x12345678);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 29, 0x91A2B3C);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 30, 0x48D159E);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 31, 0x2468ACF);
-
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 32, 0x1234567);
-
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 33, 0x91A2B3);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 34, 0x48D159);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 35, 0x2468AC);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 36, 0x123456);
-
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 60, 0);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 61, 0);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 62, 0);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 63, 0);
-
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 0, 0xFEDCBA9876543210);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 1, 0xFF6E5D4C3B2A1908);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 2, 0xFFB72EA61D950C84);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 3, 0xFFDB97530ECA8642);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 4, 0xFFEDCBA987654321);
-
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 28, 0xFFFFFFFFEDCBA987);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 29, 0xFFFFFFFFF6E5D4C3);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 30, 0xFFFFFFFFFB72EA61);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 31, 0xFFFFFFFFFDB97530);
-
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 32, 0xFFFFFFFFFEDCBA98);
-
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 33, 0xFFFFFFFFFF6E5D4C);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 34, 0xFFFFFFFFFFB72EA6);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 35, 0xFFFFFFFFFFDB9753);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 36, 0xFFFFFFFFFFEDCBA9);
-
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 60, 0xFFFFFFFFFFFFFFFA);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 61, 0xFFFFFFFFFFFFFFFD);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 62, 0xFFFFFFFFFFFFFFFE);
-    test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 63, 0xFFFFFFFFFFFFFFFF);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 0, 0x123456789ABCDEF);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 1, 0x91A2B3C4D5E6F7);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 2, 0x48D159E26AF37B);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 3, 0x2468ACF13579BD);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 4, 0x123456789ABCDE);
+
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 28, 0x12345678);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 29, 0x91A2B3C);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 30, 0x48D159E);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 31, 0x2468ACF);
+
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 32, 0x1234567);
+
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 33, 0x91A2B3);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 34, 0x48D159);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 35, 0x2468AC);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 36, 0x123456);
+
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 60, 0);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 61, 0);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 62, 0);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 63, 0);
+
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 0, 0xFEDCBA9876543210);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 1, 0xFF6E5D4C3B2A1908);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 2, 0xFFB72EA61D950C84);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 3, 0xFFDB97530ECA8642);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 4, 0xFFEDCBA987654321);
+
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 28, 0xFFFFFFFFEDCBA987);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 29, 0xFFFFFFFFF6E5D4C3);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 30, 0xFFFFFFFFFB72EA61);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 31, 0xFFFFFFFFFDB97530);
+
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 32, 0xFFFFFFFFFEDCBA98);
+
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 33, 0xFFFFFFFFFF6E5D4C);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 34, 0xFFFFFFFFFFB72EA6);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 35, 0xFFFFFFFFFFDB9753);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 36, 0xFFFFFFFFFFEDCBA9);
+
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 60, 0xFFFFFFFFFFFFFFFA);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 61, 0xFFFFFFFFFFFFFFFD);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 62, 0xFFFFFFFFFFFFFFFE);
+    try test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 63, 0xFFFFFFFFFFFFFFFF);
 }
lib/std/special/compiler_rt/ashrti3_test.zig
@@ -6,56 +6,56 @@
 const __ashrti3 = @import("shift.zig").__ashrti3;
 const testing = @import("std").testing;
 
-fn test__ashrti3(a: i128, b: i32, expected: i128) void {
+fn test__ashrti3(a: i128, b: i32, expected: i128) !void {
     const x = __ashrti3(a, b);
-    testing.expectEqual(expected, x);
+    try testing.expectEqual(expected, x);
 }
 
 test "ashrti3" {
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 0, @bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 1, @bitCast(i128, @intCast(u128, 0xFF6E5D4C3B2A190AFF6E5D4C3B2A190A)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 2, @bitCast(i128, @intCast(u128, 0xFFB72EA61D950C857FB72EA61D950C85)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 3, @bitCast(i128, @intCast(u128, 0xFFDB97530ECA8642BFDB97530ECA8642)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 4, @bitCast(i128, @intCast(u128, 0xFFEDCBA9876543215FEDCBA987654321)));
-
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 28, @bitCast(i128, @intCast(u128, 0xFFFFFFFFEDCBA9876543215FEDCBA987)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 29, @bitCast(i128, @intCast(u128, 0xFFFFFFFFF6E5D4C3B2A190AFF6E5D4C3)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 30, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFB72EA61D950C857FB72EA61)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 31, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFDB97530ECA8642BFDB97530)));
-
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 32, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFEDCBA9876543215FEDCBA98)));
-
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 33, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFF6E5D4C3B2A190AFF6E5D4C)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 34, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFB72EA61D950C857FB72EA6)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 35, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFDB97530ECA8642BFDB9753)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 36, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFEDCBA9876543215FEDCBA9)));
-
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 60, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFEDCBA9876543215F)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 61, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFF6E5D4C3B2A190AF)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 62, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFB72EA61D950C857)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 63, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFDB97530ECA8642B)));
-
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 64, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFEDCBA9876543215)));
-
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 65, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFF6E5D4C3B2A190A)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 66, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFB72EA61D950C85)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 67, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFDB97530ECA8642)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 68, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFEDCBA987654321)));
-
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 92, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFEDCBA987)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 93, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFF6E5D4C3)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 94, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFB72EA61)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 95, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFDB97530)));
-
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 96, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFEDCBA98)));
-
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 97, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFF6E5D4C)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 98, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFB72EA6)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 99, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFDB9753)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 100, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFEDCBA9)));
-
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 124, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 125, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 126, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)));
-    test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 127, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 0, @bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 1, @bitCast(i128, @intCast(u128, 0xFF6E5D4C3B2A190AFF6E5D4C3B2A190A)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 2, @bitCast(i128, @intCast(u128, 0xFFB72EA61D950C857FB72EA61D950C85)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 3, @bitCast(i128, @intCast(u128, 0xFFDB97530ECA8642BFDB97530ECA8642)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 4, @bitCast(i128, @intCast(u128, 0xFFEDCBA9876543215FEDCBA987654321)));
+
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 28, @bitCast(i128, @intCast(u128, 0xFFFFFFFFEDCBA9876543215FEDCBA987)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 29, @bitCast(i128, @intCast(u128, 0xFFFFFFFFF6E5D4C3B2A190AFF6E5D4C3)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 30, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFB72EA61D950C857FB72EA61)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 31, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFDB97530ECA8642BFDB97530)));
+
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 32, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFEDCBA9876543215FEDCBA98)));
+
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 33, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFF6E5D4C3B2A190AFF6E5D4C)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 34, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFB72EA61D950C857FB72EA6)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 35, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFDB97530ECA8642BFDB9753)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 36, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFEDCBA9876543215FEDCBA9)));
+
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 60, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFEDCBA9876543215F)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 61, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFF6E5D4C3B2A190AF)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 62, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFB72EA61D950C857)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 63, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFDB97530ECA8642B)));
+
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 64, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFEDCBA9876543215)));
+
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 65, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFF6E5D4C3B2A190A)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 66, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFB72EA61D950C85)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 67, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFDB97530ECA8642)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 68, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFEDCBA987654321)));
+
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 92, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFEDCBA987)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 93, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFF6E5D4C3)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 94, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFB72EA61)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 95, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFDB97530)));
+
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 96, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFEDCBA98)));
+
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 97, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFF6E5D4C)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 98, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFB72EA6)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 99, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFDB9753)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 100, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFEDCBA9)));
+
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 124, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 125, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 126, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)));
+    try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 127, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)));
 }
lib/std/special/compiler_rt/clzsi2_test.zig
@@ -6,294 +6,294 @@
 const clzsi2 = @import("clzsi2.zig");
 const testing = @import("std").testing;
 
-fn test__clzsi2(a: u32, expected: i32) void {
+fn test__clzsi2(a: u32, expected: i32) !void {
     // XXX At high optimization levels this test may be horribly miscompiled if
     // one of the naked implementations is selected.
     var nakedClzsi2 = clzsi2.__clzsi2;
     var actualClzsi2 = @ptrCast(fn (a: i32) callconv(.C) i32, nakedClzsi2);
     var x = @bitCast(i32, a);
     var result = actualClzsi2(x);
-    testing.expectEqual(expected, result);
+    try testing.expectEqual(expected, result);
 }
 
 test "clzsi2" {
-    test__clzsi2(0x00800000, 8);
-    test__clzsi2(0x01000000, 7);
-    test__clzsi2(0x02000000, 6);
-    test__clzsi2(0x03000000, 6);
-    test__clzsi2(0x04000000, 5);
-    test__clzsi2(0x05000000, 5);
-    test__clzsi2(0x06000000, 5);
-    test__clzsi2(0x07000000, 5);
-    test__clzsi2(0x08000000, 4);
-    test__clzsi2(0x09000000, 4);
-    test__clzsi2(0x0A000000, 4);
-    test__clzsi2(0x0B000000, 4);
-    test__clzsi2(0x0C000000, 4);
-    test__clzsi2(0x0D000000, 4);
-    test__clzsi2(0x0E000000, 4);
-    test__clzsi2(0x0F000000, 4);
-    test__clzsi2(0x10000000, 3);
-    test__clzsi2(0x11000000, 3);
-    test__clzsi2(0x12000000, 3);
-    test__clzsi2(0x13000000, 3);
-    test__clzsi2(0x14000000, 3);
-    test__clzsi2(0x15000000, 3);
-    test__clzsi2(0x16000000, 3);
-    test__clzsi2(0x17000000, 3);
-    test__clzsi2(0x18000000, 3);
-    test__clzsi2(0x19000000, 3);
-    test__clzsi2(0x1A000000, 3);
-    test__clzsi2(0x1B000000, 3);
-    test__clzsi2(0x1C000000, 3);
-    test__clzsi2(0x1D000000, 3);
-    test__clzsi2(0x1E000000, 3);
-    test__clzsi2(0x1F000000, 3);
-    test__clzsi2(0x20000000, 2);
-    test__clzsi2(0x21000000, 2);
-    test__clzsi2(0x22000000, 2);
-    test__clzsi2(0x23000000, 2);
-    test__clzsi2(0x24000000, 2);
-    test__clzsi2(0x25000000, 2);
-    test__clzsi2(0x26000000, 2);
-    test__clzsi2(0x27000000, 2);
-    test__clzsi2(0x28000000, 2);
-    test__clzsi2(0x29000000, 2);
-    test__clzsi2(0x2A000000, 2);
-    test__clzsi2(0x2B000000, 2);
-    test__clzsi2(0x2C000000, 2);
-    test__clzsi2(0x2D000000, 2);
-    test__clzsi2(0x2E000000, 2);
-    test__clzsi2(0x2F000000, 2);
-    test__clzsi2(0x30000000, 2);
-    test__clzsi2(0x31000000, 2);
-    test__clzsi2(0x32000000, 2);
-    test__clzsi2(0x33000000, 2);
-    test__clzsi2(0x34000000, 2);
-    test__clzsi2(0x35000000, 2);
-    test__clzsi2(0x36000000, 2);
-    test__clzsi2(0x37000000, 2);
-    test__clzsi2(0x38000000, 2);
-    test__clzsi2(0x39000000, 2);
-    test__clzsi2(0x3A000000, 2);
-    test__clzsi2(0x3B000000, 2);
-    test__clzsi2(0x3C000000, 2);
-    test__clzsi2(0x3D000000, 2);
-    test__clzsi2(0x3E000000, 2);
-    test__clzsi2(0x3F000000, 2);
-    test__clzsi2(0x40000000, 1);
-    test__clzsi2(0x41000000, 1);
-    test__clzsi2(0x42000000, 1);
-    test__clzsi2(0x43000000, 1);
-    test__clzsi2(0x44000000, 1);
-    test__clzsi2(0x45000000, 1);
-    test__clzsi2(0x46000000, 1);
-    test__clzsi2(0x47000000, 1);
-    test__clzsi2(0x48000000, 1);
-    test__clzsi2(0x49000000, 1);
-    test__clzsi2(0x4A000000, 1);
-    test__clzsi2(0x4B000000, 1);
-    test__clzsi2(0x4C000000, 1);
-    test__clzsi2(0x4D000000, 1);
-    test__clzsi2(0x4E000000, 1);
-    test__clzsi2(0x4F000000, 1);
-    test__clzsi2(0x50000000, 1);
-    test__clzsi2(0x51000000, 1);
-    test__clzsi2(0x52000000, 1);
-    test__clzsi2(0x53000000, 1);
-    test__clzsi2(0x54000000, 1);
-    test__clzsi2(0x55000000, 1);
-    test__clzsi2(0x56000000, 1);
-    test__clzsi2(0x57000000, 1);
-    test__clzsi2(0x58000000, 1);
-    test__clzsi2(0x59000000, 1);
-    test__clzsi2(0x5A000000, 1);
-    test__clzsi2(0x5B000000, 1);
-    test__clzsi2(0x5C000000, 1);
-    test__clzsi2(0x5D000000, 1);
-    test__clzsi2(0x5E000000, 1);
-    test__clzsi2(0x5F000000, 1);
-    test__clzsi2(0x60000000, 1);
-    test__clzsi2(0x61000000, 1);
-    test__clzsi2(0x62000000, 1);
-    test__clzsi2(0x63000000, 1);
-    test__clzsi2(0x64000000, 1);
-    test__clzsi2(0x65000000, 1);
-    test__clzsi2(0x66000000, 1);
-    test__clzsi2(0x67000000, 1);
-    test__clzsi2(0x68000000, 1);
-    test__clzsi2(0x69000000, 1);
-    test__clzsi2(0x6A000000, 1);
-    test__clzsi2(0x6B000000, 1);
-    test__clzsi2(0x6C000000, 1);
-    test__clzsi2(0x6D000000, 1);
-    test__clzsi2(0x6E000000, 1);
-    test__clzsi2(0x6F000000, 1);
-    test__clzsi2(0x70000000, 1);
-    test__clzsi2(0x71000000, 1);
-    test__clzsi2(0x72000000, 1);
-    test__clzsi2(0x73000000, 1);
-    test__clzsi2(0x74000000, 1);
-    test__clzsi2(0x75000000, 1);
-    test__clzsi2(0x76000000, 1);
-    test__clzsi2(0x77000000, 1);
-    test__clzsi2(0x78000000, 1);
-    test__clzsi2(0x79000000, 1);
-    test__clzsi2(0x7A000000, 1);
-    test__clzsi2(0x7B000000, 1);
-    test__clzsi2(0x7C000000, 1);
-    test__clzsi2(0x7D000000, 1);
-    test__clzsi2(0x7E000000, 1);
-    test__clzsi2(0x7F000000, 1);
-    test__clzsi2(0x80000000, 0);
-    test__clzsi2(0x81000000, 0);
-    test__clzsi2(0x82000000, 0);
-    test__clzsi2(0x83000000, 0);
-    test__clzsi2(0x84000000, 0);
-    test__clzsi2(0x85000000, 0);
-    test__clzsi2(0x86000000, 0);
-    test__clzsi2(0x87000000, 0);
-    test__clzsi2(0x88000000, 0);
-    test__clzsi2(0x89000000, 0);
-    test__clzsi2(0x8A000000, 0);
-    test__clzsi2(0x8B000000, 0);
-    test__clzsi2(0x8C000000, 0);
-    test__clzsi2(0x8D000000, 0);
-    test__clzsi2(0x8E000000, 0);
-    test__clzsi2(0x8F000000, 0);
-    test__clzsi2(0x90000000, 0);
-    test__clzsi2(0x91000000, 0);
-    test__clzsi2(0x92000000, 0);
-    test__clzsi2(0x93000000, 0);
-    test__clzsi2(0x94000000, 0);
-    test__clzsi2(0x95000000, 0);
-    test__clzsi2(0x96000000, 0);
-    test__clzsi2(0x97000000, 0);
-    test__clzsi2(0x98000000, 0);
-    test__clzsi2(0x99000000, 0);
-    test__clzsi2(0x9A000000, 0);
-    test__clzsi2(0x9B000000, 0);
-    test__clzsi2(0x9C000000, 0);
-    test__clzsi2(0x9D000000, 0);
-    test__clzsi2(0x9E000000, 0);
-    test__clzsi2(0x9F000000, 0);
-    test__clzsi2(0xA0000000, 0);
-    test__clzsi2(0xA1000000, 0);
-    test__clzsi2(0xA2000000, 0);
-    test__clzsi2(0xA3000000, 0);
-    test__clzsi2(0xA4000000, 0);
-    test__clzsi2(0xA5000000, 0);
-    test__clzsi2(0xA6000000, 0);
-    test__clzsi2(0xA7000000, 0);
-    test__clzsi2(0xA8000000, 0);
-    test__clzsi2(0xA9000000, 0);
-    test__clzsi2(0xAA000000, 0);
-    test__clzsi2(0xAB000000, 0);
-    test__clzsi2(0xAC000000, 0);
-    test__clzsi2(0xAD000000, 0);
-    test__clzsi2(0xAE000000, 0);
-    test__clzsi2(0xAF000000, 0);
-    test__clzsi2(0xB0000000, 0);
-    test__clzsi2(0xB1000000, 0);
-    test__clzsi2(0xB2000000, 0);
-    test__clzsi2(0xB3000000, 0);
-    test__clzsi2(0xB4000000, 0);
-    test__clzsi2(0xB5000000, 0);
-    test__clzsi2(0xB6000000, 0);
-    test__clzsi2(0xB7000000, 0);
-    test__clzsi2(0xB8000000, 0);
-    test__clzsi2(0xB9000000, 0);
-    test__clzsi2(0xBA000000, 0);
-    test__clzsi2(0xBB000000, 0);
-    test__clzsi2(0xBC000000, 0);
-    test__clzsi2(0xBD000000, 0);
-    test__clzsi2(0xBE000000, 0);
-    test__clzsi2(0xBF000000, 0);
-    test__clzsi2(0xC0000000, 0);
-    test__clzsi2(0xC1000000, 0);
-    test__clzsi2(0xC2000000, 0);
-    test__clzsi2(0xC3000000, 0);
-    test__clzsi2(0xC4000000, 0);
-    test__clzsi2(0xC5000000, 0);
-    test__clzsi2(0xC6000000, 0);
-    test__clzsi2(0xC7000000, 0);
-    test__clzsi2(0xC8000000, 0);
-    test__clzsi2(0xC9000000, 0);
-    test__clzsi2(0xCA000000, 0);
-    test__clzsi2(0xCB000000, 0);
-    test__clzsi2(0xCC000000, 0);
-    test__clzsi2(0xCD000000, 0);
-    test__clzsi2(0xCE000000, 0);
-    test__clzsi2(0xCF000000, 0);
-    test__clzsi2(0xD0000000, 0);
-    test__clzsi2(0xD1000000, 0);
-    test__clzsi2(0xD2000000, 0);
-    test__clzsi2(0xD3000000, 0);
-    test__clzsi2(0xD4000000, 0);
-    test__clzsi2(0xD5000000, 0);
-    test__clzsi2(0xD6000000, 0);
-    test__clzsi2(0xD7000000, 0);
-    test__clzsi2(0xD8000000, 0);
-    test__clzsi2(0xD9000000, 0);
-    test__clzsi2(0xDA000000, 0);
-    test__clzsi2(0xDB000000, 0);
-    test__clzsi2(0xDC000000, 0);
-    test__clzsi2(0xDD000000, 0);
-    test__clzsi2(0xDE000000, 0);
-    test__clzsi2(0xDF000000, 0);
-    test__clzsi2(0xE0000000, 0);
-    test__clzsi2(0xE1000000, 0);
-    test__clzsi2(0xE2000000, 0);
-    test__clzsi2(0xE3000000, 0);
-    test__clzsi2(0xE4000000, 0);
-    test__clzsi2(0xE5000000, 0);
-    test__clzsi2(0xE6000000, 0);
-    test__clzsi2(0xE7000000, 0);
-    test__clzsi2(0xE8000000, 0);
-    test__clzsi2(0xE9000000, 0);
-    test__clzsi2(0xEA000000, 0);
-    test__clzsi2(0xEB000000, 0);
-    test__clzsi2(0xEC000000, 0);
-    test__clzsi2(0xED000000, 0);
-    test__clzsi2(0xEE000000, 0);
-    test__clzsi2(0xEF000000, 0);
-    test__clzsi2(0xF0000000, 0);
-    test__clzsi2(0xF1000000, 0);
-    test__clzsi2(0xF2000000, 0);
-    test__clzsi2(0xF3000000, 0);
-    test__clzsi2(0xF4000000, 0);
-    test__clzsi2(0xF5000000, 0);
-    test__clzsi2(0xF6000000, 0);
-    test__clzsi2(0xF7000000, 0);
-    test__clzsi2(0xF8000000, 0);
-    test__clzsi2(0xF9000000, 0);
-    test__clzsi2(0xFA000000, 0);
-    test__clzsi2(0xFB000000, 0);
-    test__clzsi2(0xFC000000, 0);
-    test__clzsi2(0xFD000000, 0);
-    test__clzsi2(0xFE000000, 0);
-    test__clzsi2(0xFF000000, 0);
-    test__clzsi2(0x00000001, 31);
-    test__clzsi2(0x00000002, 30);
-    test__clzsi2(0x00000004, 29);
-    test__clzsi2(0x00000008, 28);
-    test__clzsi2(0x00000010, 27);
-    test__clzsi2(0x00000020, 26);
-    test__clzsi2(0x00000040, 25);
-    test__clzsi2(0x00000080, 24);
-    test__clzsi2(0x00000100, 23);
-    test__clzsi2(0x00000200, 22);
-    test__clzsi2(0x00000400, 21);
-    test__clzsi2(0x00000800, 20);
-    test__clzsi2(0x00001000, 19);
-    test__clzsi2(0x00002000, 18);
-    test__clzsi2(0x00004000, 17);
-    test__clzsi2(0x00008000, 16);
-    test__clzsi2(0x00010000, 15);
-    test__clzsi2(0x00020000, 14);
-    test__clzsi2(0x00040000, 13);
-    test__clzsi2(0x00080000, 12);
-    test__clzsi2(0x00100000, 11);
-    test__clzsi2(0x00200000, 10);
-    test__clzsi2(0x00400000, 9);
+    try test__clzsi2(0x00800000, 8);
+    try test__clzsi2(0x01000000, 7);
+    try test__clzsi2(0x02000000, 6);
+    try test__clzsi2(0x03000000, 6);
+    try test__clzsi2(0x04000000, 5);
+    try test__clzsi2(0x05000000, 5);
+    try test__clzsi2(0x06000000, 5);
+    try test__clzsi2(0x07000000, 5);
+    try test__clzsi2(0x08000000, 4);
+    try test__clzsi2(0x09000000, 4);
+    try test__clzsi2(0x0A000000, 4);
+    try test__clzsi2(0x0B000000, 4);
+    try test__clzsi2(0x0C000000, 4);
+    try test__clzsi2(0x0D000000, 4);
+    try test__clzsi2(0x0E000000, 4);
+    try test__clzsi2(0x0F000000, 4);
+    try test__clzsi2(0x10000000, 3);
+    try test__clzsi2(0x11000000, 3);
+    try test__clzsi2(0x12000000, 3);
+    try test__clzsi2(0x13000000, 3);
+    try test__clzsi2(0x14000000, 3);
+    try test__clzsi2(0x15000000, 3);
+    try test__clzsi2(0x16000000, 3);
+    try test__clzsi2(0x17000000, 3);
+    try test__clzsi2(0x18000000, 3);
+    try test__clzsi2(0x19000000, 3);
+    try test__clzsi2(0x1A000000, 3);
+    try test__clzsi2(0x1B000000, 3);
+    try test__clzsi2(0x1C000000, 3);
+    try test__clzsi2(0x1D000000, 3);
+    try test__clzsi2(0x1E000000, 3);
+    try test__clzsi2(0x1F000000, 3);
+    try test__clzsi2(0x20000000, 2);
+    try test__clzsi2(0x21000000, 2);
+    try test__clzsi2(0x22000000, 2);
+    try test__clzsi2(0x23000000, 2);
+    try test__clzsi2(0x24000000, 2);
+    try test__clzsi2(0x25000000, 2);
+    try test__clzsi2(0x26000000, 2);
+    try test__clzsi2(0x27000000, 2);
+    try test__clzsi2(0x28000000, 2);
+    try test__clzsi2(0x29000000, 2);
+    try test__clzsi2(0x2A000000, 2);
+    try test__clzsi2(0x2B000000, 2);
+    try test__clzsi2(0x2C000000, 2);
+    try test__clzsi2(0x2D000000, 2);
+    try test__clzsi2(0x2E000000, 2);
+    try test__clzsi2(0x2F000000, 2);
+    try test__clzsi2(0x30000000, 2);
+    try test__clzsi2(0x31000000, 2);
+    try test__clzsi2(0x32000000, 2);
+    try test__clzsi2(0x33000000, 2);
+    try test__clzsi2(0x34000000, 2);
+    try test__clzsi2(0x35000000, 2);
+    try test__clzsi2(0x36000000, 2);
+    try test__clzsi2(0x37000000, 2);
+    try test__clzsi2(0x38000000, 2);
+    try test__clzsi2(0x39000000, 2);
+    try test__clzsi2(0x3A000000, 2);
+    try test__clzsi2(0x3B000000, 2);
+    try test__clzsi2(0x3C000000, 2);
+    try test__clzsi2(0x3D000000, 2);
+    try test__clzsi2(0x3E000000, 2);
+    try test__clzsi2(0x3F000000, 2);
+    try test__clzsi2(0x40000000, 1);
+    try test__clzsi2(0x41000000, 1);
+    try test__clzsi2(0x42000000, 1);
+    try test__clzsi2(0x43000000, 1);
+    try test__clzsi2(0x44000000, 1);
+    try test__clzsi2(0x45000000, 1);
+    try test__clzsi2(0x46000000, 1);
+    try test__clzsi2(0x47000000, 1);
+    try test__clzsi2(0x48000000, 1);
+    try test__clzsi2(0x49000000, 1);
+    try test__clzsi2(0x4A000000, 1);
+    try test__clzsi2(0x4B000000, 1);
+    try test__clzsi2(0x4C000000, 1);
+    try test__clzsi2(0x4D000000, 1);
+    try test__clzsi2(0x4E000000, 1);
+    try test__clzsi2(0x4F000000, 1);
+    try test__clzsi2(0x50000000, 1);
+    try test__clzsi2(0x51000000, 1);
+    try test__clzsi2(0x52000000, 1);
+    try test__clzsi2(0x53000000, 1);
+    try test__clzsi2(0x54000000, 1);
+    try test__clzsi2(0x55000000, 1);
+    try test__clzsi2(0x56000000, 1);
+    try test__clzsi2(0x57000000, 1);
+    try test__clzsi2(0x58000000, 1);
+    try test__clzsi2(0x59000000, 1);
+    try test__clzsi2(0x5A000000, 1);
+    try test__clzsi2(0x5B000000, 1);
+    try test__clzsi2(0x5C000000, 1);
+    try test__clzsi2(0x5D000000, 1);
+    try test__clzsi2(0x5E000000, 1);
+    try test__clzsi2(0x5F000000, 1);
+    try test__clzsi2(0x60000000, 1);
+    try test__clzsi2(0x61000000, 1);
+    try test__clzsi2(0x62000000, 1);
+    try test__clzsi2(0x63000000, 1);
+    try test__clzsi2(0x64000000, 1);
+    try test__clzsi2(0x65000000, 1);
+    try test__clzsi2(0x66000000, 1);
+    try test__clzsi2(0x67000000, 1);
+    try test__clzsi2(0x68000000, 1);
+    try test__clzsi2(0x69000000, 1);
+    try test__clzsi2(0x6A000000, 1);
+    try test__clzsi2(0x6B000000, 1);
+    try test__clzsi2(0x6C000000, 1);
+    try test__clzsi2(0x6D000000, 1);
+    try test__clzsi2(0x6E000000, 1);
+    try test__clzsi2(0x6F000000, 1);
+    try test__clzsi2(0x70000000, 1);
+    try test__clzsi2(0x71000000, 1);
+    try test__clzsi2(0x72000000, 1);
+    try test__clzsi2(0x73000000, 1);
+    try test__clzsi2(0x74000000, 1);
+    try test__clzsi2(0x75000000, 1);
+    try test__clzsi2(0x76000000, 1);
+    try test__clzsi2(0x77000000, 1);
+    try test__clzsi2(0x78000000, 1);
+    try test__clzsi2(0x79000000, 1);
+    try test__clzsi2(0x7A000000, 1);
+    try test__clzsi2(0x7B000000, 1);
+    try test__clzsi2(0x7C000000, 1);
+    try test__clzsi2(0x7D000000, 1);
+    try test__clzsi2(0x7E000000, 1);
+    try test__clzsi2(0x7F000000, 1);
+    try test__clzsi2(0x80000000, 0);
+    try test__clzsi2(0x81000000, 0);
+    try test__clzsi2(0x82000000, 0);
+    try test__clzsi2(0x83000000, 0);
+    try test__clzsi2(0x84000000, 0);
+    try test__clzsi2(0x85000000, 0);
+    try test__clzsi2(0x86000000, 0);
+    try test__clzsi2(0x87000000, 0);
+    try test__clzsi2(0x88000000, 0);
+    try test__clzsi2(0x89000000, 0);
+    try test__clzsi2(0x8A000000, 0);
+    try test__clzsi2(0x8B000000, 0);
+    try test__clzsi2(0x8C000000, 0);
+    try test__clzsi2(0x8D000000, 0);
+    try test__clzsi2(0x8E000000, 0);
+    try test__clzsi2(0x8F000000, 0);
+    try test__clzsi2(0x90000000, 0);
+    try test__clzsi2(0x91000000, 0);
+    try test__clzsi2(0x92000000, 0);
+    try test__clzsi2(0x93000000, 0);
+    try test__clzsi2(0x94000000, 0);
+    try test__clzsi2(0x95000000, 0);
+    try test__clzsi2(0x96000000, 0);
+    try test__clzsi2(0x97000000, 0);
+    try test__clzsi2(0x98000000, 0);
+    try test__clzsi2(0x99000000, 0);
+    try test__clzsi2(0x9A000000, 0);
+    try test__clzsi2(0x9B000000, 0);
+    try test__clzsi2(0x9C000000, 0);
+    try test__clzsi2(0x9D000000, 0);
+    try test__clzsi2(0x9E000000, 0);
+    try test__clzsi2(0x9F000000, 0);
+    try test__clzsi2(0xA0000000, 0);
+    try test__clzsi2(0xA1000000, 0);
+    try test__clzsi2(0xA2000000, 0);
+    try test__clzsi2(0xA3000000, 0);
+    try test__clzsi2(0xA4000000, 0);
+    try test__clzsi2(0xA5000000, 0);
+    try test__clzsi2(0xA6000000, 0);
+    try test__clzsi2(0xA7000000, 0);
+    try test__clzsi2(0xA8000000, 0);
+    try test__clzsi2(0xA9000000, 0);
+    try test__clzsi2(0xAA000000, 0);
+    try test__clzsi2(0xAB000000, 0);
+    try test__clzsi2(0xAC000000, 0);
+    try test__clzsi2(0xAD000000, 0);
+    try test__clzsi2(0xAE000000, 0);
+    try test__clzsi2(0xAF000000, 0);
+    try test__clzsi2(0xB0000000, 0);
+    try test__clzsi2(0xB1000000, 0);
+    try test__clzsi2(0xB2000000, 0);
+    try test__clzsi2(0xB3000000, 0);
+    try test__clzsi2(0xB4000000, 0);
+    try test__clzsi2(0xB5000000, 0);
+    try test__clzsi2(0xB6000000, 0);
+    try test__clzsi2(0xB7000000, 0);
+    try test__clzsi2(0xB8000000, 0);
+    try test__clzsi2(0xB9000000, 0);
+    try test__clzsi2(0xBA000000, 0);
+    try test__clzsi2(0xBB000000, 0);
+    try test__clzsi2(0xBC000000, 0);
+    try test__clzsi2(0xBD000000, 0);
+    try test__clzsi2(0xBE000000, 0);
+    try test__clzsi2(0xBF000000, 0);
+    try test__clzsi2(0xC0000000, 0);
+    try test__clzsi2(0xC1000000, 0);
+    try test__clzsi2(0xC2000000, 0);
+    try test__clzsi2(0xC3000000, 0);
+    try test__clzsi2(0xC4000000, 0);
+    try test__clzsi2(0xC5000000, 0);
+    try test__clzsi2(0xC6000000, 0);
+    try test__clzsi2(0xC7000000, 0);
+    try test__clzsi2(0xC8000000, 0);
+    try test__clzsi2(0xC9000000, 0);
+    try test__clzsi2(0xCA000000, 0);
+    try test__clzsi2(0xCB000000, 0);
+    try test__clzsi2(0xCC000000, 0);
+    try test__clzsi2(0xCD000000, 0);
+    try test__clzsi2(0xCE000000, 0);
+    try test__clzsi2(0xCF000000, 0);
+    try test__clzsi2(0xD0000000, 0);
+    try test__clzsi2(0xD1000000, 0);
+    try test__clzsi2(0xD2000000, 0);
+    try test__clzsi2(0xD3000000, 0);
+    try test__clzsi2(0xD4000000, 0);
+    try test__clzsi2(0xD5000000, 0);
+    try test__clzsi2(0xD6000000, 0);
+    try test__clzsi2(0xD7000000, 0);
+    try test__clzsi2(0xD8000000, 0);
+    try test__clzsi2(0xD9000000, 0);
+    try test__clzsi2(0xDA000000, 0);
+    try test__clzsi2(0xDB000000, 0);
+    try test__clzsi2(0xDC000000, 0);
+    try test__clzsi2(0xDD000000, 0);
+    try test__clzsi2(0xDE000000, 0);
+    try test__clzsi2(0xDF000000, 0);
+    try test__clzsi2(0xE0000000, 0);
+    try test__clzsi2(0xE1000000, 0);
+    try test__clzsi2(0xE2000000, 0);
+    try test__clzsi2(0xE3000000, 0);
+    try test__clzsi2(0xE4000000, 0);
+    try test__clzsi2(0xE5000000, 0);
+    try test__clzsi2(0xE6000000, 0);
+    try test__clzsi2(0xE7000000, 0);
+    try test__clzsi2(0xE8000000, 0);
+    try test__clzsi2(0xE9000000, 0);
+    try test__clzsi2(0xEA000000, 0);
+    try test__clzsi2(0xEB000000, 0);
+    try test__clzsi2(0xEC000000, 0);
+    try test__clzsi2(0xED000000, 0);
+    try test__clzsi2(0xEE000000, 0);
+    try test__clzsi2(0xEF000000, 0);
+    try test__clzsi2(0xF0000000, 0);
+    try test__clzsi2(0xF1000000, 0);
+    try test__clzsi2(0xF2000000, 0);
+    try test__clzsi2(0xF3000000, 0);
+    try test__clzsi2(0xF4000000, 0);
+    try test__clzsi2(0xF5000000, 0);
+    try test__clzsi2(0xF6000000, 0);
+    try test__clzsi2(0xF7000000, 0);
+    try test__clzsi2(0xF8000000, 0);
+    try test__clzsi2(0xF9000000, 0);
+    try test__clzsi2(0xFA000000, 0);
+    try test__clzsi2(0xFB000000, 0);
+    try test__clzsi2(0xFC000000, 0);
+    try test__clzsi2(0xFD000000, 0);
+    try test__clzsi2(0xFE000000, 0);
+    try test__clzsi2(0xFF000000, 0);
+    try test__clzsi2(0x00000001, 31);
+    try test__clzsi2(0x00000002, 30);
+    try test__clzsi2(0x00000004, 29);
+    try test__clzsi2(0x00000008, 28);
+    try test__clzsi2(0x00000010, 27);
+    try test__clzsi2(0x00000020, 26);
+    try test__clzsi2(0x00000040, 25);
+    try test__clzsi2(0x00000080, 24);
+    try test__clzsi2(0x00000100, 23);
+    try test__clzsi2(0x00000200, 22);
+    try test__clzsi2(0x00000400, 21);
+    try test__clzsi2(0x00000800, 20);
+    try test__clzsi2(0x00001000, 19);
+    try test__clzsi2(0x00002000, 18);
+    try test__clzsi2(0x00004000, 17);
+    try test__clzsi2(0x00008000, 16);
+    try test__clzsi2(0x00010000, 15);
+    try test__clzsi2(0x00020000, 14);
+    try test__clzsi2(0x00040000, 13);
+    try test__clzsi2(0x00080000, 12);
+    try test__clzsi2(0x00100000, 11);
+    try test__clzsi2(0x00200000, 10);
+    try test__clzsi2(0x00400000, 9);
 }
lib/std/special/compiler_rt/divdf3_test.zig
@@ -27,13 +27,13 @@ fn compareResultD(result: f64, expected: u64) bool {
     return false;
 }
 
-fn test__divdf3(a: f64, b: f64, expected: u64) void {
+fn test__divdf3(a: f64, b: f64, expected: u64) !void {
     const x = __divdf3(a, b);
     const ret = compareResultD(x, expected);
     try testing.expect(ret == true);
 }
 
 test "divdf3" {
-    test__divdf3(1.0, 3.0, 0x3fd5555555555555);
-    test__divdf3(4.450147717014403e-308, 2.0, 0x10000000000000);
+    try test__divdf3(1.0, 3.0, 0x3fd5555555555555);
+    try test__divdf3(4.450147717014403e-308, 2.0, 0x10000000000000);
 }
lib/std/special/compiler_rt/divsf3_test.zig
@@ -27,13 +27,13 @@ fn compareResultF(result: f32, expected: u32) bool {
     return false;
 }
 
-fn test__divsf3(a: f32, b: f32, expected: u32) void {
+fn test__divsf3(a: f32, b: f32, expected: u32) !void {
     const x = __divsf3(a, b);
     const ret = compareResultF(x, expected);
     try testing.expect(ret == true);
 }
 
 test "divsf3" {
-    test__divsf3(1.0, 3.0, 0x3EAAAAAB);
-    test__divsf3(2.3509887e-38, 2.0, 0x00800000);
+    try test__divsf3(1.0, 3.0, 0x3EAAAAAB);
+    try test__divsf3(2.3509887e-38, 2.0, 0x00800000);
 }
lib/std/special/compiler_rt/divtf3_test.zig
@@ -28,7 +28,7 @@ fn compareResultLD(result: f128, expectedHi: u64, expectedLo: u64) bool {
     return false;
 }
 
-fn test__divtf3(a: f128, b: f128, expectedHi: u64, expectedLo: u64) void {
+fn test__divtf3(a: f128, b: f128, expectedHi: u64, expectedLo: u64) !void {
     const x = __divtf3(a, b);
     const ret = compareResultLD(x, expectedHi, expectedLo);
     try testing.expect(ret == true);
@@ -36,16 +36,16 @@ fn test__divtf3(a: f128, b: f128, expectedHi: u64, expectedLo: u64) void {
 
 test "divtf3" {
     // qNaN / any = qNaN
-    test__divtf3(math.qnan_f128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0);
+    try test__divtf3(math.qnan_f128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0);
     // NaN / any = NaN
-    test__divtf3(math.nan_f128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0);
+    try test__divtf3(math.nan_f128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0);
     // inf / any = inf
-    test__divtf3(math.inf_f128, 0x1.23456789abcdefp+5, 0x7fff000000000000, 0);
+    try test__divtf3(math.inf_f128, 0x1.23456789abcdefp+5, 0x7fff000000000000, 0);
 
-    test__divtf3(0x1.a23b45362464523375893ab4cdefp+5, 0x1.eedcbaba3a94546558237654321fp-1, 0x4004b0b72924d407, 0x0717e84356c6eba2);
-    test__divtf3(0x1.a2b34c56d745382f9abf2c3dfeffp-50, 0x1.ed2c3ba15935332532287654321fp-9, 0x3fd5b2af3f828c9b, 0x40e51f64cde8b1f2);
-    test__divtf3(0x1.2345f6aaaa786555f42432abcdefp+456, 0x1.edacbba9874f765463544dd3621fp+6400, 0x28c62e15dc464466, 0xb5a07586348557ac);
-    test__divtf3(0x1.2d3456f789ba6322bc665544edefp-234, 0x1.eddcdba39f3c8b7a36564354321fp-4455, 0x507b38442b539266, 0x22ce0f1d024e1252);
-    test__divtf3(0x1.2345f6b77b7a8953365433abcdefp+234, 0x1.edcba987d6bb3aa467754354321fp-4055, 0x50bf2e02f0798d36, 0x5e6fcb6b60044078);
-    test__divtf3(6.72420628622418701252535563464350521E-4932, 2.0, 0x0001000000000000, 0);
+    try test__divtf3(0x1.a23b45362464523375893ab4cdefp+5, 0x1.eedcbaba3a94546558237654321fp-1, 0x4004b0b72924d407, 0x0717e84356c6eba2);
+    try test__divtf3(0x1.a2b34c56d745382f9abf2c3dfeffp-50, 0x1.ed2c3ba15935332532287654321fp-9, 0x3fd5b2af3f828c9b, 0x40e51f64cde8b1f2);
+    try test__divtf3(0x1.2345f6aaaa786555f42432abcdefp+456, 0x1.edacbba9874f765463544dd3621fp+6400, 0x28c62e15dc464466, 0xb5a07586348557ac);
+    try test__divtf3(0x1.2d3456f789ba6322bc665544edefp-234, 0x1.eddcdba39f3c8b7a36564354321fp-4455, 0x507b38442b539266, 0x22ce0f1d024e1252);
+    try test__divtf3(0x1.2345f6b77b7a8953365433abcdefp+234, 0x1.edcba987d6bb3aa467754354321fp-4055, 0x50bf2e02f0798d36, 0x5e6fcb6b60044078);
+    try test__divtf3(6.72420628622418701252535563464350521E-4932, 2.0, 0x0001000000000000, 0);
 }
lib/std/special/compiler_rt/divti3_test.zig
@@ -6,21 +6,21 @@
 const __divti3 = @import("divti3.zig").__divti3;
 const testing = @import("std").testing;
 
-fn test__divti3(a: i128, b: i128, expected: i128) void {
+fn test__divti3(a: i128, b: i128, expected: i128) !void {
     const x = __divti3(a, b);
     try testing.expect(x == expected);
 }
 
 test "divti3" {
-    test__divti3(0, 1, 0);
-    test__divti3(0, -1, 0);
-    test__divti3(2, 1, 2);
-    test__divti3(2, -1, -2);
-    test__divti3(-2, 1, -2);
-    test__divti3(-2, -1, 2);
+    try test__divti3(0, 1, 0);
+    try test__divti3(0, -1, 0);
+    try test__divti3(2, 1, 2);
+    try test__divti3(2, -1, -2);
+    try test__divti3(-2, 1, -2);
+    try test__divti3(-2, -1, 2);
 
-    test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), 1, @bitCast(i128, @as(u128, 0x8 << 124)));
-    test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), -1, @bitCast(i128, @as(u128, 0x8 << 124)));
-    test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), -2, @bitCast(i128, @as(u128, 0x4 << 124)));
-    test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), 2, @bitCast(i128, @as(u128, 0xc << 124)));
+    try test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), 1, @bitCast(i128, @as(u128, 0x8 << 124)));
+    try test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), -1, @bitCast(i128, @as(u128, 0x8 << 124)));
+    try test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), -2, @bitCast(i128, @as(u128, 0x4 << 124)));
+    try test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), 2, @bitCast(i128, @as(u128, 0xc << 124)));
 }
lib/std/special/compiler_rt/extendXfYf2_test.zig
@@ -9,7 +9,7 @@ const __extendhftf2 = @import("extendXfYf2.zig").__extendhftf2;
 const __extendsftf2 = @import("extendXfYf2.zig").__extendsftf2;
 const __extenddftf2 = @import("extendXfYf2.zig").__extenddftf2;
 
-fn test__extenddftf2(a: f64, expectedHi: u64, expectedLo: u64) void {
+fn test__extenddftf2(a: f64, expectedHi: u64, expectedLo: u64) !void {
     const x = __extenddftf2(a);
 
     const rep = @bitCast(u128, x);
@@ -31,7 +31,7 @@ fn test__extenddftf2(a: f64, expectedHi: u64, expectedLo: u64) void {
     @panic("__extenddftf2 test failure");
 }
 
-fn test__extendhfsf2(a: u16, expected: u32) void {
+fn test__extendhfsf2(a: u16, expected: u32) !void {
     const x = __extendhfsf2(a);
     const rep = @bitCast(u32, x);
 
@@ -44,10 +44,10 @@ fn test__extendhfsf2(a: u16, expected: u32) void {
         }
     }
 
-    @panic("__extendhfsf2 test failure");
+    return error.TestFailure;
 }
 
-fn test__extendsftf2(a: f32, expectedHi: u64, expectedLo: u64) void {
+fn test__extendsftf2(a: f32, expectedHi: u64, expectedLo: u64) !void {
     const x = __extendsftf2(a);
 
     const rep = @bitCast(u128, x);
@@ -66,77 +66,77 @@ fn test__extendsftf2(a: f32, expectedHi: u64, expectedLo: u64) void {
         }
     }
 
-    @panic("__extendsftf2 test failure");
+    return error.TestFailure;
 }
 
 test "extenddftf2" {
     // qNaN
-    test__extenddftf2(makeQNaN64(), 0x7fff800000000000, 0x0);
+    try test__extenddftf2(makeQNaN64(), 0x7fff800000000000, 0x0);
 
     // NaN
-    test__extenddftf2(makeNaN64(0x7100000000000), 0x7fff710000000000, 0x0);
+    try test__extenddftf2(makeNaN64(0x7100000000000), 0x7fff710000000000, 0x0);
 
     // inf
-    test__extenddftf2(makeInf64(), 0x7fff000000000000, 0x0);
+    try test__extenddftf2(makeInf64(), 0x7fff000000000000, 0x0);
 
     // zero
-    test__extenddftf2(0.0, 0x0, 0x0);
+    try test__extenddftf2(0.0, 0x0, 0x0);
 
-    test__extenddftf2(0x1.23456789abcdefp+5, 0x400423456789abcd, 0xf000000000000000);
+    try test__extenddftf2(0x1.23456789abcdefp+5, 0x400423456789abcd, 0xf000000000000000);
 
-    test__extenddftf2(0x1.edcba987654321fp-9, 0x3ff6edcba9876543, 0x2000000000000000);
+    try test__extenddftf2(0x1.edcba987654321fp-9, 0x3ff6edcba9876543, 0x2000000000000000);
 
-    test__extenddftf2(0x1.23456789abcdefp+45, 0x402c23456789abcd, 0xf000000000000000);
+    try test__extenddftf2(0x1.23456789abcdefp+45, 0x402c23456789abcd, 0xf000000000000000);
 
-    test__extenddftf2(0x1.edcba987654321fp-45, 0x3fd2edcba9876543, 0x2000000000000000);
+    try test__extenddftf2(0x1.edcba987654321fp-45, 0x3fd2edcba9876543, 0x2000000000000000);
 }
 
 test "extendhfsf2" {
-    test__extendhfsf2(0x7e00, 0x7fc00000); // qNaN
-    test__extendhfsf2(0x7f00, 0x7fe00000); // sNaN
+    try test__extendhfsf2(0x7e00, 0x7fc00000); // qNaN
+    try test__extendhfsf2(0x7f00, 0x7fe00000); // sNaN
     // On x86 the NaN becomes quiet because the return is pushed on the x87
     // stack due to ABI requirements
     if (builtin.arch != .i386 and builtin.os.tag == .windows)
-        test__extendhfsf2(0x7c01, 0x7f802000); // sNaN
+        try test__extendhfsf2(0x7c01, 0x7f802000); // sNaN
 
-    test__extendhfsf2(0, 0); // 0
-    test__extendhfsf2(0x8000, 0x80000000); // -0
+    try test__extendhfsf2(0, 0); // 0
+    try test__extendhfsf2(0x8000, 0x80000000); // -0
 
-    test__extendhfsf2(0x7c00, 0x7f800000); // inf
-    test__extendhfsf2(0xfc00, 0xff800000); // -inf
+    try test__extendhfsf2(0x7c00, 0x7f800000); // inf
+    try test__extendhfsf2(0xfc00, 0xff800000); // -inf
 
-    test__extendhfsf2(0x0001, 0x33800000); // denormal (min), 2**-24
-    test__extendhfsf2(0x8001, 0xb3800000); // denormal (min), -2**-24
+    try test__extendhfsf2(0x0001, 0x33800000); // denormal (min), 2**-24
+    try test__extendhfsf2(0x8001, 0xb3800000); // denormal (min), -2**-24
 
-    test__extendhfsf2(0x03ff, 0x387fc000); // denormal (max), 2**-14 - 2**-24
-    test__extendhfsf2(0x83ff, 0xb87fc000); // denormal (max), -2**-14 + 2**-24
+    try test__extendhfsf2(0x03ff, 0x387fc000); // denormal (max), 2**-14 - 2**-24
+    try test__extendhfsf2(0x83ff, 0xb87fc000); // denormal (max), -2**-14 + 2**-24
 
-    test__extendhfsf2(0x0400, 0x38800000); // normal (min), 2**-14
-    test__extendhfsf2(0x8400, 0xb8800000); // normal (min), -2**-14
+    try test__extendhfsf2(0x0400, 0x38800000); // normal (min), 2**-14
+    try test__extendhfsf2(0x8400, 0xb8800000); // normal (min), -2**-14
 
-    test__extendhfsf2(0x7bff, 0x477fe000); // normal (max), 65504
-    test__extendhfsf2(0xfbff, 0xc77fe000); // normal (max), -65504
+    try test__extendhfsf2(0x7bff, 0x477fe000); // normal (max), 65504
+    try test__extendhfsf2(0xfbff, 0xc77fe000); // normal (max), -65504
 
-    test__extendhfsf2(0x3c01, 0x3f802000); // normal, 1 + 2**-10
-    test__extendhfsf2(0xbc01, 0xbf802000); // normal, -1 - 2**-10
+    try test__extendhfsf2(0x3c01, 0x3f802000); // normal, 1 + 2**-10
+    try test__extendhfsf2(0xbc01, 0xbf802000); // normal, -1 - 2**-10
 
-    test__extendhfsf2(0x3555, 0x3eaaa000); // normal, approx. 1/3
-    test__extendhfsf2(0xb555, 0xbeaaa000); // normal, approx. -1/3
+    try test__extendhfsf2(0x3555, 0x3eaaa000); // normal, approx. 1/3
+    try test__extendhfsf2(0xb555, 0xbeaaa000); // normal, approx. -1/3
 }
 
 test "extendsftf2" {
     // qNaN
-    test__extendsftf2(makeQNaN32(), 0x7fff800000000000, 0x0);
+    try test__extendsftf2(makeQNaN32(), 0x7fff800000000000, 0x0);
     // NaN
-    test__extendsftf2(makeNaN32(0x410000), 0x7fff820000000000, 0x0);
+    try test__extendsftf2(makeNaN32(0x410000), 0x7fff820000000000, 0x0);
     // inf
-    test__extendsftf2(makeInf32(), 0x7fff000000000000, 0x0);
+    try test__extendsftf2(makeInf32(), 0x7fff000000000000, 0x0);
     // zero
-    test__extendsftf2(0.0, 0x0, 0x0);
-    test__extendsftf2(0x1.23456p+5, 0x4004234560000000, 0x0);
-    test__extendsftf2(0x1.edcbap-9, 0x3ff6edcba0000000, 0x0);
-    test__extendsftf2(0x1.23456p+45, 0x402c234560000000, 0x0);
-    test__extendsftf2(0x1.edcbap-45, 0x3fd2edcba0000000, 0x0);
+    try test__extendsftf2(0.0, 0x0, 0x0);
+    try test__extendsftf2(0x1.23456p+5, 0x4004234560000000, 0x0);
+    try test__extendsftf2(0x1.edcbap-9, 0x3ff6edcba0000000, 0x0);
+    try test__extendsftf2(0x1.23456p+45, 0x402c234560000000, 0x0);
+    try test__extendsftf2(0x1.edcbap-45, 0x3fd2edcba0000000, 0x0);
 }
 
 fn makeQNaN64() f64 {
@@ -163,7 +163,7 @@ fn makeInf32() f32 {
     return @bitCast(f32, @as(u32, 0x7f800000));
 }
 
-fn test__extendhftf2(a: u16, expectedHi: u64, expectedLo: u64) void {
+fn test__extendhftf2(a: u16, expectedHi: u64, expectedLo: u64) !void {
     const x = __extendhftf2(a);
 
     const rep = @bitCast(u128, x);
@@ -182,29 +182,29 @@ fn test__extendhftf2(a: u16, expectedHi: u64, expectedLo: u64) void {
         }
     }
 
-    @panic("__extendhftf2 test failure");
+    return error.TestFailure;
 }
 
 test "extendhftf2" {
     // qNaN
-    test__extendhftf2(0x7e00, 0x7fff800000000000, 0x0);
+    try test__extendhftf2(0x7e00, 0x7fff800000000000, 0x0);
     // NaN
-    test__extendhftf2(0x7d00, 0x7fff400000000000, 0x0);
+    try test__extendhftf2(0x7d00, 0x7fff400000000000, 0x0);
     // inf
-    test__extendhftf2(0x7c00, 0x7fff000000000000, 0x0);
-    test__extendhftf2(0xfc00, 0xffff000000000000, 0x0);
+    try test__extendhftf2(0x7c00, 0x7fff000000000000, 0x0);
+    try test__extendhftf2(0xfc00, 0xffff000000000000, 0x0);
     // zero
-    test__extendhftf2(0x0000, 0x0000000000000000, 0x0);
-    test__extendhftf2(0x8000, 0x8000000000000000, 0x0);
+    try test__extendhftf2(0x0000, 0x0000000000000000, 0x0);
+    try test__extendhftf2(0x8000, 0x8000000000000000, 0x0);
     // denormal
-    test__extendhftf2(0x0010, 0x3feb000000000000, 0x0);
-    test__extendhftf2(0x0001, 0x3fe7000000000000, 0x0);
-    test__extendhftf2(0x8001, 0xbfe7000000000000, 0x0);
+    try test__extendhftf2(0x0010, 0x3feb000000000000, 0x0);
+    try test__extendhftf2(0x0001, 0x3fe7000000000000, 0x0);
+    try test__extendhftf2(0x8001, 0xbfe7000000000000, 0x0);
 
     // pi
-    test__extendhftf2(0x4248, 0x4000920000000000, 0x0);
-    test__extendhftf2(0xc248, 0xc000920000000000, 0x0);
+    try test__extendhftf2(0x4248, 0x4000920000000000, 0x0);
+    try test__extendhftf2(0xc248, 0xc000920000000000, 0x0);
 
-    test__extendhftf2(0x508c, 0x4004230000000000, 0x0);
-    test__extendhftf2(0x1bb7, 0x3ff6edc000000000, 0x0);
+    try test__extendhftf2(0x508c, 0x4004230000000000, 0x0);
+    try test__extendhftf2(0x1bb7, 0x3ff6edc000000000, 0x0);
 }
lib/std/special/compiler_rt/fixdfdi_test.zig
@@ -9,7 +9,7 @@ const math = std.math;
 const testing = std.testing;
 const warn = std.debug.warn;
 
-fn test__fixdfdi(a: f64, expected: i64) void {
+fn test__fixdfdi(a: f64, expected: i64) !void {
     const x = __fixdfdi(a);
     //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u64, {x})\n", .{a, @bitCast(u64, a), x, x, expected, expected, @bitCast(u64, expected)});
     try testing.expect(x == expected);
@@ -17,54 +17,54 @@ fn test__fixdfdi(a: f64, expected: i64) void {
 
 test "fixdfdi" {
     //warn("\n", .{});
-    test__fixdfdi(-math.f64_max, math.minInt(i64));
+    try test__fixdfdi(-math.f64_max, math.minInt(i64));
 
-    test__fixdfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64));
-    test__fixdfdi(-0x1.FFFFFFFFFFFFFp+1023, -0x8000000000000000);
+    try test__fixdfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64));
+    try test__fixdfdi(-0x1.FFFFFFFFFFFFFp+1023, -0x8000000000000000);
 
-    test__fixdfdi(-0x1.0000000000000p+127, -0x8000000000000000);
-    test__fixdfdi(-0x1.FFFFFFFFFFFFFp+126, -0x8000000000000000);
-    test__fixdfdi(-0x1.FFFFFFFFFFFFEp+126, -0x8000000000000000);
+    try test__fixdfdi(-0x1.0000000000000p+127, -0x8000000000000000);
+    try test__fixdfdi(-0x1.FFFFFFFFFFFFFp+126, -0x8000000000000000);
+    try test__fixdfdi(-0x1.FFFFFFFFFFFFEp+126, -0x8000000000000000);
 
-    test__fixdfdi(-0x1.0000000000001p+63, -0x8000000000000000);
-    test__fixdfdi(-0x1.0000000000000p+63, -0x8000000000000000);
-    test__fixdfdi(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00);
-    test__fixdfdi(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800);
+    try test__fixdfdi(-0x1.0000000000001p+63, -0x8000000000000000);
+    try test__fixdfdi(-0x1.0000000000000p+63, -0x8000000000000000);
+    try test__fixdfdi(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00);
+    try test__fixdfdi(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800);
 
-    test__fixdfdi(-0x1.FFFFFEp+62, -0x7fffff8000000000);
-    test__fixdfdi(-0x1.FFFFFCp+62, -0x7fffff0000000000);
+    try test__fixdfdi(-0x1.FFFFFEp+62, -0x7fffff8000000000);
+    try test__fixdfdi(-0x1.FFFFFCp+62, -0x7fffff0000000000);
 
-    test__fixdfdi(-2.01, -2);
-    test__fixdfdi(-2.0, -2);
-    test__fixdfdi(-1.99, -1);
-    test__fixdfdi(-1.0, -1);
-    test__fixdfdi(-0.99, 0);
-    test__fixdfdi(-0.5, 0);
-    test__fixdfdi(-math.f64_min, 0);
-    test__fixdfdi(0.0, 0);
-    test__fixdfdi(math.f64_min, 0);
-    test__fixdfdi(0.5, 0);
-    test__fixdfdi(0.99, 0);
-    test__fixdfdi(1.0, 1);
-    test__fixdfdi(1.5, 1);
-    test__fixdfdi(1.99, 1);
-    test__fixdfdi(2.0, 2);
-    test__fixdfdi(2.01, 2);
+    try test__fixdfdi(-2.01, -2);
+    try test__fixdfdi(-2.0, -2);
+    try test__fixdfdi(-1.99, -1);
+    try test__fixdfdi(-1.0, -1);
+    try test__fixdfdi(-0.99, 0);
+    try test__fixdfdi(-0.5, 0);
+    try test__fixdfdi(-math.f64_min, 0);
+    try test__fixdfdi(0.0, 0);
+    try test__fixdfdi(math.f64_min, 0);
+    try test__fixdfdi(0.5, 0);
+    try test__fixdfdi(0.99, 0);
+    try test__fixdfdi(1.0, 1);
+    try test__fixdfdi(1.5, 1);
+    try test__fixdfdi(1.99, 1);
+    try test__fixdfdi(2.0, 2);
+    try test__fixdfdi(2.01, 2);
 
-    test__fixdfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
-    test__fixdfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
+    try test__fixdfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
+    try test__fixdfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
 
-    test__fixdfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800);
-    test__fixdfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00);
-    test__fixdfdi(0x1.0000000000000p+63, 0x7FFFFFFFFFFFFFFF);
-    test__fixdfdi(0x1.0000000000001p+63, 0x7FFFFFFFFFFFFFFF);
+    try test__fixdfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800);
+    try test__fixdfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00);
+    try test__fixdfdi(0x1.0000000000000p+63, 0x7FFFFFFFFFFFFFFF);
+    try test__fixdfdi(0x1.0000000000001p+63, 0x7FFFFFFFFFFFFFFF);
 
-    test__fixdfdi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFF);
-    test__fixdfdi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFF);
-    test__fixdfdi(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFF);
+    try test__fixdfdi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFF);
+    try test__fixdfdi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFF);
+    try test__fixdfdi(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFF);
 
-    test__fixdfdi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFF);
-    test__fixdfdi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i64));
+    try test__fixdfdi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFF);
+    try test__fixdfdi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i64));
 
-    test__fixdfdi(math.f64_max, math.maxInt(i64));
+    try test__fixdfdi(math.f64_max, math.maxInt(i64));
 }
lib/std/special/compiler_rt/fixdfsi_test.zig
@@ -9,7 +9,7 @@ const math = std.math;
 const testing = std.testing;
 const warn = std.debug.warn;
 
-fn test__fixdfsi(a: f64, expected: i32) void {
+fn test__fixdfsi(a: f64, expected: i32) !void {
     const x = __fixdfsi(a);
     //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u64, {x})\n", .{a, @bitCast(u64, a), x, x, expected, expected, @bitCast(u32, expected)});
     try testing.expect(x == expected);
@@ -17,62 +17,62 @@ fn test__fixdfsi(a: f64, expected: i32) void {
 
 test "fixdfsi" {
     //warn("\n", .{});
-    test__fixdfsi(-math.f64_max, math.minInt(i32));
+    try test__fixdfsi(-math.f64_max, math.minInt(i32));
 
-    test__fixdfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32));
-    test__fixdfsi(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000);
+    try test__fixdfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32));
+    try test__fixdfsi(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000);
 
-    test__fixdfsi(-0x1.0000000000000p+127, -0x80000000);
-    test__fixdfsi(-0x1.FFFFFFFFFFFFFp+126, -0x80000000);
-    test__fixdfsi(-0x1.FFFFFFFFFFFFEp+126, -0x80000000);
+    try test__fixdfsi(-0x1.0000000000000p+127, -0x80000000);
+    try test__fixdfsi(-0x1.FFFFFFFFFFFFFp+126, -0x80000000);
+    try test__fixdfsi(-0x1.FFFFFFFFFFFFEp+126, -0x80000000);
 
-    test__fixdfsi(-0x1.0000000000001p+63, -0x80000000);
-    test__fixdfsi(-0x1.0000000000000p+63, -0x80000000);
-    test__fixdfsi(-0x1.FFFFFFFFFFFFFp+62, -0x80000000);
-    test__fixdfsi(-0x1.FFFFFFFFFFFFEp+62, -0x80000000);
+    try test__fixdfsi(-0x1.0000000000001p+63, -0x80000000);
+    try test__fixdfsi(-0x1.0000000000000p+63, -0x80000000);
+    try test__fixdfsi(-0x1.FFFFFFFFFFFFFp+62, -0x80000000);
+    try test__fixdfsi(-0x1.FFFFFFFFFFFFEp+62, -0x80000000);
 
-    test__fixdfsi(-0x1.FFFFFEp+62, -0x80000000);
-    test__fixdfsi(-0x1.FFFFFCp+62, -0x80000000);
+    try test__fixdfsi(-0x1.FFFFFEp+62, -0x80000000);
+    try test__fixdfsi(-0x1.FFFFFCp+62, -0x80000000);
 
-    test__fixdfsi(-0x1.000000p+31, -0x80000000);
-    test__fixdfsi(-0x1.FFFFFFp+30, -0x7FFFFFC0);
-    test__fixdfsi(-0x1.FFFFFEp+30, -0x7FFFFF80);
+    try test__fixdfsi(-0x1.000000p+31, -0x80000000);
+    try test__fixdfsi(-0x1.FFFFFFp+30, -0x7FFFFFC0);
+    try test__fixdfsi(-0x1.FFFFFEp+30, -0x7FFFFF80);
 
-    test__fixdfsi(-2.01, -2);
-    test__fixdfsi(-2.0, -2);
-    test__fixdfsi(-1.99, -1);
-    test__fixdfsi(-1.0, -1);
-    test__fixdfsi(-0.99, 0);
-    test__fixdfsi(-0.5, 0);
-    test__fixdfsi(-math.f64_min, 0);
-    test__fixdfsi(0.0, 0);
-    test__fixdfsi(math.f64_min, 0);
-    test__fixdfsi(0.5, 0);
-    test__fixdfsi(0.99, 0);
-    test__fixdfsi(1.0, 1);
-    test__fixdfsi(1.5, 1);
-    test__fixdfsi(1.99, 1);
-    test__fixdfsi(2.0, 2);
-    test__fixdfsi(2.01, 2);
+    try test__fixdfsi(-2.01, -2);
+    try test__fixdfsi(-2.0, -2);
+    try test__fixdfsi(-1.99, -1);
+    try test__fixdfsi(-1.0, -1);
+    try test__fixdfsi(-0.99, 0);
+    try test__fixdfsi(-0.5, 0);
+    try test__fixdfsi(-math.f64_min, 0);
+    try test__fixdfsi(0.0, 0);
+    try test__fixdfsi(math.f64_min, 0);
+    try test__fixdfsi(0.5, 0);
+    try test__fixdfsi(0.99, 0);
+    try test__fixdfsi(1.0, 1);
+    try test__fixdfsi(1.5, 1);
+    try test__fixdfsi(1.99, 1);
+    try test__fixdfsi(2.0, 2);
+    try test__fixdfsi(2.01, 2);
 
-    test__fixdfsi(0x1.FFFFFEp+30, 0x7FFFFF80);
-    test__fixdfsi(0x1.FFFFFFp+30, 0x7FFFFFC0);
-    test__fixdfsi(0x1.000000p+31, 0x7FFFFFFF);
+    try test__fixdfsi(0x1.FFFFFEp+30, 0x7FFFFF80);
+    try test__fixdfsi(0x1.FFFFFFp+30, 0x7FFFFFC0);
+    try test__fixdfsi(0x1.000000p+31, 0x7FFFFFFF);
 
-    test__fixdfsi(0x1.FFFFFCp+62, 0x7FFFFFFF);
-    test__fixdfsi(0x1.FFFFFEp+62, 0x7FFFFFFF);
+    try test__fixdfsi(0x1.FFFFFCp+62, 0x7FFFFFFF);
+    try test__fixdfsi(0x1.FFFFFEp+62, 0x7FFFFFFF);
 
-    test__fixdfsi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFF);
-    test__fixdfsi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFF);
-    test__fixdfsi(0x1.0000000000000p+63, 0x7FFFFFFF);
-    test__fixdfsi(0x1.0000000000001p+63, 0x7FFFFFFF);
+    try test__fixdfsi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFF);
+    try test__fixdfsi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFF);
+    try test__fixdfsi(0x1.0000000000000p+63, 0x7FFFFFFF);
+    try test__fixdfsi(0x1.0000000000001p+63, 0x7FFFFFFF);
 
-    test__fixdfsi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFF);
-    test__fixdfsi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFF);
-    test__fixdfsi(0x1.0000000000000p+127, 0x7FFFFFFF);
+    try test__fixdfsi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFF);
+    try test__fixdfsi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFF);
+    try test__fixdfsi(0x1.0000000000000p+127, 0x7FFFFFFF);
 
-    test__fixdfsi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFF);
-    test__fixdfsi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i32));
+    try test__fixdfsi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFF);
+    try test__fixdfsi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i32));
 
-    test__fixdfsi(math.f64_max, math.maxInt(i32));
+    try test__fixdfsi(math.f64_max, math.maxInt(i32));
 }
lib/std/special/compiler_rt/fixdfti_test.zig
@@ -9,7 +9,7 @@ const math = std.math;
 const testing = std.testing;
 const warn = std.debug.warn;
 
-fn test__fixdfti(a: f64, expected: i128) void {
+fn test__fixdfti(a: f64, expected: i128) !void {
     const x = __fixdfti(a);
     //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u64, {x})\n", .{a, @bitCast(u64, a), x, x, expected, expected, @bitCast(u128, expected)});
     try testing.expect(x == expected);
@@ -17,54 +17,54 @@ fn test__fixdfti(a: f64, expected: i128) void {
 
 test "fixdfti" {
     //warn("\n", .{});
-    test__fixdfti(-math.f64_max, math.minInt(i128));
+    try test__fixdfti(-math.f64_max, math.minInt(i128));
 
-    test__fixdfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128));
-    test__fixdfti(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000000000000000000000000000);
+    try test__fixdfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128));
+    try test__fixdfti(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000000000000000000000000000);
 
-    test__fixdfti(-0x1.0000000000000p+127, -0x80000000000000000000000000000000);
-    test__fixdfti(-0x1.FFFFFFFFFFFFFp+126, -0x7FFFFFFFFFFFFC000000000000000000);
-    test__fixdfti(-0x1.FFFFFFFFFFFFEp+126, -0x7FFFFFFFFFFFF8000000000000000000);
+    try test__fixdfti(-0x1.0000000000000p+127, -0x80000000000000000000000000000000);
+    try test__fixdfti(-0x1.FFFFFFFFFFFFFp+126, -0x7FFFFFFFFFFFFC000000000000000000);
+    try test__fixdfti(-0x1.FFFFFFFFFFFFEp+126, -0x7FFFFFFFFFFFF8000000000000000000);
 
-    test__fixdfti(-0x1.0000000000001p+63, -0x8000000000000800);
-    test__fixdfti(-0x1.0000000000000p+63, -0x8000000000000000);
-    test__fixdfti(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00);
-    test__fixdfti(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800);
+    try test__fixdfti(-0x1.0000000000001p+63, -0x8000000000000800);
+    try test__fixdfti(-0x1.0000000000000p+63, -0x8000000000000000);
+    try test__fixdfti(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00);
+    try test__fixdfti(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800);
 
-    test__fixdfti(-0x1.FFFFFEp+62, -0x7fffff8000000000);
-    test__fixdfti(-0x1.FFFFFCp+62, -0x7fffff0000000000);
+    try test__fixdfti(-0x1.FFFFFEp+62, -0x7fffff8000000000);
+    try test__fixdfti(-0x1.FFFFFCp+62, -0x7fffff0000000000);
 
-    test__fixdfti(-2.01, -2);
-    test__fixdfti(-2.0, -2);
-    test__fixdfti(-1.99, -1);
-    test__fixdfti(-1.0, -1);
-    test__fixdfti(-0.99, 0);
-    test__fixdfti(-0.5, 0);
-    test__fixdfti(-math.f64_min, 0);
-    test__fixdfti(0.0, 0);
-    test__fixdfti(math.f64_min, 0);
-    test__fixdfti(0.5, 0);
-    test__fixdfti(0.99, 0);
-    test__fixdfti(1.0, 1);
-    test__fixdfti(1.5, 1);
-    test__fixdfti(1.99, 1);
-    test__fixdfti(2.0, 2);
-    test__fixdfti(2.01, 2);
+    try test__fixdfti(-2.01, -2);
+    try test__fixdfti(-2.0, -2);
+    try test__fixdfti(-1.99, -1);
+    try test__fixdfti(-1.0, -1);
+    try test__fixdfti(-0.99, 0);
+    try test__fixdfti(-0.5, 0);
+    try test__fixdfti(-math.f64_min, 0);
+    try test__fixdfti(0.0, 0);
+    try test__fixdfti(math.f64_min, 0);
+    try test__fixdfti(0.5, 0);
+    try test__fixdfti(0.99, 0);
+    try test__fixdfti(1.0, 1);
+    try test__fixdfti(1.5, 1);
+    try test__fixdfti(1.99, 1);
+    try test__fixdfti(2.0, 2);
+    try test__fixdfti(2.01, 2);
 
-    test__fixdfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
-    test__fixdfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
+    try test__fixdfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
+    try test__fixdfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
 
-    test__fixdfti(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800);
-    test__fixdfti(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00);
-    test__fixdfti(0x1.0000000000000p+63, 0x8000000000000000);
-    test__fixdfti(0x1.0000000000001p+63, 0x8000000000000800);
+    try test__fixdfti(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800);
+    try test__fixdfti(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00);
+    try test__fixdfti(0x1.0000000000000p+63, 0x8000000000000000);
+    try test__fixdfti(0x1.0000000000001p+63, 0x8000000000000800);
 
-    test__fixdfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFF8000000000000000000);
-    test__fixdfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFC000000000000000000);
-    test__fixdfti(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
+    try test__fixdfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFF8000000000000000000);
+    try test__fixdfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFC000000000000000000);
+    try test__fixdfti(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
 
-    test__fixdfti(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
-    test__fixdfti(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i128));
+    try test__fixdfti(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
+    try test__fixdfti(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i128));
 
-    test__fixdfti(math.f64_max, math.maxInt(i128));
+    try test__fixdfti(math.f64_max, math.maxInt(i128));
 }
lib/std/special/compiler_rt/fixint_test.zig
@@ -11,147 +11,147 @@ const warn = std.debug.warn;
 
 const fixint = @import("fixint.zig").fixint;
 
-fn test__fixint(comptime fp_t: type, comptime fixint_t: type, a: fp_t, expected: fixint_t) void {
+fn test__fixint(comptime fp_t: type, comptime fixint_t: type, a: fp_t, expected: fixint_t) !void {
     const x = fixint(fp_t, fixint_t, a);
     //warn("a={} x={}:{x} expected={}:{x})\n", .{a, x, x, expected, expected});
     try testing.expect(x == expected);
 }
 
 test "fixint.i1" {
-    test__fixint(f32, i1, -math.inf_f32, -1);
-    test__fixint(f32, i1, -math.f32_max, -1);
-    test__fixint(f32, i1, -2.0, -1);
-    test__fixint(f32, i1, -1.1, -1);
-    test__fixint(f32, i1, -1.0, -1);
-    test__fixint(f32, i1, -0.9, 0);
-    test__fixint(f32, i1, -0.1, 0);
-    test__fixint(f32, i1, -math.f32_min, 0);
-    test__fixint(f32, i1, -0.0, 0);
-    test__fixint(f32, i1, 0.0, 0);
-    test__fixint(f32, i1, math.f32_min, 0);
-    test__fixint(f32, i1, 0.1, 0);
-    test__fixint(f32, i1, 0.9, 0);
-    test__fixint(f32, i1, 1.0, 0);
-    test__fixint(f32, i1, 2.0, 0);
-    test__fixint(f32, i1, math.f32_max, 0);
-    test__fixint(f32, i1, math.inf_f32, 0);
+    try test__fixint(f32, i1, -math.inf_f32, -1);
+    try test__fixint(f32, i1, -math.f32_max, -1);
+    try test__fixint(f32, i1, -2.0, -1);
+    try test__fixint(f32, i1, -1.1, -1);
+    try test__fixint(f32, i1, -1.0, -1);
+    try test__fixint(f32, i1, -0.9, 0);
+    try test__fixint(f32, i1, -0.1, 0);
+    try test__fixint(f32, i1, -math.f32_min, 0);
+    try test__fixint(f32, i1, -0.0, 0);
+    try test__fixint(f32, i1, 0.0, 0);
+    try test__fixint(f32, i1, math.f32_min, 0);
+    try test__fixint(f32, i1, 0.1, 0);
+    try test__fixint(f32, i1, 0.9, 0);
+    try test__fixint(f32, i1, 1.0, 0);
+    try test__fixint(f32, i1, 2.0, 0);
+    try test__fixint(f32, i1, math.f32_max, 0);
+    try test__fixint(f32, i1, math.inf_f32, 0);
 }
 
 test "fixint.i2" {
-    test__fixint(f32, i2, -math.inf_f32, -2);
-    test__fixint(f32, i2, -math.f32_max, -2);
-    test__fixint(f32, i2, -2.0, -2);
-    test__fixint(f32, i2, -1.9, -1);
-    test__fixint(f32, i2, -1.1, -1);
-    test__fixint(f32, i2, -1.0, -1);
-    test__fixint(f32, i2, -0.9, 0);
-    test__fixint(f32, i2, -0.1, 0);
-    test__fixint(f32, i2, -math.f32_min, 0);
-    test__fixint(f32, i2, -0.0, 0);
-    test__fixint(f32, i2, 0.0, 0);
-    test__fixint(f32, i2, math.f32_min, 0);
-    test__fixint(f32, i2, 0.1, 0);
-    test__fixint(f32, i2, 0.9, 0);
-    test__fixint(f32, i2, 1.0, 1);
-    test__fixint(f32, i2, 2.0, 1);
-    test__fixint(f32, i2, math.f32_max, 1);
-    test__fixint(f32, i2, math.inf_f32, 1);
+    try test__fixint(f32, i2, -math.inf_f32, -2);
+    try test__fixint(f32, i2, -math.f32_max, -2);
+    try test__fixint(f32, i2, -2.0, -2);
+    try test__fixint(f32, i2, -1.9, -1);
+    try test__fixint(f32, i2, -1.1, -1);
+    try test__fixint(f32, i2, -1.0, -1);
+    try test__fixint(f32, i2, -0.9, 0);
+    try test__fixint(f32, i2, -0.1, 0);
+    try test__fixint(f32, i2, -math.f32_min, 0);
+    try test__fixint(f32, i2, -0.0, 0);
+    try test__fixint(f32, i2, 0.0, 0);
+    try test__fixint(f32, i2, math.f32_min, 0);
+    try test__fixint(f32, i2, 0.1, 0);
+    try test__fixint(f32, i2, 0.9, 0);
+    try test__fixint(f32, i2, 1.0, 1);
+    try test__fixint(f32, i2, 2.0, 1);
+    try test__fixint(f32, i2, math.f32_max, 1);
+    try test__fixint(f32, i2, math.inf_f32, 1);
 }
 
 test "fixint.i3" {
-    test__fixint(f32, i3, -math.inf_f32, -4);
-    test__fixint(f32, i3, -math.f32_max, -4);
-    test__fixint(f32, i3, -4.0, -4);
-    test__fixint(f32, i3, -3.0, -3);
-    test__fixint(f32, i3, -2.0, -2);
-    test__fixint(f32, i3, -1.9, -1);
-    test__fixint(f32, i3, -1.1, -1);
-    test__fixint(f32, i3, -1.0, -1);
-    test__fixint(f32, i3, -0.9, 0);
-    test__fixint(f32, i3, -0.1, 0);
-    test__fixint(f32, i3, -math.f32_min, 0);
-    test__fixint(f32, i3, -0.0, 0);
-    test__fixint(f32, i3, 0.0, 0);
-    test__fixint(f32, i3, math.f32_min, 0);
-    test__fixint(f32, i3, 0.1, 0);
-    test__fixint(f32, i3, 0.9, 0);
-    test__fixint(f32, i3, 1.0, 1);
-    test__fixint(f32, i3, 2.0, 2);
-    test__fixint(f32, i3, 3.0, 3);
-    test__fixint(f32, i3, 4.0, 3);
-    test__fixint(f32, i3, math.f32_max, 3);
-    test__fixint(f32, i3, math.inf_f32, 3);
+    try test__fixint(f32, i3, -math.inf_f32, -4);
+    try test__fixint(f32, i3, -math.f32_max, -4);
+    try test__fixint(f32, i3, -4.0, -4);
+    try test__fixint(f32, i3, -3.0, -3);
+    try test__fixint(f32, i3, -2.0, -2);
+    try test__fixint(f32, i3, -1.9, -1);
+    try test__fixint(f32, i3, -1.1, -1);
+    try test__fixint(f32, i3, -1.0, -1);
+    try test__fixint(f32, i3, -0.9, 0);
+    try test__fixint(f32, i3, -0.1, 0);
+    try test__fixint(f32, i3, -math.f32_min, 0);
+    try test__fixint(f32, i3, -0.0, 0);
+    try test__fixint(f32, i3, 0.0, 0);
+    try test__fixint(f32, i3, math.f32_min, 0);
+    try test__fixint(f32, i3, 0.1, 0);
+    try test__fixint(f32, i3, 0.9, 0);
+    try test__fixint(f32, i3, 1.0, 1);
+    try test__fixint(f32, i3, 2.0, 2);
+    try test__fixint(f32, i3, 3.0, 3);
+    try test__fixint(f32, i3, 4.0, 3);
+    try test__fixint(f32, i3, math.f32_max, 3);
+    try test__fixint(f32, i3, math.inf_f32, 3);
 }
 
 test "fixint.i32" {
-    test__fixint(f64, i32, -math.inf_f64, math.minInt(i32));
-    test__fixint(f64, i32, -math.f64_max, math.minInt(i32));
-    test__fixint(f64, i32, @as(f64, math.minInt(i32)), math.minInt(i32));
-    test__fixint(f64, i32, @as(f64, math.minInt(i32)) + 1, math.minInt(i32) + 1);
-    test__fixint(f64, i32, -2.0, -2);
-    test__fixint(f64, i32, -1.9, -1);
-    test__fixint(f64, i32, -1.1, -1);
-    test__fixint(f64, i32, -1.0, -1);
-    test__fixint(f64, i32, -0.9, 0);
-    test__fixint(f64, i32, -0.1, 0);
-    test__fixint(f64, i32, -math.f32_min, 0);
-    test__fixint(f64, i32, -0.0, 0);
-    test__fixint(f64, i32, 0.0, 0);
-    test__fixint(f64, i32, math.f32_min, 0);
-    test__fixint(f64, i32, 0.1, 0);
-    test__fixint(f64, i32, 0.9, 0);
-    test__fixint(f64, i32, 1.0, 1);
-    test__fixint(f64, i32, @as(f64, math.maxInt(i32)) - 1, math.maxInt(i32) - 1);
-    test__fixint(f64, i32, @as(f64, math.maxInt(i32)), math.maxInt(i32));
-    test__fixint(f64, i32, math.f64_max, math.maxInt(i32));
-    test__fixint(f64, i32, math.inf_f64, math.maxInt(i32));
+    try test__fixint(f64, i32, -math.inf_f64, math.minInt(i32));
+    try test__fixint(f64, i32, -math.f64_max, math.minInt(i32));
+    try test__fixint(f64, i32, @as(f64, math.minInt(i32)), math.minInt(i32));
+    try test__fixint(f64, i32, @as(f64, math.minInt(i32)) + 1, math.minInt(i32) + 1);
+    try test__fixint(f64, i32, -2.0, -2);
+    try test__fixint(f64, i32, -1.9, -1);
+    try test__fixint(f64, i32, -1.1, -1);
+    try test__fixint(f64, i32, -1.0, -1);
+    try test__fixint(f64, i32, -0.9, 0);
+    try test__fixint(f64, i32, -0.1, 0);
+    try test__fixint(f64, i32, -math.f32_min, 0);
+    try test__fixint(f64, i32, -0.0, 0);
+    try test__fixint(f64, i32, 0.0, 0);
+    try test__fixint(f64, i32, math.f32_min, 0);
+    try test__fixint(f64, i32, 0.1, 0);
+    try test__fixint(f64, i32, 0.9, 0);
+    try test__fixint(f64, i32, 1.0, 1);
+    try test__fixint(f64, i32, @as(f64, math.maxInt(i32)) - 1, math.maxInt(i32) - 1);
+    try test__fixint(f64, i32, @as(f64, math.maxInt(i32)), math.maxInt(i32));
+    try test__fixint(f64, i32, math.f64_max, math.maxInt(i32));
+    try test__fixint(f64, i32, math.inf_f64, math.maxInt(i32));
 }
 
 test "fixint.i64" {
-    test__fixint(f64, i64, -math.inf_f64, math.minInt(i64));
-    test__fixint(f64, i64, -math.f64_max, math.minInt(i64));
-    test__fixint(f64, i64, @as(f64, math.minInt(i64)), math.minInt(i64));
-    test__fixint(f64, i64, @as(f64, math.minInt(i64)) + 1, math.minInt(i64));
-    test__fixint(f64, i64, @as(f64, math.minInt(i64) / 2), math.minInt(i64) / 2);
-    test__fixint(f64, i64, -2.0, -2);
-    test__fixint(f64, i64, -1.9, -1);
-    test__fixint(f64, i64, -1.1, -1);
-    test__fixint(f64, i64, -1.0, -1);
-    test__fixint(f64, i64, -0.9, 0);
-    test__fixint(f64, i64, -0.1, 0);
-    test__fixint(f64, i64, -math.f32_min, 0);
-    test__fixint(f64, i64, -0.0, 0);
-    test__fixint(f64, i64, 0.0, 0);
-    test__fixint(f64, i64, math.f32_min, 0);
-    test__fixint(f64, i64, 0.1, 0);
-    test__fixint(f64, i64, 0.9, 0);
-    test__fixint(f64, i64, 1.0, 1);
-    test__fixint(f64, i64, @as(f64, math.maxInt(i64)) - 1, math.maxInt(i64));
-    test__fixint(f64, i64, @as(f64, math.maxInt(i64)), math.maxInt(i64));
-    test__fixint(f64, i64, math.f64_max, math.maxInt(i64));
-    test__fixint(f64, i64, math.inf_f64, math.maxInt(i64));
+    try test__fixint(f64, i64, -math.inf_f64, math.minInt(i64));
+    try test__fixint(f64, i64, -math.f64_max, math.minInt(i64));
+    try test__fixint(f64, i64, @as(f64, math.minInt(i64)), math.minInt(i64));
+    try test__fixint(f64, i64, @as(f64, math.minInt(i64)) + 1, math.minInt(i64));
+    try test__fixint(f64, i64, @as(f64, math.minInt(i64) / 2), math.minInt(i64) / 2);
+    try test__fixint(f64, i64, -2.0, -2);
+    try test__fixint(f64, i64, -1.9, -1);
+    try test__fixint(f64, i64, -1.1, -1);
+    try test__fixint(f64, i64, -1.0, -1);
+    try test__fixint(f64, i64, -0.9, 0);
+    try test__fixint(f64, i64, -0.1, 0);
+    try test__fixint(f64, i64, -math.f32_min, 0);
+    try test__fixint(f64, i64, -0.0, 0);
+    try test__fixint(f64, i64, 0.0, 0);
+    try test__fixint(f64, i64, math.f32_min, 0);
+    try test__fixint(f64, i64, 0.1, 0);
+    try test__fixint(f64, i64, 0.9, 0);
+    try test__fixint(f64, i64, 1.0, 1);
+    try test__fixint(f64, i64, @as(f64, math.maxInt(i64)) - 1, math.maxInt(i64));
+    try test__fixint(f64, i64, @as(f64, math.maxInt(i64)), math.maxInt(i64));
+    try test__fixint(f64, i64, math.f64_max, math.maxInt(i64));
+    try test__fixint(f64, i64, math.inf_f64, math.maxInt(i64));
 }
 
 test "fixint.i128" {
-    test__fixint(f64, i128, -math.inf_f64, math.minInt(i128));
-    test__fixint(f64, i128, -math.f64_max, math.minInt(i128));
-    test__fixint(f64, i128, @as(f64, math.minInt(i128)), math.minInt(i128));
-    test__fixint(f64, i128, @as(f64, math.minInt(i128)) + 1, math.minInt(i128));
-    test__fixint(f64, i128, -2.0, -2);
-    test__fixint(f64, i128, -1.9, -1);
-    test__fixint(f64, i128, -1.1, -1);
-    test__fixint(f64, i128, -1.0, -1);
-    test__fixint(f64, i128, -0.9, 0);
-    test__fixint(f64, i128, -0.1, 0);
-    test__fixint(f64, i128, -math.f32_min, 0);
-    test__fixint(f64, i128, -0.0, 0);
-    test__fixint(f64, i128, 0.0, 0);
-    test__fixint(f64, i128, math.f32_min, 0);
-    test__fixint(f64, i128, 0.1, 0);
-    test__fixint(f64, i128, 0.9, 0);
-    test__fixint(f64, i128, 1.0, 1);
-    test__fixint(f64, i128, @as(f64, math.maxInt(i128)) - 1, math.maxInt(i128));
-    test__fixint(f64, i128, @as(f64, math.maxInt(i128)), math.maxInt(i128));
-    test__fixint(f64, i128, math.f64_max, math.maxInt(i128));
-    test__fixint(f64, i128, math.inf_f64, math.maxInt(i128));
+    try test__fixint(f64, i128, -math.inf_f64, math.minInt(i128));
+    try test__fixint(f64, i128, -math.f64_max, math.minInt(i128));
+    try test__fixint(f64, i128, @as(f64, math.minInt(i128)), math.minInt(i128));
+    try test__fixint(f64, i128, @as(f64, math.minInt(i128)) + 1, math.minInt(i128));
+    try test__fixint(f64, i128, -2.0, -2);
+    try test__fixint(f64, i128, -1.9, -1);
+    try test__fixint(f64, i128, -1.1, -1);
+    try test__fixint(f64, i128, -1.0, -1);
+    try test__fixint(f64, i128, -0.9, 0);
+    try test__fixint(f64, i128, -0.1, 0);
+    try test__fixint(f64, i128, -math.f32_min, 0);
+    try test__fixint(f64, i128, -0.0, 0);
+    try test__fixint(f64, i128, 0.0, 0);
+    try test__fixint(f64, i128, math.f32_min, 0);
+    try test__fixint(f64, i128, 0.1, 0);
+    try test__fixint(f64, i128, 0.9, 0);
+    try test__fixint(f64, i128, 1.0, 1);
+    try test__fixint(f64, i128, @as(f64, math.maxInt(i128)) - 1, math.maxInt(i128));
+    try test__fixint(f64, i128, @as(f64, math.maxInt(i128)), math.maxInt(i128));
+    try test__fixint(f64, i128, math.f64_max, math.maxInt(i128));
+    try test__fixint(f64, i128, math.inf_f64, math.maxInt(i128));
 }
lib/std/special/compiler_rt/fixsfdi_test.zig
@@ -9,7 +9,7 @@ const math = std.math;
 const testing = std.testing;
 const warn = std.debug.warn;
 
-fn test__fixsfdi(a: f32, expected: i64) void {
+fn test__fixsfdi(a: f32, expected: i64) !void {
     const x = __fixsfdi(a);
     //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u32, {x})\n", .{a, @bitCast(u32, a), x, x, expected, expected, @bitCast(u64, expected)});
     try testing.expect(x == expected);
@@ -17,56 +17,56 @@ fn test__fixsfdi(a: f32, expected: i64) void {
 
 test "fixsfdi" {
     //warn("\n", .{});
-    test__fixsfdi(-math.f32_max, math.minInt(i64));
+    try test__fixsfdi(-math.f32_max, math.minInt(i64));
 
-    test__fixsfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64));
-    test__fixsfdi(-0x1.FFFFFFFFFFFFFp+1023, -0x8000000000000000);
+    try test__fixsfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64));
+    try test__fixsfdi(-0x1.FFFFFFFFFFFFFp+1023, -0x8000000000000000);
 
-    test__fixsfdi(-0x1.0000000000000p+127, -0x8000000000000000);
-    test__fixsfdi(-0x1.FFFFFFFFFFFFFp+126, -0x8000000000000000);
-    test__fixsfdi(-0x1.FFFFFFFFFFFFEp+126, -0x8000000000000000);
+    try test__fixsfdi(-0x1.0000000000000p+127, -0x8000000000000000);
+    try test__fixsfdi(-0x1.FFFFFFFFFFFFFp+126, -0x8000000000000000);
+    try test__fixsfdi(-0x1.FFFFFFFFFFFFEp+126, -0x8000000000000000);
 
-    test__fixsfdi(-0x1.0000000000001p+63, -0x8000000000000000);
-    test__fixsfdi(-0x1.0000000000000p+63, -0x8000000000000000);
-    test__fixsfdi(-0x1.FFFFFFFFFFFFFp+62, -0x8000000000000000);
-    test__fixsfdi(-0x1.FFFFFFFFFFFFEp+62, -0x8000000000000000);
+    try test__fixsfdi(-0x1.0000000000001p+63, -0x8000000000000000);
+    try test__fixsfdi(-0x1.0000000000000p+63, -0x8000000000000000);
+    try test__fixsfdi(-0x1.FFFFFFFFFFFFFp+62, -0x8000000000000000);
+    try test__fixsfdi(-0x1.FFFFFFFFFFFFEp+62, -0x8000000000000000);
 
-    test__fixsfdi(-0x1.FFFFFFp+62, -0x8000000000000000);
-    test__fixsfdi(-0x1.FFFFFEp+62, -0x7fffff8000000000);
-    test__fixsfdi(-0x1.FFFFFCp+62, -0x7fffff0000000000);
+    try test__fixsfdi(-0x1.FFFFFFp+62, -0x8000000000000000);
+    try test__fixsfdi(-0x1.FFFFFEp+62, -0x7fffff8000000000);
+    try test__fixsfdi(-0x1.FFFFFCp+62, -0x7fffff0000000000);
 
-    test__fixsfdi(-2.01, -2);
-    test__fixsfdi(-2.0, -2);
-    test__fixsfdi(-1.99, -1);
-    test__fixsfdi(-1.0, -1);
-    test__fixsfdi(-0.99, 0);
-    test__fixsfdi(-0.5, 0);
-    test__fixsfdi(-math.f32_min, 0);
-    test__fixsfdi(0.0, 0);
-    test__fixsfdi(math.f32_min, 0);
-    test__fixsfdi(0.5, 0);
-    test__fixsfdi(0.99, 0);
-    test__fixsfdi(1.0, 1);
-    test__fixsfdi(1.5, 1);
-    test__fixsfdi(1.99, 1);
-    test__fixsfdi(2.0, 2);
-    test__fixsfdi(2.01, 2);
+    try test__fixsfdi(-2.01, -2);
+    try test__fixsfdi(-2.0, -2);
+    try test__fixsfdi(-1.99, -1);
+    try test__fixsfdi(-1.0, -1);
+    try test__fixsfdi(-0.99, 0);
+    try test__fixsfdi(-0.5, 0);
+    try test__fixsfdi(-math.f32_min, 0);
+    try test__fixsfdi(0.0, 0);
+    try test__fixsfdi(math.f32_min, 0);
+    try test__fixsfdi(0.5, 0);
+    try test__fixsfdi(0.99, 0);
+    try test__fixsfdi(1.0, 1);
+    try test__fixsfdi(1.5, 1);
+    try test__fixsfdi(1.99, 1);
+    try test__fixsfdi(2.0, 2);
+    try test__fixsfdi(2.01, 2);
 
-    test__fixsfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
-    test__fixsfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
-    test__fixsfdi(0x1.FFFFFFp+62, 0x7FFFFFFFFFFFFFFF);
+    try test__fixsfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
+    try test__fixsfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
+    try test__fixsfdi(0x1.FFFFFFp+62, 0x7FFFFFFFFFFFFFFF);
 
-    test__fixsfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFFFFF);
-    test__fixsfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFFFF);
-    test__fixsfdi(0x1.0000000000000p+63, 0x7FFFFFFFFFFFFFFF);
-    test__fixsfdi(0x1.0000000000001p+63, 0x7FFFFFFFFFFFFFFF);
+    try test__fixsfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFFFFF);
+    try test__fixsfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFFFF);
+    try test__fixsfdi(0x1.0000000000000p+63, 0x7FFFFFFFFFFFFFFF);
+    try test__fixsfdi(0x1.0000000000001p+63, 0x7FFFFFFFFFFFFFFF);
 
-    test__fixsfdi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFF);
-    test__fixsfdi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFF);
-    test__fixsfdi(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFF);
+    try test__fixsfdi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFF);
+    try test__fixsfdi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFF);
+    try test__fixsfdi(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFF);
 
-    test__fixsfdi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFF);
-    test__fixsfdi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i64));
+    try test__fixsfdi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFF);
+    try test__fixsfdi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i64));
 
-    test__fixsfdi(math.f64_max, math.maxInt(i64));
+    try test__fixsfdi(math.f64_max, math.maxInt(i64));
 }
lib/std/special/compiler_rt/fixsfsi_test.zig
@@ -9,7 +9,7 @@ const math = std.math;
 const testing = std.testing;
 const warn = std.debug.warn;
 
-fn test__fixsfsi(a: f32, expected: i32) void {
+fn test__fixsfsi(a: f32, expected: i32) !void {
     const x = __fixsfsi(a);
     //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u32, {x})\n", .{a, @bitCast(u32, a), x, x, expected, expected, @bitCast(u32, expected)});
     try testing.expect(x == expected);
@@ -17,64 +17,64 @@ fn test__fixsfsi(a: f32, expected: i32) void {
 
 test "fixsfsi" {
     //warn("\n", .{});
-    test__fixsfsi(-math.f32_max, math.minInt(i32));
+    try test__fixsfsi(-math.f32_max, math.minInt(i32));
 
-    test__fixsfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32));
-    test__fixsfsi(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000);
+    try test__fixsfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32));
+    try test__fixsfsi(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000);
 
-    test__fixsfsi(-0x1.0000000000000p+127, -0x80000000);
-    test__fixsfsi(-0x1.FFFFFFFFFFFFFp+126, -0x80000000);
-    test__fixsfsi(-0x1.FFFFFFFFFFFFEp+126, -0x80000000);
+    try test__fixsfsi(-0x1.0000000000000p+127, -0x80000000);
+    try test__fixsfsi(-0x1.FFFFFFFFFFFFFp+126, -0x80000000);
+    try test__fixsfsi(-0x1.FFFFFFFFFFFFEp+126, -0x80000000);
 
-    test__fixsfsi(-0x1.0000000000001p+63, -0x80000000);
-    test__fixsfsi(-0x1.0000000000000p+63, -0x80000000);
-    test__fixsfsi(-0x1.FFFFFFFFFFFFFp+62, -0x80000000);
-    test__fixsfsi(-0x1.FFFFFFFFFFFFEp+62, -0x80000000);
+    try test__fixsfsi(-0x1.0000000000001p+63, -0x80000000);
+    try test__fixsfsi(-0x1.0000000000000p+63, -0x80000000);
+    try test__fixsfsi(-0x1.FFFFFFFFFFFFFp+62, -0x80000000);
+    try test__fixsfsi(-0x1.FFFFFFFFFFFFEp+62, -0x80000000);
 
-    test__fixsfsi(-0x1.FFFFFEp+62, -0x80000000);
-    test__fixsfsi(-0x1.FFFFFCp+62, -0x80000000);
+    try test__fixsfsi(-0x1.FFFFFEp+62, -0x80000000);
+    try test__fixsfsi(-0x1.FFFFFCp+62, -0x80000000);
 
-    test__fixsfsi(-0x1.000000p+31, -0x80000000);
-    test__fixsfsi(-0x1.FFFFFFp+30, -0x80000000);
-    test__fixsfsi(-0x1.FFFFFEp+30, -0x7FFFFF80);
-    test__fixsfsi(-0x1.FFFFFCp+30, -0x7FFFFF00);
+    try test__fixsfsi(-0x1.000000p+31, -0x80000000);
+    try test__fixsfsi(-0x1.FFFFFFp+30, -0x80000000);
+    try test__fixsfsi(-0x1.FFFFFEp+30, -0x7FFFFF80);
+    try test__fixsfsi(-0x1.FFFFFCp+30, -0x7FFFFF00);
 
-    test__fixsfsi(-2.01, -2);
-    test__fixsfsi(-2.0, -2);
-    test__fixsfsi(-1.99, -1);
-    test__fixsfsi(-1.0, -1);
-    test__fixsfsi(-0.99, 0);
-    test__fixsfsi(-0.5, 0);
-    test__fixsfsi(-math.f32_min, 0);
-    test__fixsfsi(0.0, 0);
-    test__fixsfsi(math.f32_min, 0);
-    test__fixsfsi(0.5, 0);
-    test__fixsfsi(0.99, 0);
-    test__fixsfsi(1.0, 1);
-    test__fixsfsi(1.5, 1);
-    test__fixsfsi(1.99, 1);
-    test__fixsfsi(2.0, 2);
-    test__fixsfsi(2.01, 2);
+    try test__fixsfsi(-2.01, -2);
+    try test__fixsfsi(-2.0, -2);
+    try test__fixsfsi(-1.99, -1);
+    try test__fixsfsi(-1.0, -1);
+    try test__fixsfsi(-0.99, 0);
+    try test__fixsfsi(-0.5, 0);
+    try test__fixsfsi(-math.f32_min, 0);
+    try test__fixsfsi(0.0, 0);
+    try test__fixsfsi(math.f32_min, 0);
+    try test__fixsfsi(0.5, 0);
+    try test__fixsfsi(0.99, 0);
+    try test__fixsfsi(1.0, 1);
+    try test__fixsfsi(1.5, 1);
+    try test__fixsfsi(1.99, 1);
+    try test__fixsfsi(2.0, 2);
+    try test__fixsfsi(2.01, 2);
 
-    test__fixsfsi(0x1.FFFFFCp+30, 0x7FFFFF00);
-    test__fixsfsi(0x1.FFFFFEp+30, 0x7FFFFF80);
-    test__fixsfsi(0x1.FFFFFFp+30, 0x7FFFFFFF);
-    test__fixsfsi(0x1.000000p+31, 0x7FFFFFFF);
+    try test__fixsfsi(0x1.FFFFFCp+30, 0x7FFFFF00);
+    try test__fixsfsi(0x1.FFFFFEp+30, 0x7FFFFF80);
+    try test__fixsfsi(0x1.FFFFFFp+30, 0x7FFFFFFF);
+    try test__fixsfsi(0x1.000000p+31, 0x7FFFFFFF);
 
-    test__fixsfsi(0x1.FFFFFCp+62, 0x7FFFFFFF);
-    test__fixsfsi(0x1.FFFFFEp+62, 0x7FFFFFFF);
+    try test__fixsfsi(0x1.FFFFFCp+62, 0x7FFFFFFF);
+    try test__fixsfsi(0x1.FFFFFEp+62, 0x7FFFFFFF);
 
-    test__fixsfsi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFF);
-    test__fixsfsi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFF);
-    test__fixsfsi(0x1.0000000000000p+63, 0x7FFFFFFF);
-    test__fixsfsi(0x1.0000000000001p+63, 0x7FFFFFFF);
+    try test__fixsfsi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFF);
+    try test__fixsfsi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFF);
+    try test__fixsfsi(0x1.0000000000000p+63, 0x7FFFFFFF);
+    try test__fixsfsi(0x1.0000000000001p+63, 0x7FFFFFFF);
 
-    test__fixsfsi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFF);
-    test__fixsfsi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFF);
-    test__fixsfsi(0x1.0000000000000p+127, 0x7FFFFFFF);
+    try test__fixsfsi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFF);
+    try test__fixsfsi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFF);
+    try test__fixsfsi(0x1.0000000000000p+127, 0x7FFFFFFF);
 
-    test__fixsfsi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFF);
-    test__fixsfsi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i32));
+    try test__fixsfsi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFF);
+    try test__fixsfsi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i32));
 
-    test__fixsfsi(math.f32_max, math.maxInt(i32));
+    try test__fixsfsi(math.f32_max, math.maxInt(i32));
 }
lib/std/special/compiler_rt/fixsfti_test.zig
@@ -9,7 +9,7 @@ const math = std.math;
 const testing = std.testing;
 const warn = std.debug.warn;
 
-fn test__fixsfti(a: f32, expected: i128) void {
+fn test__fixsfti(a: f32, expected: i128) !void {
     const x = __fixsfti(a);
     //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u128, {x})\n", .{a, @bitCast(u32, a), x, x, expected, expected, @bitCast(u128, expected)});
     try testing.expect(x == expected);
@@ -17,72 +17,72 @@ fn test__fixsfti(a: f32, expected: i128) void {
 
 test "fixsfti" {
     //warn("\n", .{});
-    test__fixsfti(-math.f32_max, math.minInt(i128));
+    try test__fixsfti(-math.f32_max, math.minInt(i128));
 
-    test__fixsfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128));
-    test__fixsfti(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000000000000000000000000000);
+    try test__fixsfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128));
+    try test__fixsfti(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000000000000000000000000000);
 
-    test__fixsfti(-0x1.0000000000000p+127, -0x80000000000000000000000000000000);
-    test__fixsfti(-0x1.FFFFFFFFFFFFFp+126, -0x80000000000000000000000000000000);
-    test__fixsfti(-0x1.FFFFFFFFFFFFEp+126, -0x80000000000000000000000000000000);
-    test__fixsfti(-0x1.FFFFFF0000000p+126, -0x80000000000000000000000000000000);
-    test__fixsfti(-0x1.FFFFFE0000000p+126, -0x7FFFFF80000000000000000000000000);
-    test__fixsfti(-0x1.FFFFFC0000000p+126, -0x7FFFFF00000000000000000000000000);
+    try test__fixsfti(-0x1.0000000000000p+127, -0x80000000000000000000000000000000);
+    try test__fixsfti(-0x1.FFFFFFFFFFFFFp+126, -0x80000000000000000000000000000000);
+    try test__fixsfti(-0x1.FFFFFFFFFFFFEp+126, -0x80000000000000000000000000000000);
+    try test__fixsfti(-0x1.FFFFFF0000000p+126, -0x80000000000000000000000000000000);
+    try test__fixsfti(-0x1.FFFFFE0000000p+126, -0x7FFFFF80000000000000000000000000);
+    try test__fixsfti(-0x1.FFFFFC0000000p+126, -0x7FFFFF00000000000000000000000000);
 
-    test__fixsfti(-0x1.0000000000001p+63, -0x8000000000000000);
-    test__fixsfti(-0x1.0000000000000p+63, -0x8000000000000000);
-    test__fixsfti(-0x1.FFFFFFFFFFFFFp+62, -0x8000000000000000);
-    test__fixsfti(-0x1.FFFFFFFFFFFFEp+62, -0x8000000000000000);
+    try test__fixsfti(-0x1.0000000000001p+63, -0x8000000000000000);
+    try test__fixsfti(-0x1.0000000000000p+63, -0x8000000000000000);
+    try test__fixsfti(-0x1.FFFFFFFFFFFFFp+62, -0x8000000000000000);
+    try test__fixsfti(-0x1.FFFFFFFFFFFFEp+62, -0x8000000000000000);
 
-    test__fixsfti(-0x1.FFFFFFp+62, -0x8000000000000000);
-    test__fixsfti(-0x1.FFFFFEp+62, -0x7fffff8000000000);
-    test__fixsfti(-0x1.FFFFFCp+62, -0x7fffff0000000000);
+    try test__fixsfti(-0x1.FFFFFFp+62, -0x8000000000000000);
+    try test__fixsfti(-0x1.FFFFFEp+62, -0x7fffff8000000000);
+    try test__fixsfti(-0x1.FFFFFCp+62, -0x7fffff0000000000);
 
-    test__fixsfti(-0x1.000000p+31, -0x80000000);
-    test__fixsfti(-0x1.FFFFFFp+30, -0x80000000);
-    test__fixsfti(-0x1.FFFFFEp+30, -0x7FFFFF80);
-    test__fixsfti(-0x1.FFFFFCp+30, -0x7FFFFF00);
+    try test__fixsfti(-0x1.000000p+31, -0x80000000);
+    try test__fixsfti(-0x1.FFFFFFp+30, -0x80000000);
+    try test__fixsfti(-0x1.FFFFFEp+30, -0x7FFFFF80);
+    try test__fixsfti(-0x1.FFFFFCp+30, -0x7FFFFF00);
 
-    test__fixsfti(-2.01, -2);
-    test__fixsfti(-2.0, -2);
-    test__fixsfti(-1.99, -1);
-    test__fixsfti(-1.0, -1);
-    test__fixsfti(-0.99, 0);
-    test__fixsfti(-0.5, 0);
-    test__fixsfti(-math.f32_min, 0);
-    test__fixsfti(0.0, 0);
-    test__fixsfti(math.f32_min, 0);
-    test__fixsfti(0.5, 0);
-    test__fixsfti(0.99, 0);
-    test__fixsfti(1.0, 1);
-    test__fixsfti(1.5, 1);
-    test__fixsfti(1.99, 1);
-    test__fixsfti(2.0, 2);
-    test__fixsfti(2.01, 2);
+    try test__fixsfti(-2.01, -2);
+    try test__fixsfti(-2.0, -2);
+    try test__fixsfti(-1.99, -1);
+    try test__fixsfti(-1.0, -1);
+    try test__fixsfti(-0.99, 0);
+    try test__fixsfti(-0.5, 0);
+    try test__fixsfti(-math.f32_min, 0);
+    try test__fixsfti(0.0, 0);
+    try test__fixsfti(math.f32_min, 0);
+    try test__fixsfti(0.5, 0);
+    try test__fixsfti(0.99, 0);
+    try test__fixsfti(1.0, 1);
+    try test__fixsfti(1.5, 1);
+    try test__fixsfti(1.99, 1);
+    try test__fixsfti(2.0, 2);
+    try test__fixsfti(2.01, 2);
 
-    test__fixsfti(0x1.FFFFFCp+30, 0x7FFFFF00);
-    test__fixsfti(0x1.FFFFFEp+30, 0x7FFFFF80);
-    test__fixsfti(0x1.FFFFFFp+30, 0x80000000);
-    test__fixsfti(0x1.000000p+31, 0x80000000);
+    try test__fixsfti(0x1.FFFFFCp+30, 0x7FFFFF00);
+    try test__fixsfti(0x1.FFFFFEp+30, 0x7FFFFF80);
+    try test__fixsfti(0x1.FFFFFFp+30, 0x80000000);
+    try test__fixsfti(0x1.000000p+31, 0x80000000);
 
-    test__fixsfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
-    test__fixsfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
-    test__fixsfti(0x1.FFFFFFp+62, 0x8000000000000000);
+    try test__fixsfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
+    try test__fixsfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
+    try test__fixsfti(0x1.FFFFFFp+62, 0x8000000000000000);
 
-    test__fixsfti(0x1.FFFFFFFFFFFFEp+62, 0x8000000000000000);
-    test__fixsfti(0x1.FFFFFFFFFFFFFp+62, 0x8000000000000000);
-    test__fixsfti(0x1.0000000000000p+63, 0x8000000000000000);
-    test__fixsfti(0x1.0000000000001p+63, 0x8000000000000000);
+    try test__fixsfti(0x1.FFFFFFFFFFFFEp+62, 0x8000000000000000);
+    try test__fixsfti(0x1.FFFFFFFFFFFFFp+62, 0x8000000000000000);
+    try test__fixsfti(0x1.0000000000000p+63, 0x8000000000000000);
+    try test__fixsfti(0x1.0000000000001p+63, 0x8000000000000000);
 
-    test__fixsfti(0x1.FFFFFC0000000p+126, 0x7FFFFF00000000000000000000000000);
-    test__fixsfti(0x1.FFFFFE0000000p+126, 0x7FFFFF80000000000000000000000000);
-    test__fixsfti(0x1.FFFFFF0000000p+126, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
-    test__fixsfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
-    test__fixsfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
-    test__fixsfti(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
+    try test__fixsfti(0x1.FFFFFC0000000p+126, 0x7FFFFF00000000000000000000000000);
+    try test__fixsfti(0x1.FFFFFE0000000p+126, 0x7FFFFF80000000000000000000000000);
+    try test__fixsfti(0x1.FFFFFF0000000p+126, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
+    try test__fixsfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
+    try test__fixsfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
+    try test__fixsfti(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
 
-    test__fixsfti(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
-    test__fixsfti(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i128));
+    try test__fixsfti(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
+    try test__fixsfti(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i128));
 
-    test__fixsfti(math.f32_max, math.maxInt(i128));
+    try test__fixsfti(math.f32_max, math.maxInt(i128));
 }
lib/std/special/compiler_rt/fixtfdi_test.zig
@@ -9,7 +9,7 @@ const math = std.math;
 const testing = std.testing;
 const warn = std.debug.warn;
 
-fn test__fixtfdi(a: f128, expected: i64) void {
+fn test__fixtfdi(a: f128, expected: i64) !void {
     const x = __fixtfdi(a);
     //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u64, {x})\n", .{a, @bitCast(u128, a), x, x, expected, expected, @bitCast(u64, expected)});
     try testing.expect(x == expected);
@@ -17,64 +17,64 @@ fn test__fixtfdi(a: f128, expected: i64) void {
 
 test "fixtfdi" {
     //warn("\n", .{});
-    test__fixtfdi(-math.f128_max, math.minInt(i64));
+    try test__fixtfdi(-math.f128_max, math.minInt(i64));
 
-    test__fixtfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64));
-    test__fixtfdi(-0x1.FFFFFFFFFFFFFp+1023, -0x8000000000000000);
+    try test__fixtfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64));
+    try test__fixtfdi(-0x1.FFFFFFFFFFFFFp+1023, -0x8000000000000000);
 
-    test__fixtfdi(-0x1.0000000000000p+127, -0x8000000000000000);
-    test__fixtfdi(-0x1.FFFFFFFFFFFFFp+126, -0x8000000000000000);
-    test__fixtfdi(-0x1.FFFFFFFFFFFFEp+126, -0x8000000000000000);
+    try test__fixtfdi(-0x1.0000000000000p+127, -0x8000000000000000);
+    try test__fixtfdi(-0x1.FFFFFFFFFFFFFp+126, -0x8000000000000000);
+    try test__fixtfdi(-0x1.FFFFFFFFFFFFEp+126, -0x8000000000000000);
 
-    test__fixtfdi(-0x1.0000000000001p+63, -0x8000000000000000);
-    test__fixtfdi(-0x1.0000000000000p+63, -0x8000000000000000);
-    test__fixtfdi(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00);
-    test__fixtfdi(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800);
+    try test__fixtfdi(-0x1.0000000000001p+63, -0x8000000000000000);
+    try test__fixtfdi(-0x1.0000000000000p+63, -0x8000000000000000);
+    try test__fixtfdi(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00);
+    try test__fixtfdi(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800);
 
-    test__fixtfdi(-0x1.FFFFFEp+62, -0x7FFFFF8000000000);
-    test__fixtfdi(-0x1.FFFFFCp+62, -0x7FFFFF0000000000);
+    try test__fixtfdi(-0x1.FFFFFEp+62, -0x7FFFFF8000000000);
+    try test__fixtfdi(-0x1.FFFFFCp+62, -0x7FFFFF0000000000);
 
-    test__fixtfdi(-0x1.000000p+31, -0x80000000);
-    test__fixtfdi(-0x1.FFFFFFp+30, -0x7FFFFFC0);
-    test__fixtfdi(-0x1.FFFFFEp+30, -0x7FFFFF80);
-    test__fixtfdi(-0x1.FFFFFCp+30, -0x7FFFFF00);
+    try test__fixtfdi(-0x1.000000p+31, -0x80000000);
+    try test__fixtfdi(-0x1.FFFFFFp+30, -0x7FFFFFC0);
+    try test__fixtfdi(-0x1.FFFFFEp+30, -0x7FFFFF80);
+    try test__fixtfdi(-0x1.FFFFFCp+30, -0x7FFFFF00);
 
-    test__fixtfdi(-2.01, -2);
-    test__fixtfdi(-2.0, -2);
-    test__fixtfdi(-1.99, -1);
-    test__fixtfdi(-1.0, -1);
-    test__fixtfdi(-0.99, 0);
-    test__fixtfdi(-0.5, 0);
-    test__fixtfdi(-math.f64_min, 0);
-    test__fixtfdi(0.0, 0);
-    test__fixtfdi(math.f64_min, 0);
-    test__fixtfdi(0.5, 0);
-    test__fixtfdi(0.99, 0);
-    test__fixtfdi(1.0, 1);
-    test__fixtfdi(1.5, 1);
-    test__fixtfdi(1.99, 1);
-    test__fixtfdi(2.0, 2);
-    test__fixtfdi(2.01, 2);
+    try test__fixtfdi(-2.01, -2);
+    try test__fixtfdi(-2.0, -2);
+    try test__fixtfdi(-1.99, -1);
+    try test__fixtfdi(-1.0, -1);
+    try test__fixtfdi(-0.99, 0);
+    try test__fixtfdi(-0.5, 0);
+    try test__fixtfdi(-math.f64_min, 0);
+    try test__fixtfdi(0.0, 0);
+    try test__fixtfdi(math.f64_min, 0);
+    try test__fixtfdi(0.5, 0);
+    try test__fixtfdi(0.99, 0);
+    try test__fixtfdi(1.0, 1);
+    try test__fixtfdi(1.5, 1);
+    try test__fixtfdi(1.99, 1);
+    try test__fixtfdi(2.0, 2);
+    try test__fixtfdi(2.01, 2);
 
-    test__fixtfdi(0x1.FFFFFCp+30, 0x7FFFFF00);
-    test__fixtfdi(0x1.FFFFFEp+30, 0x7FFFFF80);
-    test__fixtfdi(0x1.FFFFFFp+30, 0x7FFFFFC0);
-    test__fixtfdi(0x1.000000p+31, 0x80000000);
+    try test__fixtfdi(0x1.FFFFFCp+30, 0x7FFFFF00);
+    try test__fixtfdi(0x1.FFFFFEp+30, 0x7FFFFF80);
+    try test__fixtfdi(0x1.FFFFFFp+30, 0x7FFFFFC0);
+    try test__fixtfdi(0x1.000000p+31, 0x80000000);
 
-    test__fixtfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
-    test__fixtfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
+    try test__fixtfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
+    try test__fixtfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
 
-    test__fixtfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800);
-    test__fixtfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00);
-    test__fixtfdi(0x1.0000000000000p+63, 0x7FFFFFFFFFFFFFFF);
-    test__fixtfdi(0x1.0000000000001p+63, 0x7FFFFFFFFFFFFFFF);
+    try test__fixtfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800);
+    try test__fixtfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00);
+    try test__fixtfdi(0x1.0000000000000p+63, 0x7FFFFFFFFFFFFFFF);
+    try test__fixtfdi(0x1.0000000000001p+63, 0x7FFFFFFFFFFFFFFF);
 
-    test__fixtfdi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFF);
-    test__fixtfdi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFF);
-    test__fixtfdi(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFF);
+    try test__fixtfdi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFF);
+    try test__fixtfdi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFF);
+    try test__fixtfdi(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFF);
 
-    test__fixtfdi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFF);
-    test__fixtfdi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i64));
+    try test__fixtfdi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFF);
+    try test__fixtfdi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i64));
 
-    test__fixtfdi(math.f128_max, math.maxInt(i64));
+    try test__fixtfdi(math.f128_max, math.maxInt(i64));
 }
lib/std/special/compiler_rt/fixtfsi_test.zig
@@ -9,7 +9,7 @@ const math = std.math;
 const testing = std.testing;
 const warn = std.debug.warn;
 
-fn test__fixtfsi(a: f128, expected: i32) void {
+fn test__fixtfsi(a: f128, expected: i32) !void {
     const x = __fixtfsi(a);
     //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u32, {x})\n", .{a, @bitCast(u128, a), x, x, expected, expected, @bitCast(u32, expected)});
     try testing.expect(x == expected);
@@ -17,64 +17,64 @@ fn test__fixtfsi(a: f128, expected: i32) void {
 
 test "fixtfsi" {
     //warn("\n", .{});
-    test__fixtfsi(-math.f128_max, math.minInt(i32));
+    try test__fixtfsi(-math.f128_max, math.minInt(i32));
 
-    test__fixtfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32));
-    test__fixtfsi(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000);
+    try test__fixtfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32));
+    try test__fixtfsi(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000);
 
-    test__fixtfsi(-0x1.0000000000000p+127, -0x80000000);
-    test__fixtfsi(-0x1.FFFFFFFFFFFFFp+126, -0x80000000);
-    test__fixtfsi(-0x1.FFFFFFFFFFFFEp+126, -0x80000000);
+    try test__fixtfsi(-0x1.0000000000000p+127, -0x80000000);
+    try test__fixtfsi(-0x1.FFFFFFFFFFFFFp+126, -0x80000000);
+    try test__fixtfsi(-0x1.FFFFFFFFFFFFEp+126, -0x80000000);
 
-    test__fixtfsi(-0x1.0000000000001p+63, -0x80000000);
-    test__fixtfsi(-0x1.0000000000000p+63, -0x80000000);
-    test__fixtfsi(-0x1.FFFFFFFFFFFFFp+62, -0x80000000);
-    test__fixtfsi(-0x1.FFFFFFFFFFFFEp+62, -0x80000000);
+    try test__fixtfsi(-0x1.0000000000001p+63, -0x80000000);
+    try test__fixtfsi(-0x1.0000000000000p+63, -0x80000000);
+    try test__fixtfsi(-0x1.FFFFFFFFFFFFFp+62, -0x80000000);
+    try test__fixtfsi(-0x1.FFFFFFFFFFFFEp+62, -0x80000000);
 
-    test__fixtfsi(-0x1.FFFFFEp+62, -0x80000000);
-    test__fixtfsi(-0x1.FFFFFCp+62, -0x80000000);
+    try test__fixtfsi(-0x1.FFFFFEp+62, -0x80000000);
+    try test__fixtfsi(-0x1.FFFFFCp+62, -0x80000000);
 
-    test__fixtfsi(-0x1.000000p+31, -0x80000000);
-    test__fixtfsi(-0x1.FFFFFFp+30, -0x7FFFFFC0);
-    test__fixtfsi(-0x1.FFFFFEp+30, -0x7FFFFF80);
-    test__fixtfsi(-0x1.FFFFFCp+30, -0x7FFFFF00);
+    try test__fixtfsi(-0x1.000000p+31, -0x80000000);
+    try test__fixtfsi(-0x1.FFFFFFp+30, -0x7FFFFFC0);
+    try test__fixtfsi(-0x1.FFFFFEp+30, -0x7FFFFF80);
+    try test__fixtfsi(-0x1.FFFFFCp+30, -0x7FFFFF00);
 
-    test__fixtfsi(-2.01, -2);
-    test__fixtfsi(-2.0, -2);
-    test__fixtfsi(-1.99, -1);
-    test__fixtfsi(-1.0, -1);
-    test__fixtfsi(-0.99, 0);
-    test__fixtfsi(-0.5, 0);
-    test__fixtfsi(-math.f32_min, 0);
-    test__fixtfsi(0.0, 0);
-    test__fixtfsi(math.f32_min, 0);
-    test__fixtfsi(0.5, 0);
-    test__fixtfsi(0.99, 0);
-    test__fixtfsi(1.0, 1);
-    test__fixtfsi(1.5, 1);
-    test__fixtfsi(1.99, 1);
-    test__fixtfsi(2.0, 2);
-    test__fixtfsi(2.01, 2);
+    try test__fixtfsi(-2.01, -2);
+    try test__fixtfsi(-2.0, -2);
+    try test__fixtfsi(-1.99, -1);
+    try test__fixtfsi(-1.0, -1);
+    try test__fixtfsi(-0.99, 0);
+    try test__fixtfsi(-0.5, 0);
+    try test__fixtfsi(-math.f32_min, 0);
+    try test__fixtfsi(0.0, 0);
+    try test__fixtfsi(math.f32_min, 0);
+    try test__fixtfsi(0.5, 0);
+    try test__fixtfsi(0.99, 0);
+    try test__fixtfsi(1.0, 1);
+    try test__fixtfsi(1.5, 1);
+    try test__fixtfsi(1.99, 1);
+    try test__fixtfsi(2.0, 2);
+    try test__fixtfsi(2.01, 2);
 
-    test__fixtfsi(0x1.FFFFFCp+30, 0x7FFFFF00);
-    test__fixtfsi(0x1.FFFFFEp+30, 0x7FFFFF80);
-    test__fixtfsi(0x1.FFFFFFp+30, 0x7FFFFFC0);
-    test__fixtfsi(0x1.000000p+31, 0x7FFFFFFF);
+    try test__fixtfsi(0x1.FFFFFCp+30, 0x7FFFFF00);
+    try test__fixtfsi(0x1.FFFFFEp+30, 0x7FFFFF80);
+    try test__fixtfsi(0x1.FFFFFFp+30, 0x7FFFFFC0);
+    try test__fixtfsi(0x1.000000p+31, 0x7FFFFFFF);
 
-    test__fixtfsi(0x1.FFFFFCp+62, 0x7FFFFFFF);
-    test__fixtfsi(0x1.FFFFFEp+62, 0x7FFFFFFF);
+    try test__fixtfsi(0x1.FFFFFCp+62, 0x7FFFFFFF);
+    try test__fixtfsi(0x1.FFFFFEp+62, 0x7FFFFFFF);
 
-    test__fixtfsi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFF);
-    test__fixtfsi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFF);
-    test__fixtfsi(0x1.0000000000000p+63, 0x7FFFFFFF);
-    test__fixtfsi(0x1.0000000000001p+63, 0x7FFFFFFF);
+    try test__fixtfsi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFF);
+    try test__fixtfsi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFF);
+    try test__fixtfsi(0x1.0000000000000p+63, 0x7FFFFFFF);
+    try test__fixtfsi(0x1.0000000000001p+63, 0x7FFFFFFF);
 
-    test__fixtfsi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFF);
-    test__fixtfsi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFF);
-    test__fixtfsi(0x1.0000000000000p+127, 0x7FFFFFFF);
+    try test__fixtfsi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFF);
+    try test__fixtfsi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFF);
+    try test__fixtfsi(0x1.0000000000000p+127, 0x7FFFFFFF);
 
-    test__fixtfsi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFF);
-    test__fixtfsi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i32));
+    try test__fixtfsi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFF);
+    try test__fixtfsi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i32));
 
-    test__fixtfsi(math.f128_max, math.maxInt(i32));
+    try test__fixtfsi(math.f128_max, math.maxInt(i32));
 }
lib/std/special/compiler_rt/fixtfti_test.zig
@@ -9,7 +9,7 @@ const math = std.math;
 const testing = std.testing;
 const warn = std.debug.warn;
 
-fn test__fixtfti(a: f128, expected: i128) void {
+fn test__fixtfti(a: f128, expected: i128) !void {
     const x = __fixtfti(a);
     //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u128, {x})\n", .{a, @bitCast(u128, a), x, x, expected, expected, @bitCast(u128, expected)});
     try testing.expect(x == expected);
@@ -17,54 +17,54 @@ fn test__fixtfti(a: f128, expected: i128) void {
 
 test "fixtfti" {
     //warn("\n", .{});
-    test__fixtfti(-math.f128_max, math.minInt(i128));
+    try test__fixtfti(-math.f128_max, math.minInt(i128));
 
-    test__fixtfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128));
-    test__fixtfti(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000000000000000000000000000);
+    try test__fixtfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128));
+    try test__fixtfti(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000000000000000000000000000);
 
-    test__fixtfti(-0x1.0000000000000p+127, -0x80000000000000000000000000000000);
-    test__fixtfti(-0x1.FFFFFFFFFFFFFp+126, -0x7FFFFFFFFFFFFC000000000000000000);
-    test__fixtfti(-0x1.FFFFFFFFFFFFEp+126, -0x7FFFFFFFFFFFF8000000000000000000);
+    try test__fixtfti(-0x1.0000000000000p+127, -0x80000000000000000000000000000000);
+    try test__fixtfti(-0x1.FFFFFFFFFFFFFp+126, -0x7FFFFFFFFFFFFC000000000000000000);
+    try test__fixtfti(-0x1.FFFFFFFFFFFFEp+126, -0x7FFFFFFFFFFFF8000000000000000000);
 
-    test__fixtfti(-0x1.0000000000001p+63, -0x8000000000000800);
-    test__fixtfti(-0x1.0000000000000p+63, -0x8000000000000000);
-    test__fixtfti(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00);
-    test__fixtfti(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800);
+    try test__fixtfti(-0x1.0000000000001p+63, -0x8000000000000800);
+    try test__fixtfti(-0x1.0000000000000p+63, -0x8000000000000000);
+    try test__fixtfti(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00);
+    try test__fixtfti(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800);
 
-    test__fixtfti(-0x1.FFFFFEp+62, -0x7fffff8000000000);
-    test__fixtfti(-0x1.FFFFFCp+62, -0x7fffff0000000000);
+    try test__fixtfti(-0x1.FFFFFEp+62, -0x7fffff8000000000);
+    try test__fixtfti(-0x1.FFFFFCp+62, -0x7fffff0000000000);
 
-    test__fixtfti(-2.01, -2);
-    test__fixtfti(-2.0, -2);
-    test__fixtfti(-1.99, -1);
-    test__fixtfti(-1.0, -1);
-    test__fixtfti(-0.99, 0);
-    test__fixtfti(-0.5, 0);
-    test__fixtfti(-math.f128_min, 0);
-    test__fixtfti(0.0, 0);
-    test__fixtfti(math.f128_min, 0);
-    test__fixtfti(0.5, 0);
-    test__fixtfti(0.99, 0);
-    test__fixtfti(1.0, 1);
-    test__fixtfti(1.5, 1);
-    test__fixtfti(1.99, 1);
-    test__fixtfti(2.0, 2);
-    test__fixtfti(2.01, 2);
+    try test__fixtfti(-2.01, -2);
+    try test__fixtfti(-2.0, -2);
+    try test__fixtfti(-1.99, -1);
+    try test__fixtfti(-1.0, -1);
+    try test__fixtfti(-0.99, 0);
+    try test__fixtfti(-0.5, 0);
+    try test__fixtfti(-math.f128_min, 0);
+    try test__fixtfti(0.0, 0);
+    try test__fixtfti(math.f128_min, 0);
+    try test__fixtfti(0.5, 0);
+    try test__fixtfti(0.99, 0);
+    try test__fixtfti(1.0, 1);
+    try test__fixtfti(1.5, 1);
+    try test__fixtfti(1.99, 1);
+    try test__fixtfti(2.0, 2);
+    try test__fixtfti(2.01, 2);
 
-    test__fixtfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
-    test__fixtfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
+    try test__fixtfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
+    try test__fixtfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
 
-    test__fixtfti(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800);
-    test__fixtfti(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00);
-    test__fixtfti(0x1.0000000000000p+63, 0x8000000000000000);
-    test__fixtfti(0x1.0000000000001p+63, 0x8000000000000800);
+    try test__fixtfti(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800);
+    try test__fixtfti(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00);
+    try test__fixtfti(0x1.0000000000000p+63, 0x8000000000000000);
+    try test__fixtfti(0x1.0000000000001p+63, 0x8000000000000800);
 
-    test__fixtfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFF8000000000000000000);
-    test__fixtfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFC000000000000000000);
-    test__fixtfti(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
+    try test__fixtfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFF8000000000000000000);
+    try test__fixtfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFC000000000000000000);
+    try test__fixtfti(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
 
-    test__fixtfti(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
-    test__fixtfti(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i128));
+    try test__fixtfti(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
+    try test__fixtfti(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i128));
 
-    test__fixtfti(math.f128_max, math.maxInt(i128));
+    try test__fixtfti(math.f128_max, math.maxInt(i128));
 }
lib/std/special/compiler_rt/fixunsdfdi_test.zig
@@ -6,7 +6,7 @@
 const __fixunsdfdi = @import("fixunsdfdi.zig").__fixunsdfdi;
 const testing = @import("std").testing;
 
-fn test__fixunsdfdi(a: f64, expected: u64) void {
+fn test__fixunsdfdi(a: f64, expected: u64) !void {
     const x = __fixunsdfdi(a);
     try testing.expect(x == expected);
 }
@@ -15,30 +15,30 @@ test "fixunsdfdi" {
     //test__fixunsdfdi(0.0, 0);
     //test__fixunsdfdi(0.5, 0);
     //test__fixunsdfdi(0.99, 0);
-    test__fixunsdfdi(1.0, 1);
-    test__fixunsdfdi(1.5, 1);
-    test__fixunsdfdi(1.99, 1);
-    test__fixunsdfdi(2.0, 2);
-    test__fixunsdfdi(2.01, 2);
-    test__fixunsdfdi(-0.5, 0);
-    test__fixunsdfdi(-0.99, 0);
-    test__fixunsdfdi(-1.0, 0);
-    test__fixunsdfdi(-1.5, 0);
-    test__fixunsdfdi(-1.99, 0);
-    test__fixunsdfdi(-2.0, 0);
-    test__fixunsdfdi(-2.01, 0);
+    try test__fixunsdfdi(1.0, 1);
+    try test__fixunsdfdi(1.5, 1);
+    try test__fixunsdfdi(1.99, 1);
+    try test__fixunsdfdi(2.0, 2);
+    try test__fixunsdfdi(2.01, 2);
+    try test__fixunsdfdi(-0.5, 0);
+    try test__fixunsdfdi(-0.99, 0);
+    try test__fixunsdfdi(-1.0, 0);
+    try test__fixunsdfdi(-1.5, 0);
+    try test__fixunsdfdi(-1.99, 0);
+    try test__fixunsdfdi(-2.0, 0);
+    try test__fixunsdfdi(-2.01, 0);
 
-    test__fixunsdfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
-    test__fixunsdfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
+    try test__fixunsdfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
+    try test__fixunsdfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
 
-    test__fixunsdfdi(-0x1.FFFFFEp+62, 0);
-    test__fixunsdfdi(-0x1.FFFFFCp+62, 0);
+    try test__fixunsdfdi(-0x1.FFFFFEp+62, 0);
+    try test__fixunsdfdi(-0x1.FFFFFCp+62, 0);
 
-    test__fixunsdfdi(0x1.FFFFFFFFFFFFFp+63, 0xFFFFFFFFFFFFF800);
-    test__fixunsdfdi(0x1.0000000000000p+63, 0x8000000000000000);
-    test__fixunsdfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00);
-    test__fixunsdfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800);
+    try test__fixunsdfdi(0x1.FFFFFFFFFFFFFp+63, 0xFFFFFFFFFFFFF800);
+    try test__fixunsdfdi(0x1.0000000000000p+63, 0x8000000000000000);
+    try test__fixunsdfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00);
+    try test__fixunsdfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800);
 
-    test__fixunsdfdi(-0x1.FFFFFFFFFFFFFp+62, 0);
-    test__fixunsdfdi(-0x1.FFFFFFFFFFFFEp+62, 0);
+    try test__fixunsdfdi(-0x1.FFFFFFFFFFFFFp+62, 0);
+    try test__fixunsdfdi(-0x1.FFFFFFFFFFFFEp+62, 0);
 }
lib/std/special/compiler_rt/fixunsdfsi_test.zig
@@ -6,39 +6,39 @@
 const __fixunsdfsi = @import("fixunsdfsi.zig").__fixunsdfsi;
 const testing = @import("std").testing;
 
-fn test__fixunsdfsi(a: f64, expected: u32) void {
+fn test__fixunsdfsi(a: f64, expected: u32) !void {
     const x = __fixunsdfsi(a);
     try testing.expect(x == expected);
 }
 
 test "fixunsdfsi" {
-    test__fixunsdfsi(0.0, 0);
+    try test__fixunsdfsi(0.0, 0);
 
-    test__fixunsdfsi(0.5, 0);
-    test__fixunsdfsi(0.99, 0);
-    test__fixunsdfsi(1.0, 1);
-    test__fixunsdfsi(1.5, 1);
-    test__fixunsdfsi(1.99, 1);
-    test__fixunsdfsi(2.0, 2);
-    test__fixunsdfsi(2.01, 2);
-    test__fixunsdfsi(-0.5, 0);
-    test__fixunsdfsi(-0.99, 0);
-    test__fixunsdfsi(-1.0, 0);
-    test__fixunsdfsi(-1.5, 0);
-    test__fixunsdfsi(-1.99, 0);
-    test__fixunsdfsi(-2.0, 0);
-    test__fixunsdfsi(-2.01, 0);
+    try test__fixunsdfsi(0.5, 0);
+    try test__fixunsdfsi(0.99, 0);
+    try test__fixunsdfsi(1.0, 1);
+    try test__fixunsdfsi(1.5, 1);
+    try test__fixunsdfsi(1.99, 1);
+    try test__fixunsdfsi(2.0, 2);
+    try test__fixunsdfsi(2.01, 2);
+    try test__fixunsdfsi(-0.5, 0);
+    try test__fixunsdfsi(-0.99, 0);
+    try test__fixunsdfsi(-1.0, 0);
+    try test__fixunsdfsi(-1.5, 0);
+    try test__fixunsdfsi(-1.99, 0);
+    try test__fixunsdfsi(-2.0, 0);
+    try test__fixunsdfsi(-2.01, 0);
 
-    test__fixunsdfsi(0x1.000000p+31, 0x80000000);
-    test__fixunsdfsi(0x1.000000p+32, 0xFFFFFFFF);
-    test__fixunsdfsi(0x1.FFFFFEp+31, 0xFFFFFF00);
-    test__fixunsdfsi(0x1.FFFFFEp+30, 0x7FFFFF80);
-    test__fixunsdfsi(0x1.FFFFFCp+30, 0x7FFFFF00);
+    try test__fixunsdfsi(0x1.000000p+31, 0x80000000);
+    try test__fixunsdfsi(0x1.000000p+32, 0xFFFFFFFF);
+    try test__fixunsdfsi(0x1.FFFFFEp+31, 0xFFFFFF00);
+    try test__fixunsdfsi(0x1.FFFFFEp+30, 0x7FFFFF80);
+    try test__fixunsdfsi(0x1.FFFFFCp+30, 0x7FFFFF00);
 
-    test__fixunsdfsi(-0x1.FFFFFEp+30, 0);
-    test__fixunsdfsi(-0x1.FFFFFCp+30, 0);
+    try test__fixunsdfsi(-0x1.FFFFFEp+30, 0);
+    try test__fixunsdfsi(-0x1.FFFFFCp+30, 0);
 
-    test__fixunsdfsi(0x1.FFFFFFFEp+31, 0xFFFFFFFF);
-    test__fixunsdfsi(0x1.FFFFFFFC00000p+30, 0x7FFFFFFF);
-    test__fixunsdfsi(0x1.FFFFFFF800000p+30, 0x7FFFFFFE);
+    try test__fixunsdfsi(0x1.FFFFFFFEp+31, 0xFFFFFFFF);
+    try test__fixunsdfsi(0x1.FFFFFFFC00000p+30, 0x7FFFFFFF);
+    try test__fixunsdfsi(0x1.FFFFFFF800000p+30, 0x7FFFFFFE);
 }
lib/std/special/compiler_rt/fixunsdfti_test.zig
@@ -6,46 +6,46 @@
 const __fixunsdfti = @import("fixunsdfti.zig").__fixunsdfti;
 const testing = @import("std").testing;
 
-fn test__fixunsdfti(a: f64, expected: u128) void {
+fn test__fixunsdfti(a: f64, expected: u128) !void {
     const x = __fixunsdfti(a);
     try testing.expect(x == expected);
 }
 
 test "fixunsdfti" {
-    test__fixunsdfti(0.0, 0);
-
-    test__fixunsdfti(0.5, 0);
-    test__fixunsdfti(0.99, 0);
-    test__fixunsdfti(1.0, 1);
-    test__fixunsdfti(1.5, 1);
-    test__fixunsdfti(1.99, 1);
-    test__fixunsdfti(2.0, 2);
-    test__fixunsdfti(2.01, 2);
-    test__fixunsdfti(-0.5, 0);
-    test__fixunsdfti(-0.99, 0);
-    test__fixunsdfti(-1.0, 0);
-    test__fixunsdfti(-1.5, 0);
-    test__fixunsdfti(-1.99, 0);
-    test__fixunsdfti(-2.0, 0);
-    test__fixunsdfti(-2.01, 0);
-
-    test__fixunsdfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
-    test__fixunsdfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
-
-    test__fixunsdfti(-0x1.FFFFFEp+62, 0);
-    test__fixunsdfti(-0x1.FFFFFCp+62, 0);
-
-    test__fixunsdfti(0x1.FFFFFFFFFFFFFp+63, 0xFFFFFFFFFFFFF800);
-    test__fixunsdfti(0x1.0000000000000p+63, 0x8000000000000000);
-    test__fixunsdfti(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00);
-    test__fixunsdfti(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800);
-
-    test__fixunsdfti(0x1.FFFFFFFFFFFFFp+127, 0xFFFFFFFFFFFFF8000000000000000000);
-    test__fixunsdfti(0x1.0000000000000p+127, 0x80000000000000000000000000000000);
-    test__fixunsdfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFC000000000000000000);
-    test__fixunsdfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFF8000000000000000000);
-    test__fixunsdfti(0x1.0000000000000p+128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
-
-    test__fixunsdfti(-0x1.FFFFFFFFFFFFFp+62, 0);
-    test__fixunsdfti(-0x1.FFFFFFFFFFFFEp+62, 0);
+    try test__fixunsdfti(0.0, 0);
+
+    try test__fixunsdfti(0.5, 0);
+    try test__fixunsdfti(0.99, 0);
+    try test__fixunsdfti(1.0, 1);
+    try test__fixunsdfti(1.5, 1);
+    try test__fixunsdfti(1.99, 1);
+    try test__fixunsdfti(2.0, 2);
+    try test__fixunsdfti(2.01, 2);
+    try test__fixunsdfti(-0.5, 0);
+    try test__fixunsdfti(-0.99, 0);
+    try test__fixunsdfti(-1.0, 0);
+    try test__fixunsdfti(-1.5, 0);
+    try test__fixunsdfti(-1.99, 0);
+    try test__fixunsdfti(-2.0, 0);
+    try test__fixunsdfti(-2.01, 0);
+
+    try test__fixunsdfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
+    try test__fixunsdfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
+
+    try test__fixunsdfti(-0x1.FFFFFEp+62, 0);
+    try test__fixunsdfti(-0x1.FFFFFCp+62, 0);
+
+    try test__fixunsdfti(0x1.FFFFFFFFFFFFFp+63, 0xFFFFFFFFFFFFF800);
+    try test__fixunsdfti(0x1.0000000000000p+63, 0x8000000000000000);
+    try test__fixunsdfti(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00);
+    try test__fixunsdfti(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800);
+
+    try test__fixunsdfti(0x1.FFFFFFFFFFFFFp+127, 0xFFFFFFFFFFFFF8000000000000000000);
+    try test__fixunsdfti(0x1.0000000000000p+127, 0x80000000000000000000000000000000);
+    try test__fixunsdfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFC000000000000000000);
+    try test__fixunsdfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFF8000000000000000000);
+    try test__fixunsdfti(0x1.0000000000000p+128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
+
+    try test__fixunsdfti(-0x1.FFFFFFFFFFFFFp+62, 0);
+    try test__fixunsdfti(-0x1.FFFFFFFFFFFFEp+62, 0);
 }
lib/std/special/compiler_rt/fixunssfdi_test.zig
@@ -6,35 +6,35 @@
 const __fixunssfdi = @import("fixunssfdi.zig").__fixunssfdi;
 const testing = @import("std").testing;
 
-fn test__fixunssfdi(a: f32, expected: u64) void {
+fn test__fixunssfdi(a: f32, expected: u64) !void {
     const x = __fixunssfdi(a);
     try testing.expect(x == expected);
 }
 
 test "fixunssfdi" {
-    test__fixunssfdi(0.0, 0);
+    try test__fixunssfdi(0.0, 0);
 
-    test__fixunssfdi(0.5, 0);
-    test__fixunssfdi(0.99, 0);
-    test__fixunssfdi(1.0, 1);
-    test__fixunssfdi(1.5, 1);
-    test__fixunssfdi(1.99, 1);
-    test__fixunssfdi(2.0, 2);
-    test__fixunssfdi(2.01, 2);
-    test__fixunssfdi(-0.5, 0);
-    test__fixunssfdi(-0.99, 0);
+    try test__fixunssfdi(0.5, 0);
+    try test__fixunssfdi(0.99, 0);
+    try test__fixunssfdi(1.0, 1);
+    try test__fixunssfdi(1.5, 1);
+    try test__fixunssfdi(1.99, 1);
+    try test__fixunssfdi(2.0, 2);
+    try test__fixunssfdi(2.01, 2);
+    try test__fixunssfdi(-0.5, 0);
+    try test__fixunssfdi(-0.99, 0);
 
-    test__fixunssfdi(-1.0, 0);
-    test__fixunssfdi(-1.5, 0);
-    test__fixunssfdi(-1.99, 0);
-    test__fixunssfdi(-2.0, 0);
-    test__fixunssfdi(-2.01, 0);
+    try test__fixunssfdi(-1.0, 0);
+    try test__fixunssfdi(-1.5, 0);
+    try test__fixunssfdi(-1.99, 0);
+    try test__fixunssfdi(-2.0, 0);
+    try test__fixunssfdi(-2.01, 0);
 
-    test__fixunssfdi(0x1.FFFFFEp+63, 0xFFFFFF0000000000);
-    test__fixunssfdi(0x1.000000p+63, 0x8000000000000000);
-    test__fixunssfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
-    test__fixunssfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
+    try test__fixunssfdi(0x1.FFFFFEp+63, 0xFFFFFF0000000000);
+    try test__fixunssfdi(0x1.000000p+63, 0x8000000000000000);
+    try test__fixunssfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
+    try test__fixunssfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
 
-    test__fixunssfdi(-0x1.FFFFFEp+62, 0x0000000000000000);
-    test__fixunssfdi(-0x1.FFFFFCp+62, 0x0000000000000000);
+    try test__fixunssfdi(-0x1.FFFFFEp+62, 0x0000000000000000);
+    try test__fixunssfdi(-0x1.FFFFFCp+62, 0x0000000000000000);
 }
lib/std/special/compiler_rt/fixunssfsi_test.zig
@@ -6,36 +6,36 @@
 const __fixunssfsi = @import("fixunssfsi.zig").__fixunssfsi;
 const testing = @import("std").testing;
 
-fn test__fixunssfsi(a: f32, expected: u32) void {
+fn test__fixunssfsi(a: f32, expected: u32) !void {
     const x = __fixunssfsi(a);
     try testing.expect(x == expected);
 }
 
 test "fixunssfsi" {
-    test__fixunssfsi(0.0, 0);
+    try test__fixunssfsi(0.0, 0);
 
-    test__fixunssfsi(0.5, 0);
-    test__fixunssfsi(0.99, 0);
-    test__fixunssfsi(1.0, 1);
-    test__fixunssfsi(1.5, 1);
-    test__fixunssfsi(1.99, 1);
-    test__fixunssfsi(2.0, 2);
-    test__fixunssfsi(2.01, 2);
-    test__fixunssfsi(-0.5, 0);
-    test__fixunssfsi(-0.99, 0);
+    try test__fixunssfsi(0.5, 0);
+    try test__fixunssfsi(0.99, 0);
+    try test__fixunssfsi(1.0, 1);
+    try test__fixunssfsi(1.5, 1);
+    try test__fixunssfsi(1.99, 1);
+    try test__fixunssfsi(2.0, 2);
+    try test__fixunssfsi(2.01, 2);
+    try test__fixunssfsi(-0.5, 0);
+    try test__fixunssfsi(-0.99, 0);
 
-    test__fixunssfsi(-1.0, 0);
-    test__fixunssfsi(-1.5, 0);
-    test__fixunssfsi(-1.99, 0);
-    test__fixunssfsi(-2.0, 0);
-    test__fixunssfsi(-2.01, 0);
+    try test__fixunssfsi(-1.0, 0);
+    try test__fixunssfsi(-1.5, 0);
+    try test__fixunssfsi(-1.99, 0);
+    try test__fixunssfsi(-2.0, 0);
+    try test__fixunssfsi(-2.01, 0);
 
-    test__fixunssfsi(0x1.000000p+31, 0x80000000);
-    test__fixunssfsi(0x1.000000p+32, 0xFFFFFFFF);
-    test__fixunssfsi(0x1.FFFFFEp+31, 0xFFFFFF00);
-    test__fixunssfsi(0x1.FFFFFEp+30, 0x7FFFFF80);
-    test__fixunssfsi(0x1.FFFFFCp+30, 0x7FFFFF00);
+    try test__fixunssfsi(0x1.000000p+31, 0x80000000);
+    try test__fixunssfsi(0x1.000000p+32, 0xFFFFFFFF);
+    try test__fixunssfsi(0x1.FFFFFEp+31, 0xFFFFFF00);
+    try test__fixunssfsi(0x1.FFFFFEp+30, 0x7FFFFF80);
+    try test__fixunssfsi(0x1.FFFFFCp+30, 0x7FFFFF00);
 
-    test__fixunssfsi(-0x1.FFFFFEp+30, 0);
-    test__fixunssfsi(-0x1.FFFFFCp+30, 0);
+    try test__fixunssfsi(-0x1.FFFFFEp+30, 0);
+    try test__fixunssfsi(-0x1.FFFFFCp+30, 0);
 }
lib/std/special/compiler_rt/fixunssfti_test.zig
@@ -6,41 +6,41 @@
 const __fixunssfti = @import("fixunssfti.zig").__fixunssfti;
 const testing = @import("std").testing;
 
-fn test__fixunssfti(a: f32, expected: u128) void {
+fn test__fixunssfti(a: f32, expected: u128) !void {
     const x = __fixunssfti(a);
     try testing.expect(x == expected);
 }
 
 test "fixunssfti" {
-    test__fixunssfti(0.0, 0);
+    try test__fixunssfti(0.0, 0);
 
-    test__fixunssfti(0.5, 0);
-    test__fixunssfti(0.99, 0);
-    test__fixunssfti(1.0, 1);
-    test__fixunssfti(1.5, 1);
-    test__fixunssfti(1.99, 1);
-    test__fixunssfti(2.0, 2);
-    test__fixunssfti(2.01, 2);
-    test__fixunssfti(-0.5, 0);
-    test__fixunssfti(-0.99, 0);
+    try test__fixunssfti(0.5, 0);
+    try test__fixunssfti(0.99, 0);
+    try test__fixunssfti(1.0, 1);
+    try test__fixunssfti(1.5, 1);
+    try test__fixunssfti(1.99, 1);
+    try test__fixunssfti(2.0, 2);
+    try test__fixunssfti(2.01, 2);
+    try test__fixunssfti(-0.5, 0);
+    try test__fixunssfti(-0.99, 0);
 
-    test__fixunssfti(-1.0, 0);
-    test__fixunssfti(-1.5, 0);
-    test__fixunssfti(-1.99, 0);
-    test__fixunssfti(-2.0, 0);
-    test__fixunssfti(-2.01, 0);
+    try test__fixunssfti(-1.0, 0);
+    try test__fixunssfti(-1.5, 0);
+    try test__fixunssfti(-1.99, 0);
+    try test__fixunssfti(-2.0, 0);
+    try test__fixunssfti(-2.01, 0);
 
-    test__fixunssfti(0x1.FFFFFEp+63, 0xFFFFFF0000000000);
-    test__fixunssfti(0x1.000000p+63, 0x8000000000000000);
-    test__fixunssfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
-    test__fixunssfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
-    test__fixunssfti(0x1.FFFFFEp+127, 0xFFFFFF00000000000000000000000000);
-    test__fixunssfti(0x1.000000p+127, 0x80000000000000000000000000000000);
-    test__fixunssfti(0x1.FFFFFEp+126, 0x7FFFFF80000000000000000000000000);
-    test__fixunssfti(0x1.FFFFFCp+126, 0x7FFFFF00000000000000000000000000);
+    try test__fixunssfti(0x1.FFFFFEp+63, 0xFFFFFF0000000000);
+    try test__fixunssfti(0x1.000000p+63, 0x8000000000000000);
+    try test__fixunssfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
+    try test__fixunssfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
+    try test__fixunssfti(0x1.FFFFFEp+127, 0xFFFFFF00000000000000000000000000);
+    try test__fixunssfti(0x1.000000p+127, 0x80000000000000000000000000000000);
+    try test__fixunssfti(0x1.FFFFFEp+126, 0x7FFFFF80000000000000000000000000);
+    try test__fixunssfti(0x1.FFFFFCp+126, 0x7FFFFF00000000000000000000000000);
 
-    test__fixunssfti(-0x1.FFFFFEp+62, 0x0000000000000000);
-    test__fixunssfti(-0x1.FFFFFCp+62, 0x0000000000000000);
-    test__fixunssfti(-0x1.FFFFFEp+126, 0x0000000000000000);
-    test__fixunssfti(-0x1.FFFFFCp+126, 0x0000000000000000);
+    try test__fixunssfti(-0x1.FFFFFEp+62, 0x0000000000000000);
+    try test__fixunssfti(-0x1.FFFFFCp+62, 0x0000000000000000);
+    try test__fixunssfti(-0x1.FFFFFEp+126, 0x0000000000000000);
+    try test__fixunssfti(-0x1.FFFFFCp+126, 0x0000000000000000);
 }
lib/std/special/compiler_rt/fixunstfdi_test.zig
@@ -6,49 +6,49 @@
 const __fixunstfdi = @import("fixunstfdi.zig").__fixunstfdi;
 const testing = @import("std").testing;
 
-fn test__fixunstfdi(a: f128, expected: u64) void {
+fn test__fixunstfdi(a: f128, expected: u64) !void {
     const x = __fixunstfdi(a);
     try testing.expect(x == expected);
 }
 
 test "fixunstfdi" {
-    test__fixunstfdi(0.0, 0);
-
-    test__fixunstfdi(0.5, 0);
-    test__fixunstfdi(0.99, 0);
-    test__fixunstfdi(1.0, 1);
-    test__fixunstfdi(1.5, 1);
-    test__fixunstfdi(1.99, 1);
-    test__fixunstfdi(2.0, 2);
-    test__fixunstfdi(2.01, 2);
-    test__fixunstfdi(-0.5, 0);
-    test__fixunstfdi(-0.99, 0);
-    test__fixunstfdi(-1.0, 0);
-    test__fixunstfdi(-1.5, 0);
-    test__fixunstfdi(-1.99, 0);
-    test__fixunstfdi(-2.0, 0);
-    test__fixunstfdi(-2.01, 0);
-
-    test__fixunstfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
-    test__fixunstfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
-
-    test__fixunstfdi(-0x1.FFFFFEp+62, 0);
-    test__fixunstfdi(-0x1.FFFFFCp+62, 0);
-
-    test__fixunstfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00);
-    test__fixunstfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800);
-
-    test__fixunstfdi(-0x1.FFFFFFFFFFFFFp+62, 0);
-    test__fixunstfdi(-0x1.FFFFFFFFFFFFEp+62, 0);
-
-    test__fixunstfdi(0x1.FFFFFFFFFFFFFFFEp+63, 0xFFFFFFFFFFFFFFFF);
-    test__fixunstfdi(0x1.0000000000000002p+63, 0x8000000000000001);
-    test__fixunstfdi(0x1.0000000000000000p+63, 0x8000000000000000);
-    test__fixunstfdi(0x1.FFFFFFFFFFFFFFFCp+62, 0x7FFFFFFFFFFFFFFF);
-    test__fixunstfdi(0x1.FFFFFFFFFFFFFFF8p+62, 0x7FFFFFFFFFFFFFFE);
-    test__fixunstfdi(0x1.p+64, 0xFFFFFFFFFFFFFFFF);
-
-    test__fixunstfdi(-0x1.0000000000000000p+63, 0);
-    test__fixunstfdi(-0x1.FFFFFFFFFFFFFFFCp+62, 0);
-    test__fixunstfdi(-0x1.FFFFFFFFFFFFFFF8p+62, 0);
+    try test__fixunstfdi(0.0, 0);
+
+    try test__fixunstfdi(0.5, 0);
+    try test__fixunstfdi(0.99, 0);
+    try test__fixunstfdi(1.0, 1);
+    try test__fixunstfdi(1.5, 1);
+    try test__fixunstfdi(1.99, 1);
+    try test__fixunstfdi(2.0, 2);
+    try test__fixunstfdi(2.01, 2);
+    try test__fixunstfdi(-0.5, 0);
+    try test__fixunstfdi(-0.99, 0);
+    try test__fixunstfdi(-1.0, 0);
+    try test__fixunstfdi(-1.5, 0);
+    try test__fixunstfdi(-1.99, 0);
+    try test__fixunstfdi(-2.0, 0);
+    try test__fixunstfdi(-2.01, 0);
+
+    try test__fixunstfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000);
+    try test__fixunstfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000);
+
+    try test__fixunstfdi(-0x1.FFFFFEp+62, 0);
+    try test__fixunstfdi(-0x1.FFFFFCp+62, 0);
+
+    try test__fixunstfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00);
+    try test__fixunstfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800);
+
+    try test__fixunstfdi(-0x1.FFFFFFFFFFFFFp+62, 0);
+    try test__fixunstfdi(-0x1.FFFFFFFFFFFFEp+62, 0);
+
+    try test__fixunstfdi(0x1.FFFFFFFFFFFFFFFEp+63, 0xFFFFFFFFFFFFFFFF);
+    try test__fixunstfdi(0x1.0000000000000002p+63, 0x8000000000000001);
+    try test__fixunstfdi(0x1.0000000000000000p+63, 0x8000000000000000);
+    try test__fixunstfdi(0x1.FFFFFFFFFFFFFFFCp+62, 0x7FFFFFFFFFFFFFFF);
+    try test__fixunstfdi(0x1.FFFFFFFFFFFFFFF8p+62, 0x7FFFFFFFFFFFFFFE);
+    try test__fixunstfdi(0x1.p+64, 0xFFFFFFFFFFFFFFFF);
+
+    try test__fixunstfdi(-0x1.0000000000000000p+63, 0);
+    try test__fixunstfdi(-0x1.FFFFFFFFFFFFFFFCp+62, 0);
+    try test__fixunstfdi(-0x1.FFFFFFFFFFFFFFF8p+62, 0);
 }
lib/std/special/compiler_rt/fixunstfsi_test.zig
@@ -6,7 +6,7 @@
 const __fixunstfsi = @import("fixunstfsi.zig").__fixunstfsi;
 const testing = @import("std").testing;
 
-fn test__fixunstfsi(a: f128, expected: u32) void {
+fn test__fixunstfsi(a: f128, expected: u32) !void {
     const x = __fixunstfsi(a);
     try testing.expect(x == expected);
 }
@@ -14,14 +14,14 @@ fn test__fixunstfsi(a: f128, expected: u32) void {
 const inf128 = @bitCast(f128, @as(u128, 0x7fff0000000000000000000000000000));
 
 test "fixunstfsi" {
-    test__fixunstfsi(inf128, 0xffffffff);
-    test__fixunstfsi(0, 0x0);
-    test__fixunstfsi(0x1.23456789abcdefp+5, 0x24);
-    test__fixunstfsi(0x1.23456789abcdefp-3, 0x0);
-    test__fixunstfsi(0x1.23456789abcdefp+20, 0x123456);
-    test__fixunstfsi(0x1.23456789abcdefp+40, 0xffffffff);
-    test__fixunstfsi(0x1.23456789abcdefp+256, 0xffffffff);
-    test__fixunstfsi(-0x1.23456789abcdefp+3, 0x0);
+    try test__fixunstfsi(inf128, 0xffffffff);
+    try test__fixunstfsi(0, 0x0);
+    try test__fixunstfsi(0x1.23456789abcdefp+5, 0x24);
+    try test__fixunstfsi(0x1.23456789abcdefp-3, 0x0);
+    try test__fixunstfsi(0x1.23456789abcdefp+20, 0x123456);
+    try test__fixunstfsi(0x1.23456789abcdefp+40, 0xffffffff);
+    try test__fixunstfsi(0x1.23456789abcdefp+256, 0xffffffff);
+    try test__fixunstfsi(-0x1.23456789abcdefp+3, 0x0);
 
-    test__fixunstfsi(0x1.p+32, 0xFFFFFFFF);
+    try test__fixunstfsi(0x1.p+32, 0xFFFFFFFF);
 }
lib/std/special/compiler_rt/fixunstfti_test.zig
@@ -6,7 +6,7 @@
 const __fixunstfti = @import("fixunstfti.zig").__fixunstfti;
 const testing = @import("std").testing;
 
-fn test__fixunstfti(a: f128, expected: u128) void {
+fn test__fixunstfti(a: f128, expected: u128) !void {
     const x = __fixunstfti(a);
     try testing.expect(x == expected);
 }
@@ -14,24 +14,24 @@ fn test__fixunstfti(a: f128, expected: u128) void {
 const inf128 = @bitCast(f128, @as(u128, 0x7fff0000000000000000000000000000));
 
 test "fixunstfti" {
-    test__fixunstfti(inf128, 0xffffffffffffffffffffffffffffffff);
+    try test__fixunstfti(inf128, 0xffffffffffffffffffffffffffffffff);
 
-    test__fixunstfti(0.0, 0);
+    try test__fixunstfti(0.0, 0);
 
-    test__fixunstfti(0.5, 0);
-    test__fixunstfti(0.99, 0);
-    test__fixunstfti(1.0, 1);
-    test__fixunstfti(1.5, 1);
-    test__fixunstfti(1.99, 1);
-    test__fixunstfti(2.0, 2);
-    test__fixunstfti(2.01, 2);
-    test__fixunstfti(-0.01, 0);
-    test__fixunstfti(-0.99, 0);
+    try test__fixunstfti(0.5, 0);
+    try test__fixunstfti(0.99, 0);
+    try test__fixunstfti(1.0, 1);
+    try test__fixunstfti(1.5, 1);
+    try test__fixunstfti(1.99, 1);
+    try test__fixunstfti(2.0, 2);
+    try test__fixunstfti(2.01, 2);
+    try test__fixunstfti(-0.01, 0);
+    try test__fixunstfti(-0.99, 0);
 
-    test__fixunstfti(0x1.p+128, 0xffffffffffffffffffffffffffffffff);
+    try test__fixunstfti(0x1.p+128, 0xffffffffffffffffffffffffffffffff);
 
-    test__fixunstfti(0x1.FFFFFEp+126, 0x7fffff80000000000000000000000000);
-    test__fixunstfti(0x1.FFFFFEp+127, 0xffffff00000000000000000000000000);
-    test__fixunstfti(0x1.FFFFFEp+128, 0xffffffffffffffffffffffffffffffff);
-    test__fixunstfti(0x1.FFFFFEp+129, 0xffffffffffffffffffffffffffffffff);
+    try test__fixunstfti(0x1.FFFFFEp+126, 0x7fffff80000000000000000000000000);
+    try test__fixunstfti(0x1.FFFFFEp+127, 0xffffff00000000000000000000000000);
+    try test__fixunstfti(0x1.FFFFFEp+128, 0xffffffffffffffffffffffffffffffff);
+    try test__fixunstfti(0x1.FFFFFEp+129, 0xffffffffffffffffffffffffffffffff);
 }
lib/std/special/compiler_rt/floatdidf_test.zig
@@ -6,53 +6,53 @@
 const __floatdidf = @import("floatdidf.zig").__floatdidf;
 const testing = @import("std").testing;
 
-fn test__floatdidf(a: i64, expected: f64) void {
+fn test__floatdidf(a: i64, expected: f64) !void {
     const r = __floatdidf(a);
     try testing.expect(r == expected);
 }
 
 test "floatdidf" {
-    test__floatdidf(0, 0.0);
-    test__floatdidf(1, 1.0);
-    test__floatdidf(2, 2.0);
-    test__floatdidf(20, 20.0);
-    test__floatdidf(-1, -1.0);
-    test__floatdidf(-2, -2.0);
-    test__floatdidf(-20, -20.0);
-    test__floatdidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
-    test__floatdidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62);
-    test__floatdidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
-    test__floatdidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62);
-    test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000008000000000)), -0x1.FFFFFEp+62);
-    test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000000800)), -0x1.FFFFFFFFFFFFEp+62);
-    test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000010000000000)), -0x1.FFFFFCp+62);
-    test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000001000)), -0x1.FFFFFFFFFFFFCp+62);
-    test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000000000)), -0x1.000000p+63);
-    test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000000001)), -0x1.000000p+63);
-    test__floatdidf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
-    test__floatdidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50);
-    test__floatdidf(0x0007FB72EB000000, 0x1.FEDCBACp+50);
-    test__floatdidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50);
-    test__floatdidf(0x0007FB72EC000000, 0x1.FEDCBBp+50);
-    test__floatdidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50);
-    test__floatdidf(0x0007FB72E6000000, 0x1.FEDCB98p+50);
-    test__floatdidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50);
-    test__floatdidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50);
-    test__floatdidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50);
-    test__floatdidf(0x0007FB72E4000000, 0x1.FEDCB9p+50);
-    test__floatdidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57);
-    test__floatdidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57);
-    test__floatdidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57);
-    test__floatdidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57);
-    test__floatdidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57);
-    test__floatdidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57);
-    test__floatdidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57);
-    test__floatdidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57);
-    test__floatdidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57);
-    test__floatdidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57);
-    test__floatdidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57);
-    test__floatdidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57);
-    test__floatdidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57);
-    test__floatdidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57);
-    test__floatdidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57);
+    try test__floatdidf(0, 0.0);
+    try test__floatdidf(1, 1.0);
+    try test__floatdidf(2, 2.0);
+    try test__floatdidf(20, 20.0);
+    try test__floatdidf(-1, -1.0);
+    try test__floatdidf(-2, -2.0);
+    try test__floatdidf(-20, -20.0);
+    try test__floatdidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
+    try test__floatdidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62);
+    try test__floatdidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
+    try test__floatdidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62);
+    try test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000008000000000)), -0x1.FFFFFEp+62);
+    try test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000000800)), -0x1.FFFFFFFFFFFFEp+62);
+    try test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000010000000000)), -0x1.FFFFFCp+62);
+    try test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000001000)), -0x1.FFFFFFFFFFFFCp+62);
+    try test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000000000)), -0x1.000000p+63);
+    try test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000000001)), -0x1.000000p+63);
+    try test__floatdidf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
+    try test__floatdidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50);
+    try test__floatdidf(0x0007FB72EB000000, 0x1.FEDCBACp+50);
+    try test__floatdidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50);
+    try test__floatdidf(0x0007FB72EC000000, 0x1.FEDCBBp+50);
+    try test__floatdidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50);
+    try test__floatdidf(0x0007FB72E6000000, 0x1.FEDCB98p+50);
+    try test__floatdidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50);
+    try test__floatdidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50);
+    try test__floatdidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50);
+    try test__floatdidf(0x0007FB72E4000000, 0x1.FEDCB9p+50);
+    try test__floatdidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57);
+    try test__floatdidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57);
+    try test__floatdidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57);
+    try test__floatdidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57);
+    try test__floatdidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57);
+    try test__floatdidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57);
+    try test__floatdidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57);
+    try test__floatdidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57);
+    try test__floatdidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57);
+    try test__floatdidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57);
+    try test__floatdidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57);
+    try test__floatdidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57);
+    try test__floatdidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57);
+    try test__floatdidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57);
+    try test__floatdidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57);
 }
lib/std/special/compiler_rt/floatdisf_test.zig
@@ -6,32 +6,32 @@
 const __floatdisf = @import("floatXisf.zig").__floatdisf;
 const testing = @import("std").testing;
 
-fn test__floatdisf(a: i64, expected: f32) void {
+fn test__floatdisf(a: i64, expected: f32) !void {
     const x = __floatdisf(a);
     try testing.expect(x == expected);
 }
 
 test "floatdisf" {
-    test__floatdisf(0, 0.0);
-    test__floatdisf(1, 1.0);
-    test__floatdisf(2, 2.0);
-    test__floatdisf(-1, -1.0);
-    test__floatdisf(-2, -2.0);
-    test__floatdisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
-    test__floatdisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
-    test__floatdisf(0x8000008000000000, -0x1.FFFFFEp+62);
-    test__floatdisf(0x8000010000000000, -0x1.FFFFFCp+62);
-    test__floatdisf(0x8000000000000000, -0x1.000000p+63);
-    test__floatdisf(0x8000000000000001, -0x1.000000p+63);
-    test__floatdisf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
-    test__floatdisf(0x0007FB72EA000000, 0x1.FEDCBAp+50);
-    test__floatdisf(0x0007FB72EB000000, 0x1.FEDCBAp+50);
-    test__floatdisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50);
-    test__floatdisf(0x0007FB72EC000000, 0x1.FEDCBCp+50);
-    test__floatdisf(0x0007FB72E8000001, 0x1.FEDCBAp+50);
-    test__floatdisf(0x0007FB72E6000000, 0x1.FEDCBAp+50);
-    test__floatdisf(0x0007FB72E7000000, 0x1.FEDCBAp+50);
-    test__floatdisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50);
-    test__floatdisf(0x0007FB72E4000001, 0x1.FEDCBAp+50);
-    test__floatdisf(0x0007FB72E4000000, 0x1.FEDCB8p+50);
+    try test__floatdisf(0, 0.0);
+    try test__floatdisf(1, 1.0);
+    try test__floatdisf(2, 2.0);
+    try test__floatdisf(-1, -1.0);
+    try test__floatdisf(-2, -2.0);
+    try test__floatdisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
+    try test__floatdisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
+    try test__floatdisf(0x8000008000000000, -0x1.FFFFFEp+62);
+    try test__floatdisf(0x8000010000000000, -0x1.FFFFFCp+62);
+    try test__floatdisf(0x8000000000000000, -0x1.000000p+63);
+    try test__floatdisf(0x8000000000000001, -0x1.000000p+63);
+    try test__floatdisf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
+    try test__floatdisf(0x0007FB72EA000000, 0x1.FEDCBAp+50);
+    try test__floatdisf(0x0007FB72EB000000, 0x1.FEDCBAp+50);
+    try test__floatdisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50);
+    try test__floatdisf(0x0007FB72EC000000, 0x1.FEDCBCp+50);
+    try test__floatdisf(0x0007FB72E8000001, 0x1.FEDCBAp+50);
+    try test__floatdisf(0x0007FB72E6000000, 0x1.FEDCBAp+50);
+    try test__floatdisf(0x0007FB72E7000000, 0x1.FEDCBAp+50);
+    try test__floatdisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50);
+    try test__floatdisf(0x0007FB72E4000001, 0x1.FEDCBAp+50);
+    try test__floatdisf(0x0007FB72E4000000, 0x1.FEDCB8p+50);
 }
lib/std/special/compiler_rt/floatditf_test.zig
@@ -6,21 +6,21 @@
 const __floatditf = @import("floatditf.zig").__floatditf;
 const testing = @import("std").testing;
 
-fn test__floatditf(a: i64, expected: f128) void {
+fn test__floatditf(a: i64, expected: f128) !void {
     const x = __floatditf(a);
     try testing.expect(x == expected);
 }
 
 test "floatditf" {
-    test__floatditf(0x7fffffffffffffff, make_ti(0x403dffffffffffff, 0xfffc000000000000));
-    test__floatditf(0x123456789abcdef1, make_ti(0x403b23456789abcd, 0xef10000000000000));
-    test__floatditf(0x2, make_ti(0x4000000000000000, 0x0));
-    test__floatditf(0x1, make_ti(0x3fff000000000000, 0x0));
-    test__floatditf(0x0, make_ti(0x0, 0x0));
-    test__floatditf(@bitCast(i64, @as(u64, 0xffffffffffffffff)), make_ti(0xbfff000000000000, 0x0));
-    test__floatditf(@bitCast(i64, @as(u64, 0xfffffffffffffffe)), make_ti(0xc000000000000000, 0x0));
-    test__floatditf(-0x123456789abcdef1, make_ti(0xc03b23456789abcd, 0xef10000000000000));
-    test__floatditf(@bitCast(i64, @as(u64, 0x8000000000000000)), make_ti(0xc03e000000000000, 0x0));
+    try test__floatditf(0x7fffffffffffffff, make_ti(0x403dffffffffffff, 0xfffc000000000000));
+    try test__floatditf(0x123456789abcdef1, make_ti(0x403b23456789abcd, 0xef10000000000000));
+    try test__floatditf(0x2, make_ti(0x4000000000000000, 0x0));
+    try test__floatditf(0x1, make_ti(0x3fff000000000000, 0x0));
+    try test__floatditf(0x0, make_ti(0x0, 0x0));
+    try test__floatditf(@bitCast(i64, @as(u64, 0xffffffffffffffff)), make_ti(0xbfff000000000000, 0x0));
+    try test__floatditf(@bitCast(i64, @as(u64, 0xfffffffffffffffe)), make_ti(0xc000000000000000, 0x0));
+    try test__floatditf(-0x123456789abcdef1, make_ti(0xc03b23456789abcd, 0xef10000000000000));
+    try test__floatditf(@bitCast(i64, @as(u64, 0x8000000000000000)), make_ti(0xc03e000000000000, 0x0));
 }
 
 fn make_ti(high: u64, low: u64) f128 {
lib/std/special/compiler_rt/floatsiXf.zig
@@ -84,42 +84,42 @@ pub fn __aeabi_i2f(arg: i32) callconv(.AAPCS) f32 {
     return @call(.{ .modifier = .always_inline }, __floatsisf, .{arg});
 }
 
-fn test_one_floatsitf(a: i32, expected: u128) void {
+fn test_one_floatsitf(a: i32, expected: u128) !void {
     const r = __floatsitf(a);
     try std.testing.expect(@bitCast(u128, r) == expected);
 }
 
-fn test_one_floatsidf(a: i32, expected: u64) void {
+fn test_one_floatsidf(a: i32, expected: u64) !void {
     const r = __floatsidf(a);
     try std.testing.expect(@bitCast(u64, r) == expected);
 }
 
-fn test_one_floatsisf(a: i32, expected: u32) void {
+fn test_one_floatsisf(a: i32, expected: u32) !void {
     const r = __floatsisf(a);
     try std.testing.expect(@bitCast(u32, r) == expected);
 }
 
 test "floatsidf" {
-    test_one_floatsidf(0, 0x0000000000000000);
-    test_one_floatsidf(1, 0x3ff0000000000000);
-    test_one_floatsidf(-1, 0xbff0000000000000);
-    test_one_floatsidf(0x7FFFFFFF, 0x41dfffffffc00000);
-    test_one_floatsidf(@bitCast(i32, @intCast(u32, 0x80000000)), 0xc1e0000000000000);
+    try test_one_floatsidf(0, 0x0000000000000000);
+    try test_one_floatsidf(1, 0x3ff0000000000000);
+    try test_one_floatsidf(-1, 0xbff0000000000000);
+    try test_one_floatsidf(0x7FFFFFFF, 0x41dfffffffc00000);
+    try test_one_floatsidf(@bitCast(i32, @intCast(u32, 0x80000000)), 0xc1e0000000000000);
 }
 
 test "floatsisf" {
-    test_one_floatsisf(0, 0x00000000);
-    test_one_floatsisf(1, 0x3f800000);
-    test_one_floatsisf(-1, 0xbf800000);
-    test_one_floatsisf(0x7FFFFFFF, 0x4f000000);
-    test_one_floatsisf(@bitCast(i32, @intCast(u32, 0x80000000)), 0xcf000000);
+    try test_one_floatsisf(0, 0x00000000);
+    try test_one_floatsisf(1, 0x3f800000);
+    try test_one_floatsisf(-1, 0xbf800000);
+    try test_one_floatsisf(0x7FFFFFFF, 0x4f000000);
+    try test_one_floatsisf(@bitCast(i32, @intCast(u32, 0x80000000)), 0xcf000000);
 }
 
 test "floatsitf" {
-    test_one_floatsitf(0, 0);
-    test_one_floatsitf(0x7FFFFFFF, 0x401dfffffffc00000000000000000000);
-    test_one_floatsitf(0x12345678, 0x401b2345678000000000000000000000);
-    test_one_floatsitf(-0x12345678, 0xc01b2345678000000000000000000000);
-    test_one_floatsitf(@bitCast(i32, @intCast(u32, 0xffffffff)), 0xbfff0000000000000000000000000000);
-    test_one_floatsitf(@bitCast(i32, @intCast(u32, 0x80000000)), 0xc01e0000000000000000000000000000);
+    try test_one_floatsitf(0, 0);
+    try test_one_floatsitf(0x7FFFFFFF, 0x401dfffffffc00000000000000000000);
+    try test_one_floatsitf(0x12345678, 0x401b2345678000000000000000000000);
+    try test_one_floatsitf(-0x12345678, 0xc01b2345678000000000000000000000);
+    try test_one_floatsitf(@bitCast(i32, @intCast(u32, 0xffffffff)), 0xbfff0000000000000000000000000000);
+    try test_one_floatsitf(@bitCast(i32, @intCast(u32, 0x80000000)), 0xc01e0000000000000000000000000000);
 }
lib/std/special/compiler_rt/floattidf_test.zig
@@ -6,79 +6,79 @@
 const __floattidf = @import("floattidf.zig").__floattidf;
 const testing = @import("std").testing;
 
-fn test__floattidf(a: i128, expected: f64) void {
+fn test__floattidf(a: i128, expected: f64) !void {
     const x = __floattidf(a);
     try testing.expect(x == expected);
 }
 
 test "floattidf" {
-    test__floattidf(0, 0.0);
+    try test__floattidf(0, 0.0);
 
-    test__floattidf(1, 1.0);
-    test__floattidf(2, 2.0);
-    test__floattidf(20, 20.0);
-    test__floattidf(-1, -1.0);
-    test__floattidf(-2, -2.0);
-    test__floattidf(-20, -20.0);
+    try test__floattidf(1, 1.0);
+    try test__floattidf(2, 2.0);
+    try test__floattidf(20, 20.0);
+    try test__floattidf(-1, -1.0);
+    try test__floattidf(-2, -2.0);
+    try test__floattidf(-20, -20.0);
 
-    test__floattidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
-    test__floattidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62);
-    test__floattidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
-    test__floattidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62);
+    try test__floattidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
+    try test__floattidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62);
+    try test__floattidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
+    try test__floattidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62);
 
-    test__floattidf(make_ti(0x8000008000000000, 0), -0x1.FFFFFEp+126);
-    test__floattidf(make_ti(0x8000000000000800, 0), -0x1.FFFFFFFFFFFFEp+126);
-    test__floattidf(make_ti(0x8000010000000000, 0), -0x1.FFFFFCp+126);
-    test__floattidf(make_ti(0x8000000000001000, 0), -0x1.FFFFFFFFFFFFCp+126);
+    try test__floattidf(make_ti(0x8000008000000000, 0), -0x1.FFFFFEp+126);
+    try test__floattidf(make_ti(0x8000000000000800, 0), -0x1.FFFFFFFFFFFFEp+126);
+    try test__floattidf(make_ti(0x8000010000000000, 0), -0x1.FFFFFCp+126);
+    try test__floattidf(make_ti(0x8000000000001000, 0), -0x1.FFFFFFFFFFFFCp+126);
 
-    test__floattidf(make_ti(0x8000000000000000, 0), -0x1.000000p+127);
-    test__floattidf(make_ti(0x8000000000000001, 0), -0x1.000000p+127);
+    try test__floattidf(make_ti(0x8000000000000000, 0), -0x1.000000p+127);
+    try test__floattidf(make_ti(0x8000000000000001, 0), -0x1.000000p+127);
 
-    test__floattidf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
+    try test__floattidf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
 
-    test__floattidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50);
-    test__floattidf(0x0007FB72EB000000, 0x1.FEDCBACp+50);
-    test__floattidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50);
-    test__floattidf(0x0007FB72EC000000, 0x1.FEDCBBp+50);
-    test__floattidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50);
+    try test__floattidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50);
+    try test__floattidf(0x0007FB72EB000000, 0x1.FEDCBACp+50);
+    try test__floattidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50);
+    try test__floattidf(0x0007FB72EC000000, 0x1.FEDCBBp+50);
+    try test__floattidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50);
 
-    test__floattidf(0x0007FB72E6000000, 0x1.FEDCB98p+50);
-    test__floattidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50);
-    test__floattidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50);
-    test__floattidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50);
-    test__floattidf(0x0007FB72E4000000, 0x1.FEDCB9p+50);
+    try test__floattidf(0x0007FB72E6000000, 0x1.FEDCB98p+50);
+    try test__floattidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50);
+    try test__floattidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50);
+    try test__floattidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50);
+    try test__floattidf(0x0007FB72E4000000, 0x1.FEDCB9p+50);
 
-    test__floattidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57);
-    test__floattidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57);
-    test__floattidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57);
-    test__floattidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57);
-    test__floattidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57);
-    test__floattidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57);
-    test__floattidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57);
-    test__floattidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57);
-    test__floattidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57);
-    test__floattidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57);
-    test__floattidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57);
-    test__floattidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57);
-    test__floattidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57);
-    test__floattidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57);
-    test__floattidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57);
+    try test__floattidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57);
+    try test__floattidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57);
+    try test__floattidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57);
+    try test__floattidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57);
+    try test__floattidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57);
+    try test__floattidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57);
+    try test__floattidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57);
+    try test__floattidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57);
+    try test__floattidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57);
+    try test__floattidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57);
+    try test__floattidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57);
+    try test__floattidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57);
+    try test__floattidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57);
+    try test__floattidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57);
+    try test__floattidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57);
 
-    test__floattidf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121);
-    test__floattidf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496Dp+121);
-    test__floattidf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496Ep+121);
-    test__floattidf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496Ep+121);
-    test__floattidf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496Ep+121);
-    test__floattidf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496Ep+121);
-    test__floattidf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496Ep+121);
-    test__floattidf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496Ep+121);
-    test__floattidf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496Ep+121);
-    test__floattidf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496Ep+121);
-    test__floattidf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496Ep+121);
-    test__floattidf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496Fp+121);
-    test__floattidf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496Fp+121);
-    test__floattidf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496Fp+121);
-    test__floattidf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121);
+    try test__floattidf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121);
+    try test__floattidf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496Dp+121);
+    try test__floattidf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496Ep+121);
+    try test__floattidf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496Ep+121);
+    try test__floattidf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496Ep+121);
+    try test__floattidf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496Ep+121);
+    try test__floattidf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496Ep+121);
+    try test__floattidf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496Ep+121);
+    try test__floattidf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496Ep+121);
+    try test__floattidf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496Ep+121);
+    try test__floattidf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496Ep+121);
+    try test__floattidf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496Fp+121);
+    try test__floattidf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496Fp+121);
+    try test__floattidf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496Fp+121);
+    try test__floattidf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121);
 }
 
 fn make_ti(high: u64, low: u64) i128 {
lib/std/special/compiler_rt/floattisf_test.zig
@@ -6,55 +6,55 @@
 const __floattisf = @import("floatXisf.zig").__floattisf;
 const testing = @import("std").testing;
 
-fn test__floattisf(a: i128, expected: f32) void {
+fn test__floattisf(a: i128, expected: f32) !void {
     const x = __floattisf(a);
     try testing.expect(x == expected);
 }
 
 test "floattisf" {
-    test__floattisf(0, 0.0);
+    try test__floattisf(0, 0.0);
 
-    test__floattisf(1, 1.0);
-    test__floattisf(2, 2.0);
-    test__floattisf(-1, -1.0);
-    test__floattisf(-2, -2.0);
+    try test__floattisf(1, 1.0);
+    try test__floattisf(2, 2.0);
+    try test__floattisf(-1, -1.0);
+    try test__floattisf(-2, -2.0);
 
-    test__floattisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
-    test__floattisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
+    try test__floattisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
+    try test__floattisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
 
-    test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000008000000000), -0x1.FFFFFEp+62);
-    test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000010000000000), -0x1.FFFFFCp+62);
+    try test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000008000000000), -0x1.FFFFFEp+62);
+    try test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000010000000000), -0x1.FFFFFCp+62);
 
-    test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000000000000000), -0x1.000000p+63);
-    test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000000000000001), -0x1.000000p+63);
+    try test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000000000000000), -0x1.000000p+63);
+    try test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000000000000001), -0x1.000000p+63);
 
-    test__floattisf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
+    try test__floattisf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
 
-    test__floattisf(0x0007FB72EA000000, 0x1.FEDCBAp+50);
-    test__floattisf(0x0007FB72EB000000, 0x1.FEDCBAp+50);
-    test__floattisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50);
-    test__floattisf(0x0007FB72EC000000, 0x1.FEDCBCp+50);
-    test__floattisf(0x0007FB72E8000001, 0x1.FEDCBAp+50);
+    try test__floattisf(0x0007FB72EA000000, 0x1.FEDCBAp+50);
+    try test__floattisf(0x0007FB72EB000000, 0x1.FEDCBAp+50);
+    try test__floattisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50);
+    try test__floattisf(0x0007FB72EC000000, 0x1.FEDCBCp+50);
+    try test__floattisf(0x0007FB72E8000001, 0x1.FEDCBAp+50);
 
-    test__floattisf(0x0007FB72E6000000, 0x1.FEDCBAp+50);
-    test__floattisf(0x0007FB72E7000000, 0x1.FEDCBAp+50);
-    test__floattisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50);
-    test__floattisf(0x0007FB72E4000001, 0x1.FEDCBAp+50);
-    test__floattisf(0x0007FB72E4000000, 0x1.FEDCB8p+50);
+    try test__floattisf(0x0007FB72E6000000, 0x1.FEDCBAp+50);
+    try test__floattisf(0x0007FB72E7000000, 0x1.FEDCBAp+50);
+    try test__floattisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50);
+    try test__floattisf(0x0007FB72E4000001, 0x1.FEDCBAp+50);
+    try test__floattisf(0x0007FB72E4000000, 0x1.FEDCB8p+50);
 
-    test__floattisf(make_ti(0x0007FB72E8000000, 0), 0x1.FEDCBAp+114);
+    try test__floattisf(make_ti(0x0007FB72E8000000, 0), 0x1.FEDCBAp+114);
 
-    test__floattisf(make_ti(0x0007FB72EA000000, 0), 0x1.FEDCBAp+114);
-    test__floattisf(make_ti(0x0007FB72EB000000, 0), 0x1.FEDCBAp+114);
-    test__floattisf(make_ti(0x0007FB72EBFFFFFF, 0), 0x1.FEDCBAp+114);
-    test__floattisf(make_ti(0x0007FB72EC000000, 0), 0x1.FEDCBCp+114);
-    test__floattisf(make_ti(0x0007FB72E8000001, 0), 0x1.FEDCBAp+114);
+    try test__floattisf(make_ti(0x0007FB72EA000000, 0), 0x1.FEDCBAp+114);
+    try test__floattisf(make_ti(0x0007FB72EB000000, 0), 0x1.FEDCBAp+114);
+    try test__floattisf(make_ti(0x0007FB72EBFFFFFF, 0), 0x1.FEDCBAp+114);
+    try test__floattisf(make_ti(0x0007FB72EC000000, 0), 0x1.FEDCBCp+114);
+    try test__floattisf(make_ti(0x0007FB72E8000001, 0), 0x1.FEDCBAp+114);
 
-    test__floattisf(make_ti(0x0007FB72E6000000, 0), 0x1.FEDCBAp+114);
-    test__floattisf(make_ti(0x0007FB72E7000000, 0), 0x1.FEDCBAp+114);
-    test__floattisf(make_ti(0x0007FB72E7FFFFFF, 0), 0x1.FEDCBAp+114);
-    test__floattisf(make_ti(0x0007FB72E4000001, 0), 0x1.FEDCBAp+114);
-    test__floattisf(make_ti(0x0007FB72E4000000, 0), 0x1.FEDCB8p+114);
+    try test__floattisf(make_ti(0x0007FB72E6000000, 0), 0x1.FEDCBAp+114);
+    try test__floattisf(make_ti(0x0007FB72E7000000, 0), 0x1.FEDCBAp+114);
+    try test__floattisf(make_ti(0x0007FB72E7FFFFFF, 0), 0x1.FEDCBAp+114);
+    try test__floattisf(make_ti(0x0007FB72E4000001, 0), 0x1.FEDCBAp+114);
+    try test__floattisf(make_ti(0x0007FB72E4000000, 0), 0x1.FEDCB8p+114);
 }
 
 fn make_ti(high: u64, low: u64) i128 {
lib/std/special/compiler_rt/floattitf_test.zig
@@ -6,91 +6,91 @@
 const __floattitf = @import("floattitf.zig").__floattitf;
 const testing = @import("std").testing;
 
-fn test__floattitf(a: i128, expected: f128) void {
+fn test__floattitf(a: i128, expected: f128) !void {
     const x = __floattitf(a);
     try testing.expect(x == expected);
 }
 
 test "floattitf" {
-    test__floattitf(0, 0.0);
+    try test__floattitf(0, 0.0);
 
-    test__floattitf(1, 1.0);
-    test__floattitf(2, 2.0);
-    test__floattitf(20, 20.0);
-    test__floattitf(-1, -1.0);
-    test__floattitf(-2, -2.0);
-    test__floattitf(-20, -20.0);
+    try test__floattitf(1, 1.0);
+    try test__floattitf(2, 2.0);
+    try test__floattitf(20, 20.0);
+    try test__floattitf(-1, -1.0);
+    try test__floattitf(-2, -2.0);
+    try test__floattitf(-20, -20.0);
 
-    test__floattitf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
-    test__floattitf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62);
-    test__floattitf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
-    test__floattitf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62);
+    try test__floattitf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
+    try test__floattitf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62);
+    try test__floattitf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
+    try test__floattitf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62);
 
-    test__floattitf(make_ti(0x8000008000000000, 0), -0x1.FFFFFEp+126);
-    test__floattitf(make_ti(0x8000000000000800, 0), -0x1.FFFFFFFFFFFFEp+126);
-    test__floattitf(make_ti(0x8000010000000000, 0), -0x1.FFFFFCp+126);
-    test__floattitf(make_ti(0x8000000000001000, 0), -0x1.FFFFFFFFFFFFCp+126);
+    try test__floattitf(make_ti(0x8000008000000000, 0), -0x1.FFFFFEp+126);
+    try test__floattitf(make_ti(0x8000000000000800, 0), -0x1.FFFFFFFFFFFFEp+126);
+    try test__floattitf(make_ti(0x8000010000000000, 0), -0x1.FFFFFCp+126);
+    try test__floattitf(make_ti(0x8000000000001000, 0), -0x1.FFFFFFFFFFFFCp+126);
 
-    test__floattitf(make_ti(0x8000000000000000, 0), -0x1.000000p+127);
-    test__floattitf(make_ti(0x8000000000000001, 0), -0x1.FFFFFFFFFFFFFFFCp+126);
+    try test__floattitf(make_ti(0x8000000000000000, 0), -0x1.000000p+127);
+    try test__floattitf(make_ti(0x8000000000000001, 0), -0x1.FFFFFFFFFFFFFFFCp+126);
 
-    test__floattitf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
+    try test__floattitf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
 
-    test__floattitf(0x0007FB72EA000000, 0x1.FEDCBA8p+50);
-    test__floattitf(0x0007FB72EB000000, 0x1.FEDCBACp+50);
-    test__floattitf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50);
-    test__floattitf(0x0007FB72EC000000, 0x1.FEDCBBp+50);
-    test__floattitf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50);
+    try test__floattitf(0x0007FB72EA000000, 0x1.FEDCBA8p+50);
+    try test__floattitf(0x0007FB72EB000000, 0x1.FEDCBACp+50);
+    try test__floattitf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50);
+    try test__floattitf(0x0007FB72EC000000, 0x1.FEDCBBp+50);
+    try test__floattitf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50);
 
-    test__floattitf(0x0007FB72E6000000, 0x1.FEDCB98p+50);
-    test__floattitf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50);
-    test__floattitf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50);
-    test__floattitf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50);
-    test__floattitf(0x0007FB72E4000000, 0x1.FEDCB9p+50);
+    try test__floattitf(0x0007FB72E6000000, 0x1.FEDCB98p+50);
+    try test__floattitf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50);
+    try test__floattitf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50);
+    try test__floattitf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50);
+    try test__floattitf(0x0007FB72E4000000, 0x1.FEDCB9p+50);
 
-    test__floattitf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57);
-    test__floattitf(0x023479FD0E092DA1, 0x1.1A3CFE870496D08p+57);
-    test__floattitf(0x023479FD0E092DB0, 0x1.1A3CFE870496D8p+57);
-    test__floattitf(0x023479FD0E092DB8, 0x1.1A3CFE870496DCp+57);
-    test__floattitf(0x023479FD0E092DB6, 0x1.1A3CFE870496DBp+57);
-    test__floattitf(0x023479FD0E092DBF, 0x1.1A3CFE870496DF8p+57);
-    test__floattitf(0x023479FD0E092DC1, 0x1.1A3CFE870496E08p+57);
-    test__floattitf(0x023479FD0E092DC7, 0x1.1A3CFE870496E38p+57);
-    test__floattitf(0x023479FD0E092DC8, 0x1.1A3CFE870496E4p+57);
-    test__floattitf(0x023479FD0E092DCF, 0x1.1A3CFE870496E78p+57);
-    test__floattitf(0x023479FD0E092DD0, 0x1.1A3CFE870496E8p+57);
-    test__floattitf(0x023479FD0E092DD1, 0x1.1A3CFE870496E88p+57);
-    test__floattitf(0x023479FD0E092DD8, 0x1.1A3CFE870496ECp+57);
-    test__floattitf(0x023479FD0E092DDF, 0x1.1A3CFE870496EF8p+57);
-    test__floattitf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57);
+    try test__floattitf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57);
+    try test__floattitf(0x023479FD0E092DA1, 0x1.1A3CFE870496D08p+57);
+    try test__floattitf(0x023479FD0E092DB0, 0x1.1A3CFE870496D8p+57);
+    try test__floattitf(0x023479FD0E092DB8, 0x1.1A3CFE870496DCp+57);
+    try test__floattitf(0x023479FD0E092DB6, 0x1.1A3CFE870496DBp+57);
+    try test__floattitf(0x023479FD0E092DBF, 0x1.1A3CFE870496DF8p+57);
+    try test__floattitf(0x023479FD0E092DC1, 0x1.1A3CFE870496E08p+57);
+    try test__floattitf(0x023479FD0E092DC7, 0x1.1A3CFE870496E38p+57);
+    try test__floattitf(0x023479FD0E092DC8, 0x1.1A3CFE870496E4p+57);
+    try test__floattitf(0x023479FD0E092DCF, 0x1.1A3CFE870496E78p+57);
+    try test__floattitf(0x023479FD0E092DD0, 0x1.1A3CFE870496E8p+57);
+    try test__floattitf(0x023479FD0E092DD1, 0x1.1A3CFE870496E88p+57);
+    try test__floattitf(0x023479FD0E092DD8, 0x1.1A3CFE870496ECp+57);
+    try test__floattitf(0x023479FD0E092DDF, 0x1.1A3CFE870496EF8p+57);
+    try test__floattitf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57);
 
-    test__floattitf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121);
-    test__floattitf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496D08p+121);
-    test__floattitf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496D8p+121);
-    test__floattitf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496DCp+121);
-    test__floattitf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496DBp+121);
-    test__floattitf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496DF8p+121);
-    test__floattitf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496E08p+121);
-    test__floattitf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496E38p+121);
-    test__floattitf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496E4p+121);
-    test__floattitf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496E78p+121);
-    test__floattitf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496E8p+121);
-    test__floattitf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496E88p+121);
-    test__floattitf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496ECp+121);
-    test__floattitf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496EF8p+121);
-    test__floattitf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121);
+    try test__floattitf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121);
+    try test__floattitf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496D08p+121);
+    try test__floattitf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496D8p+121);
+    try test__floattitf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496DCp+121);
+    try test__floattitf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496DBp+121);
+    try test__floattitf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496DF8p+121);
+    try test__floattitf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496E08p+121);
+    try test__floattitf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496E38p+121);
+    try test__floattitf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496E4p+121);
+    try test__floattitf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496E78p+121);
+    try test__floattitf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496E8p+121);
+    try test__floattitf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496E88p+121);
+    try test__floattitf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496ECp+121);
+    try test__floattitf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496EF8p+121);
+    try test__floattitf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121);
 
-    test__floattitf(make_ti(0, 0xFFFFFFFFFFFFFFFF), 0x1.FFFFFFFFFFFFFFFEp+63);
+    try test__floattitf(make_ti(0, 0xFFFFFFFFFFFFFFFF), 0x1.FFFFFFFFFFFFFFFEp+63);
 
-    test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC2801), 0x1.23456789ABCDEF0123456789ABC3p+124);
-    test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3000), 0x1.23456789ABCDEF0123456789ABC3p+124);
-    test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC37FF), 0x1.23456789ABCDEF0123456789ABC3p+124);
-    test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3800), 0x1.23456789ABCDEF0123456789ABC4p+124);
-    test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4000), 0x1.23456789ABCDEF0123456789ABC4p+124);
-    test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC47FF), 0x1.23456789ABCDEF0123456789ABC4p+124);
-    test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4800), 0x1.23456789ABCDEF0123456789ABC4p+124);
-    test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4801), 0x1.23456789ABCDEF0123456789ABC5p+124);
-    test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC57FF), 0x1.23456789ABCDEF0123456789ABC5p+124);
+    try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC2801), 0x1.23456789ABCDEF0123456789ABC3p+124);
+    try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3000), 0x1.23456789ABCDEF0123456789ABC3p+124);
+    try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC37FF), 0x1.23456789ABCDEF0123456789ABC3p+124);
+    try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3800), 0x1.23456789ABCDEF0123456789ABC4p+124);
+    try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4000), 0x1.23456789ABCDEF0123456789ABC4p+124);
+    try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC47FF), 0x1.23456789ABCDEF0123456789ABC4p+124);
+    try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4800), 0x1.23456789ABCDEF0123456789ABC4p+124);
+    try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4801), 0x1.23456789ABCDEF0123456789ABC5p+124);
+    try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC57FF), 0x1.23456789ABCDEF0123456789ABC5p+124);
 }
 
 fn make_ti(high: u64, low: u64) i128 {
lib/std/special/compiler_rt/floatundidf_test.zig
@@ -6,50 +6,50 @@
 const __floatundidf = @import("floatundidf.zig").__floatundidf;
 const testing = @import("std").testing;
 
-fn test__floatundidf(a: u64, expected: f64) void {
+fn test__floatundidf(a: u64, expected: f64) !void {
     const r = __floatundidf(a);
     try testing.expect(r == expected);
 }
 
 test "floatundidf" {
-    test__floatundidf(0, 0.0);
-    test__floatundidf(1, 1.0);
-    test__floatundidf(2, 2.0);
-    test__floatundidf(20, 20.0);
-    test__floatundidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
-    test__floatundidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62);
-    test__floatundidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
-    test__floatundidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62);
-    test__floatundidf(0x8000008000000000, 0x1.000001p+63);
-    test__floatundidf(0x8000000000000800, 0x1.0000000000001p+63);
-    test__floatundidf(0x8000010000000000, 0x1.000002p+63);
-    test__floatundidf(0x8000000000001000, 0x1.0000000000002p+63);
-    test__floatundidf(0x8000000000000000, 0x1p+63);
-    test__floatundidf(0x8000000000000001, 0x1p+63);
-    test__floatundidf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
-    test__floatundidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50);
-    test__floatundidf(0x0007FB72EB000000, 0x1.FEDCBACp+50);
-    test__floatundidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50);
-    test__floatundidf(0x0007FB72EC000000, 0x1.FEDCBBp+50);
-    test__floatundidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50);
-    test__floatundidf(0x0007FB72E6000000, 0x1.FEDCB98p+50);
-    test__floatundidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50);
-    test__floatundidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50);
-    test__floatundidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50);
-    test__floatundidf(0x0007FB72E4000000, 0x1.FEDCB9p+50);
-    test__floatundidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57);
-    test__floatundidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57);
-    test__floatundidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57);
-    test__floatundidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57);
-    test__floatundidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57);
-    test__floatundidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57);
-    test__floatundidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57);
-    test__floatundidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57);
-    test__floatundidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57);
-    test__floatundidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57);
-    test__floatundidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57);
-    test__floatundidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57);
-    test__floatundidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57);
-    test__floatundidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57);
-    test__floatundidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57);
+    try test__floatundidf(0, 0.0);
+    try test__floatundidf(1, 1.0);
+    try test__floatundidf(2, 2.0);
+    try test__floatundidf(20, 20.0);
+    try test__floatundidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
+    try test__floatundidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62);
+    try test__floatundidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
+    try test__floatundidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62);
+    try test__floatundidf(0x8000008000000000, 0x1.000001p+63);
+    try test__floatundidf(0x8000000000000800, 0x1.0000000000001p+63);
+    try test__floatundidf(0x8000010000000000, 0x1.000002p+63);
+    try test__floatundidf(0x8000000000001000, 0x1.0000000000002p+63);
+    try test__floatundidf(0x8000000000000000, 0x1p+63);
+    try test__floatundidf(0x8000000000000001, 0x1p+63);
+    try test__floatundidf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
+    try test__floatundidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50);
+    try test__floatundidf(0x0007FB72EB000000, 0x1.FEDCBACp+50);
+    try test__floatundidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50);
+    try test__floatundidf(0x0007FB72EC000000, 0x1.FEDCBBp+50);
+    try test__floatundidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50);
+    try test__floatundidf(0x0007FB72E6000000, 0x1.FEDCB98p+50);
+    try test__floatundidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50);
+    try test__floatundidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50);
+    try test__floatundidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50);
+    try test__floatundidf(0x0007FB72E4000000, 0x1.FEDCB9p+50);
+    try test__floatundidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57);
+    try test__floatundidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57);
+    try test__floatundidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57);
+    try test__floatundidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57);
+    try test__floatundidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57);
+    try test__floatundidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57);
+    try test__floatundidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57);
+    try test__floatundidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57);
+    try test__floatundidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57);
+    try test__floatundidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57);
+    try test__floatundidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57);
+    try test__floatundidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57);
+    try test__floatundidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57);
+    try test__floatundidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57);
+    try test__floatundidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57);
 }
lib/std/special/compiler_rt/floatundisf.zig
@@ -66,31 +66,31 @@ pub fn __aeabi_ul2f(arg: u64) callconv(.AAPCS) f32 {
     return @call(.{ .modifier = .always_inline }, __floatundisf, .{arg});
 }
 
-fn test__floatundisf(a: u64, expected: f32) void {
-    std.testing.expectEqual(expected, __floatundisf(a));
+fn test__floatundisf(a: u64, expected: f32) !void {
+    try std.testing.expectEqual(expected, __floatundisf(a));
 }
 
 test "floatundisf" {
-    test__floatundisf(0, 0.0);
-    test__floatundisf(1, 1.0);
-    test__floatundisf(2, 2.0);
-    test__floatundisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
-    test__floatundisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
-    test__floatundisf(0x8000008000000000, 0x1p+63);
-    test__floatundisf(0x8000010000000000, 0x1.000002p+63);
-    test__floatundisf(0x8000000000000000, 0x1p+63);
-    test__floatundisf(0x8000000000000001, 0x1p+63);
-    test__floatundisf(0xFFFFFFFFFFFFFFFE, 0x1p+64);
-    test__floatundisf(0xFFFFFFFFFFFFFFFF, 0x1p+64);
-    test__floatundisf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
-    test__floatundisf(0x0007FB72EA000000, 0x1.FEDCBAp+50);
-    test__floatundisf(0x0007FB72EB000000, 0x1.FEDCBAp+50);
-    test__floatundisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50);
-    test__floatundisf(0x0007FB72EC000000, 0x1.FEDCBCp+50);
-    test__floatundisf(0x0007FB72E8000001, 0x1.FEDCBAp+50);
-    test__floatundisf(0x0007FB72E6000000, 0x1.FEDCBAp+50);
-    test__floatundisf(0x0007FB72E7000000, 0x1.FEDCBAp+50);
-    test__floatundisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50);
-    test__floatundisf(0x0007FB72E4000001, 0x1.FEDCBAp+50);
-    test__floatundisf(0x0007FB72E4000000, 0x1.FEDCB8p+50);
+    try test__floatundisf(0, 0.0);
+    try test__floatundisf(1, 1.0);
+    try test__floatundisf(2, 2.0);
+    try test__floatundisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
+    try test__floatundisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
+    try test__floatundisf(0x8000008000000000, 0x1p+63);
+    try test__floatundisf(0x8000010000000000, 0x1.000002p+63);
+    try test__floatundisf(0x8000000000000000, 0x1p+63);
+    try test__floatundisf(0x8000000000000001, 0x1p+63);
+    try test__floatundisf(0xFFFFFFFFFFFFFFFE, 0x1p+64);
+    try test__floatundisf(0xFFFFFFFFFFFFFFFF, 0x1p+64);
+    try test__floatundisf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
+    try test__floatundisf(0x0007FB72EA000000, 0x1.FEDCBAp+50);
+    try test__floatundisf(0x0007FB72EB000000, 0x1.FEDCBAp+50);
+    try test__floatundisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50);
+    try test__floatundisf(0x0007FB72EC000000, 0x1.FEDCBCp+50);
+    try test__floatundisf(0x0007FB72E8000001, 0x1.FEDCBAp+50);
+    try test__floatundisf(0x0007FB72E6000000, 0x1.FEDCBAp+50);
+    try test__floatundisf(0x0007FB72E7000000, 0x1.FEDCBAp+50);
+    try test__floatundisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50);
+    try test__floatundisf(0x0007FB72E4000001, 0x1.FEDCBAp+50);
+    try test__floatundisf(0x0007FB72E4000000, 0x1.FEDCB8p+50);
 }
lib/std/special/compiler_rt/floatunditf_test.zig
@@ -5,7 +5,7 @@
 // and substantial portions of the software.
 const __floatunditf = @import("floatunditf.zig").__floatunditf;
 
-fn test__floatunditf(a: u64, expected_hi: u64, expected_lo: u64) void {
+fn test__floatunditf(a: u64, expected_hi: u64, expected_lo: u64) !void {
     const x = __floatunditf(a);
 
     const x_repr = @bitCast(u128, x);
@@ -26,12 +26,12 @@ fn test__floatunditf(a: u64, expected_hi: u64, expected_lo: u64) void {
 }
 
 test "floatunditf" {
-    test__floatunditf(0xffffffffffffffff, 0x403effffffffffff, 0xfffe000000000000);
-    test__floatunditf(0xfffffffffffffffe, 0x403effffffffffff, 0xfffc000000000000);
-    test__floatunditf(0x8000000000000000, 0x403e000000000000, 0x0);
-    test__floatunditf(0x7fffffffffffffff, 0x403dffffffffffff, 0xfffc000000000000);
-    test__floatunditf(0x123456789abcdef1, 0x403b23456789abcd, 0xef10000000000000);
-    test__floatunditf(0x2, 0x4000000000000000, 0x0);
-    test__floatunditf(0x1, 0x3fff000000000000, 0x0);
-    test__floatunditf(0x0, 0x0, 0x0);
+    try test__floatunditf(0xffffffffffffffff, 0x403effffffffffff, 0xfffe000000000000);
+    try test__floatunditf(0xfffffffffffffffe, 0x403effffffffffff, 0xfffc000000000000);
+    try test__floatunditf(0x8000000000000000, 0x403e000000000000, 0x0);
+    try test__floatunditf(0x7fffffffffffffff, 0x403dffffffffffff, 0xfffc000000000000);
+    try test__floatunditf(0x123456789abcdef1, 0x403b23456789abcd, 0xef10000000000000);
+    try test__floatunditf(0x2, 0x4000000000000000, 0x0);
+    try test__floatunditf(0x1, 0x3fff000000000000, 0x0);
+    try test__floatunditf(0x0, 0x0, 0x0);
 }
lib/std/special/compiler_rt/floatunsidf.zig
@@ -28,16 +28,16 @@ pub fn __aeabi_ui2d(arg: u32) callconv(.AAPCS) f64 {
     return @call(.{ .modifier = .always_inline }, __floatunsidf, .{arg});
 }
 
-fn test_one_floatunsidf(a: u32, expected: u64) void {
+fn test_one_floatunsidf(a: u32, expected: u64) !void {
     const r = __floatunsidf(a);
     try std.testing.expect(@bitCast(u64, r) == expected);
 }
 
 test "floatsidf" {
     // Test the produced bit pattern
-    test_one_floatunsidf(0, 0x0000000000000000);
-    test_one_floatunsidf(1, 0x3ff0000000000000);
-    test_one_floatunsidf(0x7FFFFFFF, 0x41dfffffffc00000);
-    test_one_floatunsidf(@intCast(u32, 0x80000000), 0x41e0000000000000);
-    test_one_floatunsidf(@intCast(u32, 0xFFFFFFFF), 0x41efffffffe00000);
+    try test_one_floatunsidf(0, 0x0000000000000000);
+    try test_one_floatunsidf(1, 0x3ff0000000000000);
+    try test_one_floatunsidf(0x7FFFFFFF, 0x41dfffffffc00000);
+    try test_one_floatunsidf(@intCast(u32, 0x80000000), 0x41e0000000000000);
+    try test_one_floatunsidf(@intCast(u32, 0xFFFFFFFF), 0x41efffffffe00000);
 }
lib/std/special/compiler_rt/floatunsisf.zig
@@ -48,16 +48,16 @@ pub fn __aeabi_ui2f(arg: u32) callconv(.AAPCS) f32 {
     return @call(.{ .modifier = .always_inline }, __floatunsisf, .{arg});
 }
 
-fn test_one_floatunsisf(a: u32, expected: u32) void {
+fn test_one_floatunsisf(a: u32, expected: u32) !void {
     const r = __floatunsisf(a);
     try std.testing.expect(@bitCast(u32, r) == expected);
 }
 
 test "floatunsisf" {
     // Test the produced bit pattern
-    test_one_floatunsisf(0, 0);
-    test_one_floatunsisf(1, 0x3f800000);
-    test_one_floatunsisf(0x7FFFFFFF, 0x4f000000);
-    test_one_floatunsisf(0x80000000, 0x4f000000);
-    test_one_floatunsisf(0xFFFFFFFF, 0x4f800000);
+    try test_one_floatunsisf(0, 0);
+    try test_one_floatunsisf(1, 0x3f800000);
+    try test_one_floatunsisf(0x7FFFFFFF, 0x4f000000);
+    try test_one_floatunsisf(0x80000000, 0x4f000000);
+    try test_one_floatunsisf(0xFFFFFFFF, 0x4f800000);
 }
lib/std/special/compiler_rt/floatunsitf_test.zig
@@ -5,7 +5,7 @@
 // and substantial portions of the software.
 const __floatunsitf = @import("floatunsitf.zig").__floatunsitf;
 
-fn test__floatunsitf(a: u64, expected_hi: u64, expected_lo: u64) void {
+fn test__floatunsitf(a: u64, expected_hi: u64, expected_lo: u64) !void {
     const x = __floatunsitf(a);
 
     const x_repr = @bitCast(u128, x);
@@ -26,8 +26,8 @@ fn test__floatunsitf(a: u64, expected_hi: u64, expected_lo: u64) void {
 }
 
 test "floatunsitf" {
-    test__floatunsitf(0x7fffffff, 0x401dfffffffc0000, 0x0);
-    test__floatunsitf(0, 0x0, 0x0);
-    test__floatunsitf(0xffffffff, 0x401efffffffe0000, 0x0);
-    test__floatunsitf(0x12345678, 0x401b234567800000, 0x0);
+    try test__floatunsitf(0x7fffffff, 0x401dfffffffc0000, 0x0);
+    try test__floatunsitf(0, 0x0, 0x0);
+    try test__floatunsitf(0xffffffff, 0x401efffffffe0000, 0x0);
+    try test__floatunsitf(0x12345678, 0x401b234567800000, 0x0);
 }
lib/std/special/compiler_rt/floatuntidf_test.zig
@@ -6,76 +6,76 @@
 const __floatuntidf = @import("floatuntidf.zig").__floatuntidf;
 const testing = @import("std").testing;
 
-fn test__floatuntidf(a: u128, expected: f64) void {
+fn test__floatuntidf(a: u128, expected: f64) !void {
     const x = __floatuntidf(a);
     try testing.expect(x == expected);
 }
 
 test "floatuntidf" {
-    test__floatuntidf(0, 0.0);
+    try test__floatuntidf(0, 0.0);
 
-    test__floatuntidf(1, 1.0);
-    test__floatuntidf(2, 2.0);
-    test__floatuntidf(20, 20.0);
+    try test__floatuntidf(1, 1.0);
+    try test__floatuntidf(2, 2.0);
+    try test__floatuntidf(20, 20.0);
 
-    test__floatuntidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
-    test__floatuntidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62);
-    test__floatuntidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
-    test__floatuntidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62);
+    try test__floatuntidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
+    try test__floatuntidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62);
+    try test__floatuntidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
+    try test__floatuntidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62);
 
-    test__floatuntidf(make_ti(0x8000008000000000, 0), 0x1.000001p+127);
-    test__floatuntidf(make_ti(0x8000000000000800, 0), 0x1.0000000000001p+127);
-    test__floatuntidf(make_ti(0x8000010000000000, 0), 0x1.000002p+127);
-    test__floatuntidf(make_ti(0x8000000000001000, 0), 0x1.0000000000002p+127);
+    try test__floatuntidf(make_ti(0x8000008000000000, 0), 0x1.000001p+127);
+    try test__floatuntidf(make_ti(0x8000000000000800, 0), 0x1.0000000000001p+127);
+    try test__floatuntidf(make_ti(0x8000010000000000, 0), 0x1.000002p+127);
+    try test__floatuntidf(make_ti(0x8000000000001000, 0), 0x1.0000000000002p+127);
 
-    test__floatuntidf(make_ti(0x8000000000000000, 0), 0x1.000000p+127);
-    test__floatuntidf(make_ti(0x8000000000000001, 0), 0x1.0000000000000002p+127);
+    try test__floatuntidf(make_ti(0x8000000000000000, 0), 0x1.000000p+127);
+    try test__floatuntidf(make_ti(0x8000000000000001, 0), 0x1.0000000000000002p+127);
 
-    test__floatuntidf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
+    try test__floatuntidf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
 
-    test__floatuntidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50);
-    test__floatuntidf(0x0007FB72EB000000, 0x1.FEDCBACp+50);
-    test__floatuntidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50);
-    test__floatuntidf(0x0007FB72EC000000, 0x1.FEDCBBp+50);
-    test__floatuntidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50);
+    try test__floatuntidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50);
+    try test__floatuntidf(0x0007FB72EB000000, 0x1.FEDCBACp+50);
+    try test__floatuntidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50);
+    try test__floatuntidf(0x0007FB72EC000000, 0x1.FEDCBBp+50);
+    try test__floatuntidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50);
 
-    test__floatuntidf(0x0007FB72E6000000, 0x1.FEDCB98p+50);
-    test__floatuntidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50);
-    test__floatuntidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50);
-    test__floatuntidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50);
-    test__floatuntidf(0x0007FB72E4000000, 0x1.FEDCB9p+50);
+    try test__floatuntidf(0x0007FB72E6000000, 0x1.FEDCB98p+50);
+    try test__floatuntidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50);
+    try test__floatuntidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50);
+    try test__floatuntidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50);
+    try test__floatuntidf(0x0007FB72E4000000, 0x1.FEDCB9p+50);
 
-    test__floatuntidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57);
-    test__floatuntidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57);
-    test__floatuntidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57);
-    test__floatuntidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57);
-    test__floatuntidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57);
-    test__floatuntidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57);
-    test__floatuntidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57);
-    test__floatuntidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57);
-    test__floatuntidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57);
-    test__floatuntidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57);
-    test__floatuntidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57);
-    test__floatuntidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57);
-    test__floatuntidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57);
-    test__floatuntidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57);
-    test__floatuntidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57);
+    try test__floatuntidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57);
+    try test__floatuntidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57);
+    try test__floatuntidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57);
+    try test__floatuntidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57);
+    try test__floatuntidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57);
+    try test__floatuntidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57);
+    try test__floatuntidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57);
+    try test__floatuntidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57);
+    try test__floatuntidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57);
+    try test__floatuntidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57);
+    try test__floatuntidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57);
+    try test__floatuntidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57);
+    try test__floatuntidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57);
+    try test__floatuntidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57);
+    try test__floatuntidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57);
 
-    test__floatuntidf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121);
-    test__floatuntidf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496Dp+121);
-    test__floatuntidf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496Ep+121);
-    test__floatuntidf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496Ep+121);
-    test__floatuntidf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496Ep+121);
-    test__floatuntidf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496Ep+121);
-    test__floatuntidf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496Ep+121);
-    test__floatuntidf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496Ep+121);
-    test__floatuntidf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496Ep+121);
-    test__floatuntidf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496Ep+121);
-    test__floatuntidf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496Ep+121);
-    test__floatuntidf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496Fp+121);
-    test__floatuntidf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496Fp+121);
-    test__floatuntidf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496Fp+121);
-    test__floatuntidf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121);
+    try test__floatuntidf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121);
+    try test__floatuntidf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496Dp+121);
+    try test__floatuntidf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496Ep+121);
+    try test__floatuntidf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496Ep+121);
+    try test__floatuntidf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496Ep+121);
+    try test__floatuntidf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496Ep+121);
+    try test__floatuntidf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496Ep+121);
+    try test__floatuntidf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496Ep+121);
+    try test__floatuntidf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496Ep+121);
+    try test__floatuntidf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496Ep+121);
+    try test__floatuntidf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496Ep+121);
+    try test__floatuntidf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496Fp+121);
+    try test__floatuntidf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496Fp+121);
+    try test__floatuntidf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496Fp+121);
+    try test__floatuntidf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121);
 }
 
 fn make_ti(high: u64, low: u64) u128 {
lib/std/special/compiler_rt/floatuntisf_test.zig
@@ -6,67 +6,67 @@
 const __floatuntisf = @import("floatuntisf.zig").__floatuntisf;
 const testing = @import("std").testing;
 
-fn test__floatuntisf(a: u128, expected: f32) void {
+fn test__floatuntisf(a: u128, expected: f32) !void {
     const x = __floatuntisf(a);
     try testing.expect(x == expected);
 }
 
 test "floatuntisf" {
-    test__floatuntisf(0, 0.0);
+    try test__floatuntisf(0, 0.0);
 
-    test__floatuntisf(1, 1.0);
-    test__floatuntisf(2, 2.0);
-    test__floatuntisf(20, 20.0);
+    try test__floatuntisf(1, 1.0);
+    try test__floatuntisf(2, 2.0);
+    try test__floatuntisf(20, 20.0);
 
-    test__floatuntisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
-    test__floatuntisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
+    try test__floatuntisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
+    try test__floatuntisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
 
-    test__floatuntisf(make_ti(0x8000008000000000, 0), 0x1.000001p+127);
-    test__floatuntisf(make_ti(0x8000000000000800, 0), 0x1.0p+127);
-    test__floatuntisf(make_ti(0x8000010000000000, 0), 0x1.000002p+127);
+    try test__floatuntisf(make_ti(0x8000008000000000, 0), 0x1.000001p+127);
+    try test__floatuntisf(make_ti(0x8000000000000800, 0), 0x1.0p+127);
+    try test__floatuntisf(make_ti(0x8000010000000000, 0), 0x1.000002p+127);
 
-    test__floatuntisf(make_ti(0x8000000000000000, 0), 0x1.000000p+127);
+    try test__floatuntisf(make_ti(0x8000000000000000, 0), 0x1.000000p+127);
 
-    test__floatuntisf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
+    try test__floatuntisf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
 
-    test__floatuntisf(0x0007FB72EA000000, 0x1.FEDCBA8p+50);
-    test__floatuntisf(0x0007FB72EB000000, 0x1.FEDCBACp+50);
+    try test__floatuntisf(0x0007FB72EA000000, 0x1.FEDCBA8p+50);
+    try test__floatuntisf(0x0007FB72EB000000, 0x1.FEDCBACp+50);
 
-    test__floatuntisf(0x0007FB72EC000000, 0x1.FEDCBBp+50);
+    try test__floatuntisf(0x0007FB72EC000000, 0x1.FEDCBBp+50);
 
-    test__floatuntisf(0x0007FB72E6000000, 0x1.FEDCB98p+50);
-    test__floatuntisf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50);
-    test__floatuntisf(0x0007FB72E4000000, 0x1.FEDCB9p+50);
+    try test__floatuntisf(0x0007FB72E6000000, 0x1.FEDCB98p+50);
+    try test__floatuntisf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50);
+    try test__floatuntisf(0x0007FB72E4000000, 0x1.FEDCB9p+50);
 
-    test__floatuntisf(0xFFFFFFFFFFFFFFFE, 0x1p+64);
-    test__floatuntisf(0xFFFFFFFFFFFFFFFF, 0x1p+64);
+    try test__floatuntisf(0xFFFFFFFFFFFFFFFE, 0x1p+64);
+    try test__floatuntisf(0xFFFFFFFFFFFFFFFF, 0x1p+64);
 
-    test__floatuntisf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
+    try test__floatuntisf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
 
-    test__floatuntisf(0x0007FB72EA000000, 0x1.FEDCBAp+50);
-    test__floatuntisf(0x0007FB72EB000000, 0x1.FEDCBAp+50);
-    test__floatuntisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50);
-    test__floatuntisf(0x0007FB72EC000000, 0x1.FEDCBCp+50);
-    test__floatuntisf(0x0007FB72E8000001, 0x1.FEDCBAp+50);
+    try test__floatuntisf(0x0007FB72EA000000, 0x1.FEDCBAp+50);
+    try test__floatuntisf(0x0007FB72EB000000, 0x1.FEDCBAp+50);
+    try test__floatuntisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50);
+    try test__floatuntisf(0x0007FB72EC000000, 0x1.FEDCBCp+50);
+    try test__floatuntisf(0x0007FB72E8000001, 0x1.FEDCBAp+50);
 
-    test__floatuntisf(0x0007FB72E6000000, 0x1.FEDCBAp+50);
-    test__floatuntisf(0x0007FB72E7000000, 0x1.FEDCBAp+50);
-    test__floatuntisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50);
-    test__floatuntisf(0x0007FB72E4000001, 0x1.FEDCBAp+50);
-    test__floatuntisf(0x0007FB72E4000000, 0x1.FEDCB8p+50);
+    try test__floatuntisf(0x0007FB72E6000000, 0x1.FEDCBAp+50);
+    try test__floatuntisf(0x0007FB72E7000000, 0x1.FEDCBAp+50);
+    try test__floatuntisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50);
+    try test__floatuntisf(0x0007FB72E4000001, 0x1.FEDCBAp+50);
+    try test__floatuntisf(0x0007FB72E4000000, 0x1.FEDCB8p+50);
 
-    test__floatuntisf(make_ti(0x0000000000001FED, 0xCB90000000000001), 0x1.FEDCBAp+76);
-    test__floatuntisf(make_ti(0x0000000000001FED, 0xCBA0000000000000), 0x1.FEDCBAp+76);
-    test__floatuntisf(make_ti(0x0000000000001FED, 0xCBAFFFFFFFFFFFFF), 0x1.FEDCBAp+76);
-    test__floatuntisf(make_ti(0x0000000000001FED, 0xCBB0000000000000), 0x1.FEDCBCp+76);
-    test__floatuntisf(make_ti(0x0000000000001FED, 0xCBB0000000000001), 0x1.FEDCBCp+76);
-    test__floatuntisf(make_ti(0x0000000000001FED, 0xCBBFFFFFFFFFFFFF), 0x1.FEDCBCp+76);
-    test__floatuntisf(make_ti(0x0000000000001FED, 0xCBC0000000000000), 0x1.FEDCBCp+76);
-    test__floatuntisf(make_ti(0x0000000000001FED, 0xCBC0000000000001), 0x1.FEDCBCp+76);
-    test__floatuntisf(make_ti(0x0000000000001FED, 0xCBD0000000000000), 0x1.FEDCBCp+76);
-    test__floatuntisf(make_ti(0x0000000000001FED, 0xCBD0000000000001), 0x1.FEDCBEp+76);
-    test__floatuntisf(make_ti(0x0000000000001FED, 0xCBDFFFFFFFFFFFFF), 0x1.FEDCBEp+76);
-    test__floatuntisf(make_ti(0x0000000000001FED, 0xCBE0000000000000), 0x1.FEDCBEp+76);
+    try test__floatuntisf(make_ti(0x0000000000001FED, 0xCB90000000000001), 0x1.FEDCBAp+76);
+    try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBA0000000000000), 0x1.FEDCBAp+76);
+    try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBAFFFFFFFFFFFFF), 0x1.FEDCBAp+76);
+    try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBB0000000000000), 0x1.FEDCBCp+76);
+    try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBB0000000000001), 0x1.FEDCBCp+76);
+    try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBBFFFFFFFFFFFFF), 0x1.FEDCBCp+76);
+    try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBC0000000000000), 0x1.FEDCBCp+76);
+    try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBC0000000000001), 0x1.FEDCBCp+76);
+    try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBD0000000000000), 0x1.FEDCBCp+76);
+    try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBD0000000000001), 0x1.FEDCBEp+76);
+    try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBDFFFFFFFFFFFFF), 0x1.FEDCBEp+76);
+    try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBE0000000000000), 0x1.FEDCBEp+76);
 }
 
 fn make_ti(high: u64, low: u64) u128 {
lib/std/special/compiler_rt/floatuntitf_test.zig
@@ -6,94 +6,94 @@
 const __floatuntitf = @import("floatuntitf.zig").__floatuntitf;
 const testing = @import("std").testing;
 
-fn test__floatuntitf(a: u128, expected: f128) void {
+fn test__floatuntitf(a: u128, expected: f128) !void {
     const x = __floatuntitf(a);
     try testing.expect(x == expected);
 }
 
 test "floatuntitf" {
-    test__floatuntitf(0, 0.0);
+    try test__floatuntitf(0, 0.0);
 
-    test__floatuntitf(1, 1.0);
-    test__floatuntitf(2, 2.0);
-    test__floatuntitf(20, 20.0);
+    try test__floatuntitf(1, 1.0);
+    try test__floatuntitf(2, 2.0);
+    try test__floatuntitf(20, 20.0);
 
-    test__floatuntitf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
-    test__floatuntitf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62);
-    test__floatuntitf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
-    test__floatuntitf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62);
-    test__floatuntitf(0x7FFFFFFFFFFFFFFF, 0xF.FFFFFFFFFFFFFFEp+59);
-    test__floatuntitf(0xFFFFFFFFFFFFFFFE, 0xF.FFFFFFFFFFFFFFEp+60);
-    test__floatuntitf(0xFFFFFFFFFFFFFFFF, 0xF.FFFFFFFFFFFFFFFp+60);
+    try test__floatuntitf(0x7FFFFF8000000000, 0x1.FFFFFEp+62);
+    try test__floatuntitf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62);
+    try test__floatuntitf(0x7FFFFF0000000000, 0x1.FFFFFCp+62);
+    try test__floatuntitf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62);
+    try test__floatuntitf(0x7FFFFFFFFFFFFFFF, 0xF.FFFFFFFFFFFFFFEp+59);
+    try test__floatuntitf(0xFFFFFFFFFFFFFFFE, 0xF.FFFFFFFFFFFFFFEp+60);
+    try test__floatuntitf(0xFFFFFFFFFFFFFFFF, 0xF.FFFFFFFFFFFFFFFp+60);
 
-    test__floatuntitf(0x8000008000000000, 0x8.000008p+60);
-    test__floatuntitf(0x8000000000000800, 0x8.0000000000008p+60);
-    test__floatuntitf(0x8000010000000000, 0x8.00001p+60);
-    test__floatuntitf(0x8000000000001000, 0x8.000000000001p+60);
+    try test__floatuntitf(0x8000008000000000, 0x8.000008p+60);
+    try test__floatuntitf(0x8000000000000800, 0x8.0000000000008p+60);
+    try test__floatuntitf(0x8000010000000000, 0x8.00001p+60);
+    try test__floatuntitf(0x8000000000001000, 0x8.000000000001p+60);
 
-    test__floatuntitf(0x8000000000000000, 0x8p+60);
-    test__floatuntitf(0x8000000000000001, 0x8.000000000000001p+60);
+    try test__floatuntitf(0x8000000000000000, 0x8p+60);
+    try test__floatuntitf(0x8000000000000001, 0x8.000000000000001p+60);
 
-    test__floatuntitf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
+    try test__floatuntitf(0x0007FB72E8000000, 0x1.FEDCBAp+50);
 
-    test__floatuntitf(0x0007FB72EA000000, 0x1.FEDCBA8p+50);
-    test__floatuntitf(0x0007FB72EB000000, 0x1.FEDCBACp+50);
-    test__floatuntitf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50);
-    test__floatuntitf(0x0007FB72EC000000, 0x1.FEDCBBp+50);
-    test__floatuntitf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50);
+    try test__floatuntitf(0x0007FB72EA000000, 0x1.FEDCBA8p+50);
+    try test__floatuntitf(0x0007FB72EB000000, 0x1.FEDCBACp+50);
+    try test__floatuntitf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50);
+    try test__floatuntitf(0x0007FB72EC000000, 0x1.FEDCBBp+50);
+    try test__floatuntitf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50);
 
-    test__floatuntitf(0x0007FB72E6000000, 0x1.FEDCB98p+50);
-    test__floatuntitf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50);
-    test__floatuntitf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50);
-    test__floatuntitf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50);
-    test__floatuntitf(0x0007FB72E4000000, 0x1.FEDCB9p+50);
+    try test__floatuntitf(0x0007FB72E6000000, 0x1.FEDCB98p+50);
+    try test__floatuntitf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50);
+    try test__floatuntitf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50);
+    try test__floatuntitf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50);
+    try test__floatuntitf(0x0007FB72E4000000, 0x1.FEDCB9p+50);
 
-    test__floatuntitf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57);
-    test__floatuntitf(0x023479FD0E092DA1, 0x1.1A3CFE870496D08p+57);
-    test__floatuntitf(0x023479FD0E092DB0, 0x1.1A3CFE870496D8p+57);
-    test__floatuntitf(0x023479FD0E092DB8, 0x1.1A3CFE870496DCp+57);
-    test__floatuntitf(0x023479FD0E092DB6, 0x1.1A3CFE870496DBp+57);
-    test__floatuntitf(0x023479FD0E092DBF, 0x1.1A3CFE870496DF8p+57);
-    test__floatuntitf(0x023479FD0E092DC1, 0x1.1A3CFE870496E08p+57);
-    test__floatuntitf(0x023479FD0E092DC7, 0x1.1A3CFE870496E38p+57);
-    test__floatuntitf(0x023479FD0E092DC8, 0x1.1A3CFE870496E4p+57);
-    test__floatuntitf(0x023479FD0E092DCF, 0x1.1A3CFE870496E78p+57);
-    test__floatuntitf(0x023479FD0E092DD0, 0x1.1A3CFE870496E8p+57);
-    test__floatuntitf(0x023479FD0E092DD1, 0x1.1A3CFE870496E88p+57);
-    test__floatuntitf(0x023479FD0E092DD8, 0x1.1A3CFE870496ECp+57);
-    test__floatuntitf(0x023479FD0E092DDF, 0x1.1A3CFE870496EF8p+57);
-    test__floatuntitf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57);
+    try test__floatuntitf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57);
+    try test__floatuntitf(0x023479FD0E092DA1, 0x1.1A3CFE870496D08p+57);
+    try test__floatuntitf(0x023479FD0E092DB0, 0x1.1A3CFE870496D8p+57);
+    try test__floatuntitf(0x023479FD0E092DB8, 0x1.1A3CFE870496DCp+57);
+    try test__floatuntitf(0x023479FD0E092DB6, 0x1.1A3CFE870496DBp+57);
+    try test__floatuntitf(0x023479FD0E092DBF, 0x1.1A3CFE870496DF8p+57);
+    try test__floatuntitf(0x023479FD0E092DC1, 0x1.1A3CFE870496E08p+57);
+    try test__floatuntitf(0x023479FD0E092DC7, 0x1.1A3CFE870496E38p+57);
+    try test__floatuntitf(0x023479FD0E092DC8, 0x1.1A3CFE870496E4p+57);
+    try test__floatuntitf(0x023479FD0E092DCF, 0x1.1A3CFE870496E78p+57);
+    try test__floatuntitf(0x023479FD0E092DD0, 0x1.1A3CFE870496E8p+57);
+    try test__floatuntitf(0x023479FD0E092DD1, 0x1.1A3CFE870496E88p+57);
+    try test__floatuntitf(0x023479FD0E092DD8, 0x1.1A3CFE870496ECp+57);
+    try test__floatuntitf(0x023479FD0E092DDF, 0x1.1A3CFE870496EF8p+57);
+    try test__floatuntitf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57);
 
-    test__floatuntitf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121);
-    test__floatuntitf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496D08p+121);
-    test__floatuntitf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496D8p+121);
-    test__floatuntitf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496DCp+121);
-    test__floatuntitf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496DBp+121);
-    test__floatuntitf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496DF8p+121);
-    test__floatuntitf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496E08p+121);
-    test__floatuntitf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496E38p+121);
-    test__floatuntitf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496E4p+121);
-    test__floatuntitf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496E78p+121);
-    test__floatuntitf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496E8p+121);
-    test__floatuntitf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496E88p+121);
-    test__floatuntitf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496ECp+121);
-    test__floatuntitf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496EF8p+121);
-    test__floatuntitf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121);
+    try test__floatuntitf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121);
+    try test__floatuntitf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496D08p+121);
+    try test__floatuntitf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496D8p+121);
+    try test__floatuntitf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496DCp+121);
+    try test__floatuntitf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496DBp+121);
+    try test__floatuntitf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496DF8p+121);
+    try test__floatuntitf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496E08p+121);
+    try test__floatuntitf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496E38p+121);
+    try test__floatuntitf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496E4p+121);
+    try test__floatuntitf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496E78p+121);
+    try test__floatuntitf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496E8p+121);
+    try test__floatuntitf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496E88p+121);
+    try test__floatuntitf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496ECp+121);
+    try test__floatuntitf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496EF8p+121);
+    try test__floatuntitf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121);
 
-    test__floatuntitf(make_ti(0, 0xFFFFFFFFFFFFFFFF), 0x1.FFFFFFFFFFFFFFFEp+63);
+    try test__floatuntitf(make_ti(0, 0xFFFFFFFFFFFFFFFF), 0x1.FFFFFFFFFFFFFFFEp+63);
 
-    test__floatuntitf(make_ti(0xFFFFFFFFFFFFFFFF, 0x0000000000000000), 0x1.FFFFFFFFFFFFFFFEp+127);
-    test__floatuntitf(make_ti(0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF), 0x1.0000000000000000p+128);
+    try test__floatuntitf(make_ti(0xFFFFFFFFFFFFFFFF, 0x0000000000000000), 0x1.FFFFFFFFFFFFFFFEp+127);
+    try test__floatuntitf(make_ti(0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF), 0x1.0000000000000000p+128);
 
-    test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC2801), 0x1.23456789ABCDEF0123456789ABC3p+124);
-    test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3000), 0x1.23456789ABCDEF0123456789ABC3p+124);
-    test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC37FF), 0x1.23456789ABCDEF0123456789ABC3p+124);
-    test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3800), 0x1.23456789ABCDEF0123456789ABC4p+124);
-    test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4000), 0x1.23456789ABCDEF0123456789ABC4p+124);
-    test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC47FF), 0x1.23456789ABCDEF0123456789ABC4p+124);
-    test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4800), 0x1.23456789ABCDEF0123456789ABC4p+124);
-    test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4801), 0x1.23456789ABCDEF0123456789ABC5p+124);
-    test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC57FF), 0x1.23456789ABCDEF0123456789ABC5p+124);
+    try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC2801), 0x1.23456789ABCDEF0123456789ABC3p+124);
+    try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3000), 0x1.23456789ABCDEF0123456789ABC3p+124);
+    try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC37FF), 0x1.23456789ABCDEF0123456789ABC3p+124);
+    try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3800), 0x1.23456789ABCDEF0123456789ABC4p+124);
+    try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4000), 0x1.23456789ABCDEF0123456789ABC4p+124);
+    try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC47FF), 0x1.23456789ABCDEF0123456789ABC4p+124);
+    try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4800), 0x1.23456789ABCDEF0123456789ABC4p+124);
+    try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4801), 0x1.23456789ABCDEF0123456789ABC5p+124);
+    try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC57FF), 0x1.23456789ABCDEF0123456789ABC5p+124);
 }
 
 fn make_ti(high: u64, low: u64) u128 {
lib/std/special/compiler_rt/int.zig
@@ -58,11 +58,11 @@ test "test_divdi3" {
     };
 
     for (cases) |case| {
-        test_one_divdi3(case[0], case[1], case[2]);
+        try test_one_divdi3(case[0], case[1], case[2]);
     }
 }
 
-fn test_one_divdi3(a: i64, b: i64, expected_q: i64) void {
+fn test_one_divdi3(a: i64, b: i64, expected_q: i64) !void {
     const q: i64 = __divdi3(a, b);
     try testing.expect(q == expected_q);
 }
@@ -98,11 +98,11 @@ test "test_moddi3" {
     };
 
     for (cases) |case| {
-        test_one_moddi3(case[0], case[1], case[2]);
+        try test_one_moddi3(case[0], case[1], case[2]);
     }
 }
 
-fn test_one_moddi3(a: i64, b: i64, expected_r: i64) void {
+fn test_one_moddi3(a: i64, b: i64, expected_r: i64) !void {
     const r: i64 = __moddi3(a, b);
     try testing.expect(r == expected_r);
 }
@@ -121,14 +121,14 @@ pub fn __umoddi3(a: u64, b: u64) callconv(.C) u64 {
 }
 
 test "test_umoddi3" {
-    test_one_umoddi3(0, 1, 0);
-    test_one_umoddi3(2, 1, 0);
-    test_one_umoddi3(0x8000000000000000, 1, 0x0);
-    test_one_umoddi3(0x8000000000000000, 2, 0x0);
-    test_one_umoddi3(0xFFFFFFFFFFFFFFFF, 2, 0x1);
+    try test_one_umoddi3(0, 1, 0);
+    try test_one_umoddi3(2, 1, 0);
+    try test_one_umoddi3(0x8000000000000000, 1, 0x0);
+    try test_one_umoddi3(0x8000000000000000, 2, 0x0);
+    try test_one_umoddi3(0xFFFFFFFFFFFFFFFF, 2, 0x1);
 }
 
-fn test_one_umoddi3(a: u64, b: u64, expected_r: u64) void {
+fn test_one_umoddi3(a: u64, b: u64, expected_r: u64) !void {
     const r = __umoddi3(a, b);
     try testing.expect(r == expected_r);
 }
@@ -159,11 +159,11 @@ test "test_divmodsi4" {
     };
 
     for (cases) |case| {
-        test_one_divmodsi4(case[0], case[1], case[2], case[3]);
+        try test_one_divmodsi4(case[0], case[1], case[2], case[3]);
     }
 }
 
-fn test_one_divmodsi4(a: i32, b: i32, expected_q: i32, expected_r: i32) void {
+fn test_one_divmodsi4(a: i32, b: i32, expected_q: i32, expected_r: i32) !void {
     var r: i32 = undefined;
     const q: i32 = __divmodsi4(a, b, &r);
     try testing.expect(q == expected_q and r == expected_r);
@@ -207,11 +207,11 @@ test "test_divsi3" {
     };
 
     for (cases) |case| {
-        test_one_divsi3(case[0], case[1], case[2]);
+        try test_one_divsi3(case[0], case[1], case[2]);
     }
 }
 
-fn test_one_divsi3(a: i32, b: i32, expected_q: i32) void {
+fn test_one_divsi3(a: i32, b: i32, expected_q: i32) !void {
     const q: i32 = __divsi3(a, b);
     try testing.expect(q == expected_q);
 }
@@ -394,11 +394,11 @@ test "test_udivsi3" {
     };
 
     for (cases) |case| {
-        test_one_udivsi3(case[0], case[1], case[2]);
+        try test_one_udivsi3(case[0], case[1], case[2]);
     }
 }
 
-fn test_one_udivsi3(a: u32, b: u32, expected_q: u32) void {
+fn test_one_udivsi3(a: u32, b: u32, expected_q: u32) !void {
     const q: u32 = __udivsi3(a, b);
     try testing.expect(q == expected_q);
 }
@@ -425,11 +425,11 @@ test "test_modsi3" {
     };
 
     for (cases) |case| {
-        test_one_modsi3(case[0], case[1], case[2]);
+        try test_one_modsi3(case[0], case[1], case[2]);
     }
 }
 
-fn test_one_modsi3(a: i32, b: i32, expected_r: i32) void {
+fn test_one_modsi3(a: i32, b: i32, expected_r: i32) !void {
     const r: i32 = __modsi3(a, b);
     try testing.expect(r == expected_r);
 }
@@ -577,11 +577,11 @@ test "test_umodsi3" {
     };
 
     for (cases) |case| {
-        test_one_umodsi3(case[0], case[1], case[2]);
+        try test_one_umodsi3(case[0], case[1], case[2]);
     }
 }
 
-fn test_one_umodsi3(a: u32, b: u32, expected_r: u32) void {
+fn test_one_umodsi3(a: u32, b: u32, expected_r: u32) !void {
     const r: u32 = __umodsi3(a, b);
     try testing.expect(r == expected_r);
 }
@@ -602,44 +602,44 @@ pub fn __mulsi3(a: i32, b: i32) callconv(.C) i32 {
     return @bitCast(i32, r);
 }
 
-fn test_one_mulsi3(a: i32, b: i32, result: i32) void {
-    testing.expectEqual(result, __mulsi3(a, b));
+fn test_one_mulsi3(a: i32, b: i32, result: i32) !void {
+    try testing.expectEqual(result, __mulsi3(a, b));
 }
 
 test "mulsi3" {
-    test_one_mulsi3(0, 0, 0);
-    test_one_mulsi3(0, 1, 0);
-    test_one_mulsi3(1, 0, 0);
-    test_one_mulsi3(0, 10, 0);
-    test_one_mulsi3(10, 0, 0);
-    test_one_mulsi3(0, maxInt(i32), 0);
-    test_one_mulsi3(maxInt(i32), 0, 0);
-    test_one_mulsi3(0, -1, 0);
-    test_one_mulsi3(-1, 0, 0);
-    test_one_mulsi3(0, -10, 0);
-    test_one_mulsi3(-10, 0, 0);
-    test_one_mulsi3(0, minInt(i32), 0);
-    test_one_mulsi3(minInt(i32), 0, 0);
-    test_one_mulsi3(1, 1, 1);
-    test_one_mulsi3(1, 10, 10);
-    test_one_mulsi3(10, 1, 10);
-    test_one_mulsi3(1, maxInt(i32), maxInt(i32));
-    test_one_mulsi3(maxInt(i32), 1, maxInt(i32));
-    test_one_mulsi3(1, -1, -1);
-    test_one_mulsi3(1, -10, -10);
-    test_one_mulsi3(-10, 1, -10);
-    test_one_mulsi3(1, minInt(i32), minInt(i32));
-    test_one_mulsi3(minInt(i32), 1, minInt(i32));
-    test_one_mulsi3(46340, 46340, 2147395600);
-    test_one_mulsi3(-46340, 46340, -2147395600);
-    test_one_mulsi3(46340, -46340, -2147395600);
-    test_one_mulsi3(-46340, -46340, 2147395600);
-    test_one_mulsi3(4194303, 8192, @truncate(i32, 34359730176));
-    test_one_mulsi3(-4194303, 8192, @truncate(i32, -34359730176));
-    test_one_mulsi3(4194303, -8192, @truncate(i32, -34359730176));
-    test_one_mulsi3(-4194303, -8192, @truncate(i32, 34359730176));
-    test_one_mulsi3(8192, 4194303, @truncate(i32, 34359730176));
-    test_one_mulsi3(-8192, 4194303, @truncate(i32, -34359730176));
-    test_one_mulsi3(8192, -4194303, @truncate(i32, -34359730176));
-    test_one_mulsi3(-8192, -4194303, @truncate(i32, 34359730176));
+    try test_one_mulsi3(0, 0, 0);
+    try test_one_mulsi3(0, 1, 0);
+    try test_one_mulsi3(1, 0, 0);
+    try test_one_mulsi3(0, 10, 0);
+    try test_one_mulsi3(10, 0, 0);
+    try test_one_mulsi3(0, maxInt(i32), 0);
+    try test_one_mulsi3(maxInt(i32), 0, 0);
+    try test_one_mulsi3(0, -1, 0);
+    try test_one_mulsi3(-1, 0, 0);
+    try test_one_mulsi3(0, -10, 0);
+    try test_one_mulsi3(-10, 0, 0);
+    try test_one_mulsi3(0, minInt(i32), 0);
+    try test_one_mulsi3(minInt(i32), 0, 0);
+    try test_one_mulsi3(1, 1, 1);
+    try test_one_mulsi3(1, 10, 10);
+    try test_one_mulsi3(10, 1, 10);
+    try test_one_mulsi3(1, maxInt(i32), maxInt(i32));
+    try test_one_mulsi3(maxInt(i32), 1, maxInt(i32));
+    try test_one_mulsi3(1, -1, -1);
+    try test_one_mulsi3(1, -10, -10);
+    try test_one_mulsi3(-10, 1, -10);
+    try test_one_mulsi3(1, minInt(i32), minInt(i32));
+    try test_one_mulsi3(minInt(i32), 1, minInt(i32));
+    try test_one_mulsi3(46340, 46340, 2147395600);
+    try test_one_mulsi3(-46340, 46340, -2147395600);
+    try test_one_mulsi3(46340, -46340, -2147395600);
+    try test_one_mulsi3(-46340, -46340, 2147395600);
+    try test_one_mulsi3(4194303, 8192, @truncate(i32, 34359730176));
+    try test_one_mulsi3(-4194303, 8192, @truncate(i32, -34359730176));
+    try test_one_mulsi3(4194303, -8192, @truncate(i32, -34359730176));
+    try test_one_mulsi3(-4194303, -8192, @truncate(i32, 34359730176));
+    try test_one_mulsi3(8192, 4194303, @truncate(i32, 34359730176));
+    try test_one_mulsi3(-8192, 4194303, @truncate(i32, -34359730176));
+    try test_one_mulsi3(8192, -4194303, @truncate(i32, -34359730176));
+    try test_one_mulsi3(-8192, -4194303, @truncate(i32, 34359730176));
 }
lib/std/special/compiler_rt/lshrdi3_test.zig
@@ -6,55 +6,55 @@
 const __lshrdi3 = @import("shift.zig").__lshrdi3;
 const testing = @import("std").testing;
 
-fn test__lshrdi3(a: i64, b: i32, expected: u64) void {
+fn test__lshrdi3(a: i64, b: i32, expected: u64) !void {
     const x = __lshrdi3(a, b);
-    testing.expectEqual(@bitCast(i64, expected), x);
+    try testing.expectEqual(@bitCast(i64, expected), x);
 }
 
 test "lshrdi3" {
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 0, 0x123456789ABCDEF);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 1, 0x91A2B3C4D5E6F7);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 2, 0x48D159E26AF37B);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 3, 0x2468ACF13579BD);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 4, 0x123456789ABCDE);
-
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 28, 0x12345678);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 29, 0x91A2B3C);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 30, 0x48D159E);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 31, 0x2468ACF);
-
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 32, 0x1234567);
-
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 33, 0x91A2B3);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 34, 0x48D159);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 35, 0x2468AC);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 36, 0x123456);
-
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 60, 0);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 61, 0);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 62, 0);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 63, 0);
-
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 0, 0xFEDCBA9876543210);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 1, 0x7F6E5D4C3B2A1908);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 2, 0x3FB72EA61D950C84);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 3, 0x1FDB97530ECA8642);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 4, 0xFEDCBA987654321);
-
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 28, 0xFEDCBA987);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 29, 0x7F6E5D4C3);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 30, 0x3FB72EA61);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 31, 0x1FDB97530);
-
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 32, 0xFEDCBA98);
-
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 33, 0x7F6E5D4C);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 34, 0x3FB72EA6);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 35, 0x1FDB9753);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 36, 0xFEDCBA9);
-
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 60, 0xA);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 61, 0x5);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 62, 0x2);
-    test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 63, 0x1);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 0, 0x123456789ABCDEF);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 1, 0x91A2B3C4D5E6F7);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 2, 0x48D159E26AF37B);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 3, 0x2468ACF13579BD);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 4, 0x123456789ABCDE);
+
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 28, 0x12345678);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 29, 0x91A2B3C);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 30, 0x48D159E);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 31, 0x2468ACF);
+
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 32, 0x1234567);
+
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 33, 0x91A2B3);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 34, 0x48D159);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 35, 0x2468AC);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 36, 0x123456);
+
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 60, 0);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 61, 0);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 62, 0);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 63, 0);
+
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 0, 0xFEDCBA9876543210);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 1, 0x7F6E5D4C3B2A1908);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 2, 0x3FB72EA61D950C84);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 3, 0x1FDB97530ECA8642);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 4, 0xFEDCBA987654321);
+
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 28, 0xFEDCBA987);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 29, 0x7F6E5D4C3);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 30, 0x3FB72EA61);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 31, 0x1FDB97530);
+
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 32, 0xFEDCBA98);
+
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 33, 0x7F6E5D4C);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 34, 0x3FB72EA6);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 35, 0x1FDB9753);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 36, 0xFEDCBA9);
+
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 60, 0xA);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 61, 0x5);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 62, 0x2);
+    try test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 63, 0x1);
 }
lib/std/special/compiler_rt/lshrti3_test.zig
@@ -6,46 +6,46 @@
 const __lshrti3 = @import("shift.zig").__lshrti3;
 const testing = @import("std").testing;
 
-fn test__lshrti3(a: i128, b: i32, expected: i128) void {
+fn test__lshrti3(a: i128, b: i32, expected: i128) !void {
     const x = __lshrti3(a, b);
-    testing.expectEqual(expected, x);
+    try testing.expectEqual(expected, x);
 }
 
 test "lshrti3" {
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 0, @bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 1, @bitCast(i128, @intCast(u128, 0x7F6E5D4C3B2A190AFF6E5D4C3B2A190A)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 2, @bitCast(i128, @intCast(u128, 0x3FB72EA61D950C857FB72EA61D950C85)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 3, @bitCast(i128, @intCast(u128, 0x1FDB97530ECA8642BFDB97530ECA8642)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 4, @bitCast(i128, @intCast(u128, 0x0FEDCBA9876543215FEDCBA987654321)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 28, @bitCast(i128, @intCast(u128, 0x0000000FEDCBA9876543215FEDCBA987)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 29, @bitCast(i128, @intCast(u128, 0x00000007F6E5D4C3B2A190AFF6E5D4C3)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 30, @bitCast(i128, @intCast(u128, 0x00000003FB72EA61D950C857FB72EA61)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 31, @bitCast(i128, @intCast(u128, 0x00000001FDB97530ECA8642BFDB97530)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 32, @bitCast(i128, @intCast(u128, 0x00000000FEDCBA9876543215FEDCBA98)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 33, @bitCast(i128, @intCast(u128, 0x000000007F6E5D4C3B2A190AFF6E5D4C)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 34, @bitCast(i128, @intCast(u128, 0x000000003FB72EA61D950C857FB72EA6)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 35, @bitCast(i128, @intCast(u128, 0x000000001FDB97530ECA8642BFDB9753)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 36, @bitCast(i128, @intCast(u128, 0x000000000FEDCBA9876543215FEDCBA9)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 60, @bitCast(i128, @intCast(u128, 0x000000000000000FEDCBA9876543215F)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 61, @bitCast(i128, @intCast(u128, 0x0000000000000007F6E5D4C3B2A190AF)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 62, @bitCast(i128, @intCast(u128, 0x0000000000000003FB72EA61D950C857)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 63, @bitCast(i128, @intCast(u128, 0x0000000000000001FDB97530ECA8642B)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 64, @bitCast(i128, @intCast(u128, 0x0000000000000000FEDCBA9876543215)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 65, @bitCast(i128, @intCast(u128, 0x00000000000000007F6E5D4C3B2A190A)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 66, @bitCast(i128, @intCast(u128, 0x00000000000000003FB72EA61D950C85)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 67, @bitCast(i128, @intCast(u128, 0x00000000000000001FDB97530ECA8642)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 68, @bitCast(i128, @intCast(u128, 0x00000000000000000FEDCBA987654321)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 92, @bitCast(i128, @intCast(u128, 0x00000000000000000000000FEDCBA987)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 93, @bitCast(i128, @intCast(u128, 0x000000000000000000000007F6E5D4C3)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 94, @bitCast(i128, @intCast(u128, 0x000000000000000000000003FB72EA61)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 95, @bitCast(i128, @intCast(u128, 0x000000000000000000000001FDB97530)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 96, @bitCast(i128, @intCast(u128, 0x000000000000000000000000FEDCBA98)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 97, @bitCast(i128, @intCast(u128, 0x0000000000000000000000007F6E5D4C)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 98, @bitCast(i128, @intCast(u128, 0x0000000000000000000000003FB72EA6)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 99, @bitCast(i128, @intCast(u128, 0x0000000000000000000000001FDB9753)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 100, @bitCast(i128, @intCast(u128, 0x0000000000000000000000000FEDCBA9)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 124, @bitCast(i128, @intCast(u128, 0x0000000000000000000000000000000F)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 125, @bitCast(i128, @intCast(u128, 0x00000000000000000000000000000007)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 126, @bitCast(i128, @intCast(u128, 0x00000000000000000000000000000003)));
-    test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 127, @bitCast(i128, @intCast(u128, 0x00000000000000000000000000000001)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 0, @bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 1, @bitCast(i128, @intCast(u128, 0x7F6E5D4C3B2A190AFF6E5D4C3B2A190A)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 2, @bitCast(i128, @intCast(u128, 0x3FB72EA61D950C857FB72EA61D950C85)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 3, @bitCast(i128, @intCast(u128, 0x1FDB97530ECA8642BFDB97530ECA8642)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 4, @bitCast(i128, @intCast(u128, 0x0FEDCBA9876543215FEDCBA987654321)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 28, @bitCast(i128, @intCast(u128, 0x0000000FEDCBA9876543215FEDCBA987)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 29, @bitCast(i128, @intCast(u128, 0x00000007F6E5D4C3B2A190AFF6E5D4C3)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 30, @bitCast(i128, @intCast(u128, 0x00000003FB72EA61D950C857FB72EA61)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 31, @bitCast(i128, @intCast(u128, 0x00000001FDB97530ECA8642BFDB97530)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 32, @bitCast(i128, @intCast(u128, 0x00000000FEDCBA9876543215FEDCBA98)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 33, @bitCast(i128, @intCast(u128, 0x000000007F6E5D4C3B2A190AFF6E5D4C)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 34, @bitCast(i128, @intCast(u128, 0x000000003FB72EA61D950C857FB72EA6)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 35, @bitCast(i128, @intCast(u128, 0x000000001FDB97530ECA8642BFDB9753)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 36, @bitCast(i128, @intCast(u128, 0x000000000FEDCBA9876543215FEDCBA9)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 60, @bitCast(i128, @intCast(u128, 0x000000000000000FEDCBA9876543215F)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 61, @bitCast(i128, @intCast(u128, 0x0000000000000007F6E5D4C3B2A190AF)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 62, @bitCast(i128, @intCast(u128, 0x0000000000000003FB72EA61D950C857)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 63, @bitCast(i128, @intCast(u128, 0x0000000000000001FDB97530ECA8642B)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 64, @bitCast(i128, @intCast(u128, 0x0000000000000000FEDCBA9876543215)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 65, @bitCast(i128, @intCast(u128, 0x00000000000000007F6E5D4C3B2A190A)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 66, @bitCast(i128, @intCast(u128, 0x00000000000000003FB72EA61D950C85)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 67, @bitCast(i128, @intCast(u128, 0x00000000000000001FDB97530ECA8642)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 68, @bitCast(i128, @intCast(u128, 0x00000000000000000FEDCBA987654321)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 92, @bitCast(i128, @intCast(u128, 0x00000000000000000000000FEDCBA987)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 93, @bitCast(i128, @intCast(u128, 0x000000000000000000000007F6E5D4C3)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 94, @bitCast(i128, @intCast(u128, 0x000000000000000000000003FB72EA61)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 95, @bitCast(i128, @intCast(u128, 0x000000000000000000000001FDB97530)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 96, @bitCast(i128, @intCast(u128, 0x000000000000000000000000FEDCBA98)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 97, @bitCast(i128, @intCast(u128, 0x0000000000000000000000007F6E5D4C)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 98, @bitCast(i128, @intCast(u128, 0x0000000000000000000000003FB72EA6)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 99, @bitCast(i128, @intCast(u128, 0x0000000000000000000000001FDB9753)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 100, @bitCast(i128, @intCast(u128, 0x0000000000000000000000000FEDCBA9)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 124, @bitCast(i128, @intCast(u128, 0x0000000000000000000000000000000F)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 125, @bitCast(i128, @intCast(u128, 0x00000000000000000000000000000007)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 126, @bitCast(i128, @intCast(u128, 0x00000000000000000000000000000003)));
+    try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 127, @bitCast(i128, @intCast(u128, 0x00000000000000000000000000000001)));
 }
lib/std/special/compiler_rt/modti3_test.zig
@@ -6,32 +6,32 @@
 const __modti3 = @import("modti3.zig").__modti3;
 const testing = @import("std").testing;
 
-fn test__modti3(a: i128, b: i128, expected: i128) void {
+fn test__modti3(a: i128, b: i128, expected: i128) !void {
     const x = __modti3(a, b);
     try testing.expect(x == expected);
 }
 
 test "modti3" {
-    test__modti3(0, 1, 0);
-    test__modti3(0, -1, 0);
-    test__modti3(5, 3, 2);
-    test__modti3(5, -3, 2);
-    test__modti3(-5, 3, -2);
-    test__modti3(-5, -3, -2);
+    try test__modti3(0, 1, 0);
+    try test__modti3(0, -1, 0);
+    try test__modti3(5, 3, 2);
+    try test__modti3(5, -3, 2);
+    try test__modti3(-5, 3, -2);
+    try test__modti3(-5, -3, -2);
 
-    test__modti3(0x8000000000000000, 1, 0x0);
-    test__modti3(0x8000000000000000, -1, 0x0);
-    test__modti3(0x8000000000000000, 2, 0x0);
-    test__modti3(0x8000000000000000, -2, 0x0);
-    test__modti3(0x8000000000000000, 3, 2);
-    test__modti3(0x8000000000000000, -3, 2);
+    try test__modti3(0x8000000000000000, 1, 0x0);
+    try test__modti3(0x8000000000000000, -1, 0x0);
+    try test__modti3(0x8000000000000000, 2, 0x0);
+    try test__modti3(0x8000000000000000, -2, 0x0);
+    try test__modti3(0x8000000000000000, 3, 2);
+    try test__modti3(0x8000000000000000, -3, 2);
 
-    test__modti3(make_ti(0x8000000000000000, 0), 1, 0x0);
-    test__modti3(make_ti(0x8000000000000000, 0), -1, 0x0);
-    test__modti3(make_ti(0x8000000000000000, 0), 2, 0x0);
-    test__modti3(make_ti(0x8000000000000000, 0), -2, 0x0);
-    test__modti3(make_ti(0x8000000000000000, 0), 3, -2);
-    test__modti3(make_ti(0x8000000000000000, 0), -3, -2);
+    try test__modti3(make_ti(0x8000000000000000, 0), 1, 0x0);
+    try test__modti3(make_ti(0x8000000000000000, 0), -1, 0x0);
+    try test__modti3(make_ti(0x8000000000000000, 0), 2, 0x0);
+    try test__modti3(make_ti(0x8000000000000000, 0), -2, 0x0);
+    try test__modti3(make_ti(0x8000000000000000, 0), 3, -2);
+    try test__modti3(make_ti(0x8000000000000000, 0), -3, -2);
 }
 
 fn make_ti(high: u64, low: u64) i128 {
lib/std/special/compiler_rt/muldi3_test.zig
@@ -6,51 +6,51 @@
 const __muldi3 = @import("muldi3.zig").__muldi3;
 const testing = @import("std").testing;
 
-fn test__muldi3(a: i64, b: i64, expected: i64) void {
+fn test__muldi3(a: i64, b: i64, expected: i64) !void {
     const x = __muldi3(a, b);
     try testing.expect(x == expected);
 }
 
 test "muldi3" {
-    test__muldi3(0, 0, 0);
-    test__muldi3(0, 1, 0);
-    test__muldi3(1, 0, 0);
-    test__muldi3(0, 10, 0);
-    test__muldi3(10, 0, 0);
-    test__muldi3(0, 81985529216486895, 0);
-    test__muldi3(81985529216486895, 0, 0);
-
-    test__muldi3(0, -1, 0);
-    test__muldi3(-1, 0, 0);
-    test__muldi3(0, -10, 0);
-    test__muldi3(-10, 0, 0);
-    test__muldi3(0, -81985529216486895, 0);
-    test__muldi3(-81985529216486895, 0, 0);
-
-    test__muldi3(1, 1, 1);
-    test__muldi3(1, 10, 10);
-    test__muldi3(10, 1, 10);
-    test__muldi3(1, 81985529216486895, 81985529216486895);
-    test__muldi3(81985529216486895, 1, 81985529216486895);
-
-    test__muldi3(1, -1, -1);
-    test__muldi3(1, -10, -10);
-    test__muldi3(-10, 1, -10);
-    test__muldi3(1, -81985529216486895, -81985529216486895);
-    test__muldi3(-81985529216486895, 1, -81985529216486895);
-
-    test__muldi3(3037000499, 3037000499, 9223372030926249001);
-    test__muldi3(-3037000499, 3037000499, -9223372030926249001);
-    test__muldi3(3037000499, -3037000499, -9223372030926249001);
-    test__muldi3(-3037000499, -3037000499, 9223372030926249001);
-
-    test__muldi3(4398046511103, 2097152, 9223372036852678656);
-    test__muldi3(-4398046511103, 2097152, -9223372036852678656);
-    test__muldi3(4398046511103, -2097152, -9223372036852678656);
-    test__muldi3(-4398046511103, -2097152, 9223372036852678656);
-
-    test__muldi3(2097152, 4398046511103, 9223372036852678656);
-    test__muldi3(-2097152, 4398046511103, -9223372036852678656);
-    test__muldi3(2097152, -4398046511103, -9223372036852678656);
-    test__muldi3(-2097152, -4398046511103, 9223372036852678656);
+    try test__muldi3(0, 0, 0);
+    try test__muldi3(0, 1, 0);
+    try test__muldi3(1, 0, 0);
+    try test__muldi3(0, 10, 0);
+    try test__muldi3(10, 0, 0);
+    try test__muldi3(0, 81985529216486895, 0);
+    try test__muldi3(81985529216486895, 0, 0);
+
+    try test__muldi3(0, -1, 0);
+    try test__muldi3(-1, 0, 0);
+    try test__muldi3(0, -10, 0);
+    try test__muldi3(-10, 0, 0);
+    try test__muldi3(0, -81985529216486895, 0);
+    try test__muldi3(-81985529216486895, 0, 0);
+
+    try test__muldi3(1, 1, 1);
+    try test__muldi3(1, 10, 10);
+    try test__muldi3(10, 1, 10);
+    try test__muldi3(1, 81985529216486895, 81985529216486895);
+    try test__muldi3(81985529216486895, 1, 81985529216486895);
+
+    try test__muldi3(1, -1, -1);
+    try test__muldi3(1, -10, -10);
+    try test__muldi3(-10, 1, -10);
+    try test__muldi3(1, -81985529216486895, -81985529216486895);
+    try test__muldi3(-81985529216486895, 1, -81985529216486895);
+
+    try test__muldi3(3037000499, 3037000499, 9223372030926249001);
+    try test__muldi3(-3037000499, 3037000499, -9223372030926249001);
+    try test__muldi3(3037000499, -3037000499, -9223372030926249001);
+    try test__muldi3(-3037000499, -3037000499, 9223372030926249001);
+
+    try test__muldi3(4398046511103, 2097152, 9223372036852678656);
+    try test__muldi3(-4398046511103, 2097152, -9223372036852678656);
+    try test__muldi3(4398046511103, -2097152, -9223372036852678656);
+    try test__muldi3(-4398046511103, -2097152, 9223372036852678656);
+
+    try test__muldi3(2097152, 4398046511103, 9223372036852678656);
+    try test__muldi3(-2097152, 4398046511103, -9223372036852678656);
+    try test__muldi3(2097152, -4398046511103, -9223372036852678656);
+    try test__muldi3(-2097152, -4398046511103, 9223372036852678656);
 }
lib/std/special/compiler_rt/mulodi4_test.zig
@@ -6,85 +6,85 @@
 const __mulodi4 = @import("mulodi4.zig").__mulodi4;
 const testing = @import("std").testing;
 
-fn test__mulodi4(a: i64, b: i64, expected: i64, expected_overflow: c_int) void {
+fn test__mulodi4(a: i64, b: i64, expected: i64, expected_overflow: c_int) !void {
     var overflow: c_int = undefined;
     const x = __mulodi4(a, b, &overflow);
     try testing.expect(overflow == expected_overflow and (expected_overflow != 0 or x == expected));
 }
 
 test "mulodi4" {
-    test__mulodi4(0, 0, 0, 0);
-    test__mulodi4(0, 1, 0, 0);
-    test__mulodi4(1, 0, 0, 0);
-    test__mulodi4(0, 10, 0, 0);
-    test__mulodi4(10, 0, 0, 0);
-    test__mulodi4(0, 81985529216486895, 0, 0);
-    test__mulodi4(81985529216486895, 0, 0, 0);
+    try test__mulodi4(0, 0, 0, 0);
+    try test__mulodi4(0, 1, 0, 0);
+    try test__mulodi4(1, 0, 0, 0);
+    try test__mulodi4(0, 10, 0, 0);
+    try test__mulodi4(10, 0, 0, 0);
+    try test__mulodi4(0, 81985529216486895, 0, 0);
+    try test__mulodi4(81985529216486895, 0, 0, 0);
 
-    test__mulodi4(0, -1, 0, 0);
-    test__mulodi4(-1, 0, 0, 0);
-    test__mulodi4(0, -10, 0, 0);
-    test__mulodi4(-10, 0, 0, 0);
-    test__mulodi4(0, -81985529216486895, 0, 0);
-    test__mulodi4(-81985529216486895, 0, 0, 0);
+    try test__mulodi4(0, -1, 0, 0);
+    try test__mulodi4(-1, 0, 0, 0);
+    try test__mulodi4(0, -10, 0, 0);
+    try test__mulodi4(-10, 0, 0, 0);
+    try test__mulodi4(0, -81985529216486895, 0, 0);
+    try test__mulodi4(-81985529216486895, 0, 0, 0);
 
-    test__mulodi4(1, 1, 1, 0);
-    test__mulodi4(1, 10, 10, 0);
-    test__mulodi4(10, 1, 10, 0);
-    test__mulodi4(1, 81985529216486895, 81985529216486895, 0);
-    test__mulodi4(81985529216486895, 1, 81985529216486895, 0);
+    try test__mulodi4(1, 1, 1, 0);
+    try test__mulodi4(1, 10, 10, 0);
+    try test__mulodi4(10, 1, 10, 0);
+    try test__mulodi4(1, 81985529216486895, 81985529216486895, 0);
+    try test__mulodi4(81985529216486895, 1, 81985529216486895, 0);
 
-    test__mulodi4(1, -1, -1, 0);
-    test__mulodi4(1, -10, -10, 0);
-    test__mulodi4(-10, 1, -10, 0);
-    test__mulodi4(1, -81985529216486895, -81985529216486895, 0);
-    test__mulodi4(-81985529216486895, 1, -81985529216486895, 0);
+    try test__mulodi4(1, -1, -1, 0);
+    try test__mulodi4(1, -10, -10, 0);
+    try test__mulodi4(-10, 1, -10, 0);
+    try test__mulodi4(1, -81985529216486895, -81985529216486895, 0);
+    try test__mulodi4(-81985529216486895, 1, -81985529216486895, 0);
 
-    test__mulodi4(3037000499, 3037000499, 9223372030926249001, 0);
-    test__mulodi4(-3037000499, 3037000499, -9223372030926249001, 0);
-    test__mulodi4(3037000499, -3037000499, -9223372030926249001, 0);
-    test__mulodi4(-3037000499, -3037000499, 9223372030926249001, 0);
+    try test__mulodi4(3037000499, 3037000499, 9223372030926249001, 0);
+    try test__mulodi4(-3037000499, 3037000499, -9223372030926249001, 0);
+    try test__mulodi4(3037000499, -3037000499, -9223372030926249001, 0);
+    try test__mulodi4(-3037000499, -3037000499, 9223372030926249001, 0);
 
-    test__mulodi4(4398046511103, 2097152, 9223372036852678656, 0);
-    test__mulodi4(-4398046511103, 2097152, -9223372036852678656, 0);
-    test__mulodi4(4398046511103, -2097152, -9223372036852678656, 0);
-    test__mulodi4(-4398046511103, -2097152, 9223372036852678656, 0);
+    try test__mulodi4(4398046511103, 2097152, 9223372036852678656, 0);
+    try test__mulodi4(-4398046511103, 2097152, -9223372036852678656, 0);
+    try test__mulodi4(4398046511103, -2097152, -9223372036852678656, 0);
+    try test__mulodi4(-4398046511103, -2097152, 9223372036852678656, 0);
 
-    test__mulodi4(2097152, 4398046511103, 9223372036852678656, 0);
-    test__mulodi4(-2097152, 4398046511103, -9223372036852678656, 0);
-    test__mulodi4(2097152, -4398046511103, -9223372036852678656, 0);
-    test__mulodi4(-2097152, -4398046511103, 9223372036852678656, 0);
+    try test__mulodi4(2097152, 4398046511103, 9223372036852678656, 0);
+    try test__mulodi4(-2097152, 4398046511103, -9223372036852678656, 0);
+    try test__mulodi4(2097152, -4398046511103, -9223372036852678656, 0);
+    try test__mulodi4(-2097152, -4398046511103, 9223372036852678656, 0);
 
-    test__mulodi4(0x7FFFFFFFFFFFFFFF, -2, 2, 1);
-    test__mulodi4(-2, 0x7FFFFFFFFFFFFFFF, 2, 1);
-    test__mulodi4(0x7FFFFFFFFFFFFFFF, -1, @bitCast(i64, @as(u64, 0x8000000000000001)), 0);
-    test__mulodi4(-1, 0x7FFFFFFFFFFFFFFF, @bitCast(i64, @as(u64, 0x8000000000000001)), 0);
-    test__mulodi4(0x7FFFFFFFFFFFFFFF, 0, 0, 0);
-    test__mulodi4(0, 0x7FFFFFFFFFFFFFFF, 0, 0);
-    test__mulodi4(0x7FFFFFFFFFFFFFFF, 1, 0x7FFFFFFFFFFFFFFF, 0);
-    test__mulodi4(1, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0);
-    test__mulodi4(0x7FFFFFFFFFFFFFFF, 2, @bitCast(i64, @as(u64, 0x8000000000000001)), 1);
-    test__mulodi4(2, 0x7FFFFFFFFFFFFFFF, @bitCast(i64, @as(u64, 0x8000000000000001)), 1);
+    try test__mulodi4(0x7FFFFFFFFFFFFFFF, -2, 2, 1);
+    try test__mulodi4(-2, 0x7FFFFFFFFFFFFFFF, 2, 1);
+    try test__mulodi4(0x7FFFFFFFFFFFFFFF, -1, @bitCast(i64, @as(u64, 0x8000000000000001)), 0);
+    try test__mulodi4(-1, 0x7FFFFFFFFFFFFFFF, @bitCast(i64, @as(u64, 0x8000000000000001)), 0);
+    try test__mulodi4(0x7FFFFFFFFFFFFFFF, 0, 0, 0);
+    try test__mulodi4(0, 0x7FFFFFFFFFFFFFFF, 0, 0);
+    try test__mulodi4(0x7FFFFFFFFFFFFFFF, 1, 0x7FFFFFFFFFFFFFFF, 0);
+    try test__mulodi4(1, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0);
+    try test__mulodi4(0x7FFFFFFFFFFFFFFF, 2, @bitCast(i64, @as(u64, 0x8000000000000001)), 1);
+    try test__mulodi4(2, 0x7FFFFFFFFFFFFFFF, @bitCast(i64, @as(u64, 0x8000000000000001)), 1);
 
-    test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), -2, @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
-    test__mulodi4(-2, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
-    test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), -1, @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
-    test__mulodi4(-1, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
-    test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), 0, 0, 0);
-    test__mulodi4(0, @bitCast(i64, @as(u64, 0x8000000000000000)), 0, 0);
-    test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), 1, @bitCast(i64, @as(u64, 0x8000000000000000)), 0);
-    test__mulodi4(1, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 0);
-    test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), 2, @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
-    test__mulodi4(2, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
+    try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), -2, @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
+    try test__mulodi4(-2, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
+    try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), -1, @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
+    try test__mulodi4(-1, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
+    try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), 0, 0, 0);
+    try test__mulodi4(0, @bitCast(i64, @as(u64, 0x8000000000000000)), 0, 0);
+    try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), 1, @bitCast(i64, @as(u64, 0x8000000000000000)), 0);
+    try test__mulodi4(1, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 0);
+    try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), 2, @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
+    try test__mulodi4(2, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
 
-    test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), -2, @bitCast(i64, @as(u64, 0x8000000000000001)), 1);
-    test__mulodi4(-2, @bitCast(i64, @as(u64, 0x8000000000000001)), @bitCast(i64, @as(u64, 0x8000000000000001)), 1);
-    test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), -1, 0x7FFFFFFFFFFFFFFF, 0);
-    test__mulodi4(-1, @bitCast(i64, @as(u64, 0x8000000000000001)), 0x7FFFFFFFFFFFFFFF, 0);
-    test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), 0, 0, 0);
-    test__mulodi4(0, @bitCast(i64, @as(u64, 0x8000000000000001)), 0, 0);
-    test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), 1, @bitCast(i64, @as(u64, 0x8000000000000001)), 0);
-    test__mulodi4(1, @bitCast(i64, @as(u64, 0x8000000000000001)), @bitCast(i64, @as(u64, 0x8000000000000001)), 0);
-    test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), 2, @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
-    test__mulodi4(2, @bitCast(i64, @as(u64, 0x8000000000000001)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
+    try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), -2, @bitCast(i64, @as(u64, 0x8000000000000001)), 1);
+    try test__mulodi4(-2, @bitCast(i64, @as(u64, 0x8000000000000001)), @bitCast(i64, @as(u64, 0x8000000000000001)), 1);
+    try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), -1, 0x7FFFFFFFFFFFFFFF, 0);
+    try test__mulodi4(-1, @bitCast(i64, @as(u64, 0x8000000000000001)), 0x7FFFFFFFFFFFFFFF, 0);
+    try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), 0, 0, 0);
+    try test__mulodi4(0, @bitCast(i64, @as(u64, 0x8000000000000001)), 0, 0);
+    try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), 1, @bitCast(i64, @as(u64, 0x8000000000000001)), 0);
+    try test__mulodi4(1, @bitCast(i64, @as(u64, 0x8000000000000001)), @bitCast(i64, @as(u64, 0x8000000000000001)), 0);
+    try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), 2, @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
+    try test__mulodi4(2, @bitCast(i64, @as(u64, 0x8000000000000001)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1);
 }
lib/std/special/compiler_rt/muloti4_test.zig
@@ -6,76 +6,76 @@
 const __muloti4 = @import("muloti4.zig").__muloti4;
 const testing = @import("std").testing;
 
-fn test__muloti4(a: i128, b: i128, expected: i128, expected_overflow: c_int) void {
+fn test__muloti4(a: i128, b: i128, expected: i128, expected_overflow: c_int) !void {
     var overflow: c_int = undefined;
     const x = __muloti4(a, b, &overflow);
     try testing.expect(overflow == expected_overflow and (expected_overflow != 0 or x == expected));
 }
 
 test "muloti4" {
-    test__muloti4(0, 0, 0, 0);
-    test__muloti4(0, 1, 0, 0);
-    test__muloti4(1, 0, 0, 0);
-    test__muloti4(0, 10, 0, 0);
-    test__muloti4(10, 0, 0, 0);
+    try test__muloti4(0, 0, 0, 0);
+    try test__muloti4(0, 1, 0, 0);
+    try test__muloti4(1, 0, 0, 0);
+    try test__muloti4(0, 10, 0, 0);
+    try test__muloti4(10, 0, 0, 0);
 
-    test__muloti4(0, 81985529216486895, 0, 0);
-    test__muloti4(81985529216486895, 0, 0, 0);
+    try test__muloti4(0, 81985529216486895, 0, 0);
+    try test__muloti4(81985529216486895, 0, 0, 0);
 
-    test__muloti4(0, -1, 0, 0);
-    test__muloti4(-1, 0, 0, 0);
-    test__muloti4(0, -10, 0, 0);
-    test__muloti4(-10, 0, 0, 0);
-    test__muloti4(0, -81985529216486895, 0, 0);
-    test__muloti4(-81985529216486895, 0, 0, 0);
+    try test__muloti4(0, -1, 0, 0);
+    try test__muloti4(-1, 0, 0, 0);
+    try test__muloti4(0, -10, 0, 0);
+    try test__muloti4(-10, 0, 0, 0);
+    try test__muloti4(0, -81985529216486895, 0, 0);
+    try test__muloti4(-81985529216486895, 0, 0, 0);
 
-    test__muloti4(3037000499, 3037000499, 9223372030926249001, 0);
-    test__muloti4(-3037000499, 3037000499, -9223372030926249001, 0);
-    test__muloti4(3037000499, -3037000499, -9223372030926249001, 0);
-    test__muloti4(-3037000499, -3037000499, 9223372030926249001, 0);
+    try test__muloti4(3037000499, 3037000499, 9223372030926249001, 0);
+    try test__muloti4(-3037000499, 3037000499, -9223372030926249001, 0);
+    try test__muloti4(3037000499, -3037000499, -9223372030926249001, 0);
+    try test__muloti4(-3037000499, -3037000499, 9223372030926249001, 0);
 
-    test__muloti4(4398046511103, 2097152, 9223372036852678656, 0);
-    test__muloti4(-4398046511103, 2097152, -9223372036852678656, 0);
-    test__muloti4(4398046511103, -2097152, -9223372036852678656, 0);
-    test__muloti4(-4398046511103, -2097152, 9223372036852678656, 0);
+    try test__muloti4(4398046511103, 2097152, 9223372036852678656, 0);
+    try test__muloti4(-4398046511103, 2097152, -9223372036852678656, 0);
+    try test__muloti4(4398046511103, -2097152, -9223372036852678656, 0);
+    try test__muloti4(-4398046511103, -2097152, 9223372036852678656, 0);
 
-    test__muloti4(2097152, 4398046511103, 9223372036852678656, 0);
-    test__muloti4(-2097152, 4398046511103, -9223372036852678656, 0);
-    test__muloti4(2097152, -4398046511103, -9223372036852678656, 0);
-    test__muloti4(-2097152, -4398046511103, 9223372036852678656, 0);
+    try test__muloti4(2097152, 4398046511103, 9223372036852678656, 0);
+    try test__muloti4(-2097152, 4398046511103, -9223372036852678656, 0);
+    try test__muloti4(2097152, -4398046511103, -9223372036852678656, 0);
+    try test__muloti4(-2097152, -4398046511103, 9223372036852678656, 0);
 
-    test__muloti4(@bitCast(i128, @as(u128, 0x00000000000000B504F333F9DE5BE000)), @bitCast(i128, @as(u128, 0x000000000000000000B504F333F9DE5B)), @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFF328DF915DA296E8A000)), 0);
-    test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), -2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1);
-    test__muloti4(-2, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x00000000000000B504F333F9DE5BE000)), @bitCast(i128, @as(u128, 0x000000000000000000B504F333F9DE5B)), @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFF328DF915DA296E8A000)), 0);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), -2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1);
+    try test__muloti4(-2, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1);
 
-    test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), -1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0);
-    test__muloti4(-1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0);
-    test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0, 0, 0);
-    test__muloti4(0, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0, 0);
-    test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0);
-    test__muloti4(1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0);
-    test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1);
-    test__muloti4(2, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), -1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0);
+    try test__muloti4(-1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0, 0, 0);
+    try test__muloti4(0, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0, 0);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0);
+    try test__muloti4(1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1);
+    try test__muloti4(2, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1);
 
-    test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), -2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
-    test__muloti4(-2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
-    test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), -1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
-    test__muloti4(-1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
-    test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0, 0, 0);
-    test__muloti4(0, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0, 0);
-    test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0);
-    test__muloti4(1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0);
-    test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
-    test__muloti4(2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), -2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
+    try test__muloti4(-2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), -1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
+    try test__muloti4(-1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0, 0, 0);
+    try test__muloti4(0, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0, 0);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0);
+    try test__muloti4(1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
+    try test__muloti4(2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
 
-    test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), -2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1);
-    test__muloti4(-2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1);
-    test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), -1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0);
-    test__muloti4(-1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0);
-    test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0, 0, 0);
-    test__muloti4(0, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0, 0);
-    test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0);
-    test__muloti4(1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0);
-    test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
-    test__muloti4(2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), -2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1);
+    try test__muloti4(-2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), -1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0);
+    try test__muloti4(-1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0, 0, 0);
+    try test__muloti4(0, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0, 0);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0);
+    try test__muloti4(1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0);
+    try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
+    try test__muloti4(2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1);
 }
lib/std/special/compiler_rt/multi3_test.zig
@@ -6,53 +6,53 @@
 const __multi3 = @import("multi3.zig").__multi3;
 const testing = @import("std").testing;
 
-fn test__multi3(a: i128, b: i128, expected: i128) void {
+fn test__multi3(a: i128, b: i128, expected: i128) !void {
     const x = __multi3(a, b);
     try testing.expect(x == expected);
 }
 
 test "multi3" {
-    test__multi3(0, 0, 0);
-    test__multi3(0, 1, 0);
-    test__multi3(1, 0, 0);
-    test__multi3(0, 10, 0);
-    test__multi3(10, 0, 0);
-    test__multi3(0, 81985529216486895, 0);
-    test__multi3(81985529216486895, 0, 0);
-
-    test__multi3(0, -1, 0);
-    test__multi3(-1, 0, 0);
-    test__multi3(0, -10, 0);
-    test__multi3(-10, 0, 0);
-    test__multi3(0, -81985529216486895, 0);
-    test__multi3(-81985529216486895, 0, 0);
-
-    test__multi3(1, 1, 1);
-    test__multi3(1, 10, 10);
-    test__multi3(10, 1, 10);
-    test__multi3(1, 81985529216486895, 81985529216486895);
-    test__multi3(81985529216486895, 1, 81985529216486895);
-
-    test__multi3(1, -1, -1);
-    test__multi3(1, -10, -10);
-    test__multi3(-10, 1, -10);
-    test__multi3(1, -81985529216486895, -81985529216486895);
-    test__multi3(-81985529216486895, 1, -81985529216486895);
-
-    test__multi3(3037000499, 3037000499, 9223372030926249001);
-    test__multi3(-3037000499, 3037000499, -9223372030926249001);
-    test__multi3(3037000499, -3037000499, -9223372030926249001);
-    test__multi3(-3037000499, -3037000499, 9223372030926249001);
-
-    test__multi3(4398046511103, 2097152, 9223372036852678656);
-    test__multi3(-4398046511103, 2097152, -9223372036852678656);
-    test__multi3(4398046511103, -2097152, -9223372036852678656);
-    test__multi3(-4398046511103, -2097152, 9223372036852678656);
-
-    test__multi3(2097152, 4398046511103, 9223372036852678656);
-    test__multi3(-2097152, 4398046511103, -9223372036852678656);
-    test__multi3(2097152, -4398046511103, -9223372036852678656);
-    test__multi3(-2097152, -4398046511103, 9223372036852678656);
-
-    test__multi3(0x00000000000000B504F333F9DE5BE000, 0x000000000000000000B504F333F9DE5B, 0x7FFFFFFFFFFFF328DF915DA296E8A000);
+    try test__multi3(0, 0, 0);
+    try test__multi3(0, 1, 0);
+    try test__multi3(1, 0, 0);
+    try test__multi3(0, 10, 0);
+    try test__multi3(10, 0, 0);
+    try test__multi3(0, 81985529216486895, 0);
+    try test__multi3(81985529216486895, 0, 0);
+
+    try test__multi3(0, -1, 0);
+    try test__multi3(-1, 0, 0);
+    try test__multi3(0, -10, 0);
+    try test__multi3(-10, 0, 0);
+    try test__multi3(0, -81985529216486895, 0);
+    try test__multi3(-81985529216486895, 0, 0);
+
+    try test__multi3(1, 1, 1);
+    try test__multi3(1, 10, 10);
+    try test__multi3(10, 1, 10);
+    try test__multi3(1, 81985529216486895, 81985529216486895);
+    try test__multi3(81985529216486895, 1, 81985529216486895);
+
+    try test__multi3(1, -1, -1);
+    try test__multi3(1, -10, -10);
+    try test__multi3(-10, 1, -10);
+    try test__multi3(1, -81985529216486895, -81985529216486895);
+    try test__multi3(-81985529216486895, 1, -81985529216486895);
+
+    try test__multi3(3037000499, 3037000499, 9223372030926249001);
+    try test__multi3(-3037000499, 3037000499, -9223372030926249001);
+    try test__multi3(3037000499, -3037000499, -9223372030926249001);
+    try test__multi3(-3037000499, -3037000499, 9223372030926249001);
+
+    try test__multi3(4398046511103, 2097152, 9223372036852678656);
+    try test__multi3(-4398046511103, 2097152, -9223372036852678656);
+    try test__multi3(4398046511103, -2097152, -9223372036852678656);
+    try test__multi3(-4398046511103, -2097152, 9223372036852678656);
+
+    try test__multi3(2097152, 4398046511103, 9223372036852678656);
+    try test__multi3(-2097152, 4398046511103, -9223372036852678656);
+    try test__multi3(2097152, -4398046511103, -9223372036852678656);
+    try test__multi3(-2097152, -4398046511103, 9223372036852678656);
+
+    try test__multi3(0x00000000000000B504F333F9DE5BE000, 0x000000000000000000B504F333F9DE5B, 0x7FFFFFFFFFFFF328DF915DA296E8A000);
 }
lib/std/special/compiler_rt/mulXf3_test.zig
@@ -34,7 +34,7 @@ fn compareResultLD(result: f128, expectedHi: u64, expectedLo: u64) bool {
     return false;
 }
 
-fn test__multf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) void {
+fn test__multf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) !void {
     const x = __multf3(a, b);
 
     if (compareResultLD(x, expected_hi, expected_lo))
@@ -50,42 +50,42 @@ fn makeNaN128(rand: u64) f128 {
 }
 test "multf3" {
     // qNaN * any = qNaN
-    test__multf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);
+    try test__multf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);
 
     // NaN * any = NaN
     const a = makeNaN128(0x800030000000);
-    test__multf3(a, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);
+    try test__multf3(a, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);
     // inf * any = inf
-    test__multf3(inf128, 0x1.23456789abcdefp+5, 0x7fff000000000000, 0x0);
+    try test__multf3(inf128, 0x1.23456789abcdefp+5, 0x7fff000000000000, 0x0);
 
     // any * any
-    test__multf3(
+    try test__multf3(
         @bitCast(f128, @as(u128, 0x40042eab345678439abcdefea5678234)),
         @bitCast(f128, @as(u128, 0x3ffeedcb34a235253948765432134675)),
         0x400423e7f9e3c9fc,
         0xd906c2c2a85777c4,
     );
 
-    test__multf3(
+    try test__multf3(
         @bitCast(f128, @as(u128, 0x3fcd353e45674d89abacc3a2ebf3ff50)),
         @bitCast(f128, @as(u128, 0x3ff6ed8764648369535adf4be3214568)),
         0x3fc52a163c6223fc,
         0xc94c4bf0430768b4,
     );
 
-    test__multf3(
+    try test__multf3(
         0x1.234425696abcad34a35eeffefdcbap+456,
         0x451.ed98d76e5d46e5f24323dff21ffp+600,
         0x44293a91de5e0e94,
         0xe8ed17cc2cdf64ac,
     );
 
-    test__multf3(
+    try test__multf3(
         @bitCast(f128, @as(u128, 0x3f154356473c82a9fabf2d22ace345df)),
         @bitCast(f128, @as(u128, 0x3e38eda98765476743ab21da23d45679)),
         0x3d4f37c1a3137cae,
         0xfc6807048bc2836a,
     );
 
-    test__multf3(0x1.23456734245345p-10000, 0x1.edcba524498724p-6497, 0x0, 0x0);
+    try test__multf3(0x1.23456734245345p-10000, 0x1.edcba524498724p-6497, 0x0, 0x0);
 }
lib/std/special/compiler_rt/popcountdi2_test.zig
@@ -15,18 +15,18 @@ fn naive_popcount(a_param: i64) i32 {
     return r;
 }
 
-fn test__popcountdi2(a: i64) void {
+fn test__popcountdi2(a: i64) !void {
     const x = __popcountdi2(a);
     const expected = naive_popcount(a);
     try testing.expect(expected == x);
 }
 
 test "popcountdi2" {
-    test__popcountdi2(0);
-    test__popcountdi2(1);
-    test__popcountdi2(2);
-    test__popcountdi2(@bitCast(i64, @as(u64, 0xFFFFFFFFFFFFFFFD)));
-    test__popcountdi2(@bitCast(i64, @as(u64, 0xFFFFFFFFFFFFFFFE)));
-    test__popcountdi2(@bitCast(i64, @as(u64, 0xFFFFFFFFFFFFFFFF)));
+    try test__popcountdi2(0);
+    try test__popcountdi2(1);
+    try test__popcountdi2(2);
+    try test__popcountdi2(@bitCast(i64, @as(u64, 0xFFFFFFFFFFFFFFFD)));
+    try test__popcountdi2(@bitCast(i64, @as(u64, 0xFFFFFFFFFFFFFFFE)));
+    try test__popcountdi2(@bitCast(i64, @as(u64, 0xFFFFFFFFFFFFFFFF)));
     // TODO some fuzz testing
 }
lib/std/special/compiler_rt/truncXfYf2_test.zig
@@ -5,67 +5,67 @@
 // and substantial portions of the software.
 const __truncsfhf2 = @import("truncXfYf2.zig").__truncsfhf2;
 
-fn test__truncsfhf2(a: u32, expected: u16) void {
+fn test__truncsfhf2(a: u32, expected: u16) !void {
     const actual = __truncsfhf2(@bitCast(f32, a));
 
     if (actual == expected) {
         return;
     }
 
-    @panic("__truncsfhf2 test failure");
+    return error.TestFailure;
 }
 
 test "truncsfhf2" {
-    test__truncsfhf2(0x7fc00000, 0x7e00); // qNaN
-    test__truncsfhf2(0x7fe00000, 0x7f00); // sNaN
+    try test__truncsfhf2(0x7fc00000, 0x7e00); // qNaN
+    try test__truncsfhf2(0x7fe00000, 0x7f00); // sNaN
 
-    test__truncsfhf2(0, 0); // 0
-    test__truncsfhf2(0x80000000, 0x8000); // -0
+    try test__truncsfhf2(0, 0); // 0
+    try test__truncsfhf2(0x80000000, 0x8000); // -0
 
-    test__truncsfhf2(0x7f800000, 0x7c00); // inf
-    test__truncsfhf2(0xff800000, 0xfc00); // -inf
+    try test__truncsfhf2(0x7f800000, 0x7c00); // inf
+    try test__truncsfhf2(0xff800000, 0xfc00); // -inf
 
-    test__truncsfhf2(0x477ff000, 0x7c00); // 65520 -> inf
-    test__truncsfhf2(0xc77ff000, 0xfc00); // -65520 -> -inf
+    try test__truncsfhf2(0x477ff000, 0x7c00); // 65520 -> inf
+    try test__truncsfhf2(0xc77ff000, 0xfc00); // -65520 -> -inf
 
-    test__truncsfhf2(0x71cc3892, 0x7c00); // 0x1.987124876876324p+100 -> inf
-    test__truncsfhf2(0xf1cc3892, 0xfc00); // -0x1.987124876876324p+100 -> -inf
+    try test__truncsfhf2(0x71cc3892, 0x7c00); // 0x1.987124876876324p+100 -> inf
+    try test__truncsfhf2(0xf1cc3892, 0xfc00); // -0x1.987124876876324p+100 -> -inf
 
-    test__truncsfhf2(0x38800000, 0x0400); // normal (min), 2**-14
-    test__truncsfhf2(0xb8800000, 0x8400); // normal (min), -2**-14
+    try test__truncsfhf2(0x38800000, 0x0400); // normal (min), 2**-14
+    try test__truncsfhf2(0xb8800000, 0x8400); // normal (min), -2**-14
 
-    test__truncsfhf2(0x477fe000, 0x7bff); // normal (max), 65504
-    test__truncsfhf2(0xc77fe000, 0xfbff); // normal (max), -65504
+    try test__truncsfhf2(0x477fe000, 0x7bff); // normal (max), 65504
+    try test__truncsfhf2(0xc77fe000, 0xfbff); // normal (max), -65504
 
-    test__truncsfhf2(0x477fe100, 0x7bff); // normal, 65505 -> 65504
-    test__truncsfhf2(0xc77fe100, 0xfbff); // normal, -65505 -> -65504
+    try test__truncsfhf2(0x477fe100, 0x7bff); // normal, 65505 -> 65504
+    try test__truncsfhf2(0xc77fe100, 0xfbff); // normal, -65505 -> -65504
 
-    test__truncsfhf2(0x477fef00, 0x7bff); // normal, 65519 -> 65504
-    test__truncsfhf2(0xc77fef00, 0xfbff); // normal, -65519 -> -65504
+    try test__truncsfhf2(0x477fef00, 0x7bff); // normal, 65519 -> 65504
+    try test__truncsfhf2(0xc77fef00, 0xfbff); // normal, -65519 -> -65504
 
-    test__truncsfhf2(0x3f802000, 0x3c01); // normal, 1 + 2**-10
-    test__truncsfhf2(0xbf802000, 0xbc01); // normal, -1 - 2**-10
+    try test__truncsfhf2(0x3f802000, 0x3c01); // normal, 1 + 2**-10
+    try test__truncsfhf2(0xbf802000, 0xbc01); // normal, -1 - 2**-10
 
-    test__truncsfhf2(0x3eaaa000, 0x3555); // normal, approx. 1/3
-    test__truncsfhf2(0xbeaaa000, 0xb555); // normal, approx. -1/3
+    try test__truncsfhf2(0x3eaaa000, 0x3555); // normal, approx. 1/3
+    try test__truncsfhf2(0xbeaaa000, 0xb555); // normal, approx. -1/3
 
-    test__truncsfhf2(0x40490fdb, 0x4248); // normal, 3.1415926535
-    test__truncsfhf2(0xc0490fdb, 0xc248); // normal, -3.1415926535
+    try test__truncsfhf2(0x40490fdb, 0x4248); // normal, 3.1415926535
+    try test__truncsfhf2(0xc0490fdb, 0xc248); // normal, -3.1415926535
 
-    test__truncsfhf2(0x45cc3892, 0x6e62); // normal, 0x1.987124876876324p+12
+    try test__truncsfhf2(0x45cc3892, 0x6e62); // normal, 0x1.987124876876324p+12
 
-    test__truncsfhf2(0x3f800000, 0x3c00); // normal, 1
-    test__truncsfhf2(0x38800000, 0x0400); // normal, 0x1.0p-14
+    try test__truncsfhf2(0x3f800000, 0x3c00); // normal, 1
+    try test__truncsfhf2(0x38800000, 0x0400); // normal, 0x1.0p-14
 
-    test__truncsfhf2(0x33800000, 0x0001); // denormal (min), 2**-24
-    test__truncsfhf2(0xb3800000, 0x8001); // denormal (min), -2**-24
+    try test__truncsfhf2(0x33800000, 0x0001); // denormal (min), 2**-24
+    try test__truncsfhf2(0xb3800000, 0x8001); // denormal (min), -2**-24
 
-    test__truncsfhf2(0x387fc000, 0x03ff); // denormal (max), 2**-14 - 2**-24
-    test__truncsfhf2(0xb87fc000, 0x83ff); // denormal (max), -2**-14 + 2**-24
+    try test__truncsfhf2(0x387fc000, 0x03ff); // denormal (max), 2**-14 - 2**-24
+    try test__truncsfhf2(0xb87fc000, 0x83ff); // denormal (max), -2**-14 + 2**-24
 
-    test__truncsfhf2(0x35800000, 0x0010); // denormal, 0x1.0p-20
-    test__truncsfhf2(0x33280000, 0x0001); // denormal, 0x1.5p-25 -> 0x1.0p-24
-    test__truncsfhf2(0x33000000, 0x0000); // 0x1.0p-25 -> zero
+    try test__truncsfhf2(0x35800000, 0x0010); // denormal, 0x1.0p-20
+    try test__truncsfhf2(0x33280000, 0x0001); // denormal, 0x1.5p-25 -> 0x1.0p-24
+    try test__truncsfhf2(0x33000000, 0x0000); // 0x1.0p-25 -> zero
 }
 
 const __truncdfhf2 = @import("truncXfYf2.zig").__truncdfhf2;
lib/std/special/compiler_rt/udivmoddi4_test.zig
@@ -8,7 +8,7 @@
 const __udivmoddi4 = @import("int.zig").__udivmoddi4;
 const testing = @import("std").testing;
 
-fn test__udivmoddi4(a: u64, b: u64, expected_q: u64, expected_r: u64) void {
+fn test__udivmoddi4(a: u64, b: u64, expected_q: u64, expected_r: u64) !void {
     var r: u64 = undefined;
     const q = __udivmoddi4(a, b, &r);
     try testing.expect(q == expected_q);
@@ -17,7 +17,7 @@ fn test__udivmoddi4(a: u64, b: u64, expected_q: u64, expected_r: u64) void {
 
 test "udivmoddi4" {
     for (cases) |case| {
-        test__udivmoddi4(case[0], case[1], case[2], case[3]);
+        try test__udivmoddi4(case[0], case[1], case[2], case[3]);
     }
 }
 
lib/std/special/compiler_rt/udivmodti4_test.zig
@@ -8,7 +8,7 @@
 const __udivmodti4 = @import("udivmodti4.zig").__udivmodti4;
 const testing = @import("std").testing;
 
-fn test__udivmodti4(a: u128, b: u128, expected_q: u128, expected_r: u128) void {
+fn test__udivmodti4(a: u128, b: u128, expected_q: u128, expected_r: u128) !void {
     var r: u128 = undefined;
     const q = __udivmodti4(a, b, &r);
     try testing.expect(q == expected_q);
@@ -17,7 +17,7 @@ fn test__udivmodti4(a: u128, b: u128, expected_q: u128, expected_r: u128) void {
 
 test "udivmodti4" {
     for (cases) |case| {
-        test__udivmodti4(case[0], case[1], case[2], case[3]);
+        try test__udivmodti4(case[0], case[1], case[2], case[3]);
     }
 }
 
lib/std/special/c.zig
@@ -66,7 +66,7 @@ test "strcpy" {
 
     s1[0] = 0;
     _ = strcpy(&s1, "foobarbaz");
-    std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1));
+    try std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1));
 }
 
 fn strncpy(dest: [*:0]u8, src: [*:0]const u8, n: usize) callconv(.C) [*:0]u8 {
@@ -86,7 +86,7 @@ test "strncpy" {
 
     s1[0] = 0;
     _ = strncpy(&s1, "foobarbaz", @sizeOf(@TypeOf(s1)));
-    std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1));
+    try std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1));
 }
 
 fn strcat(dest: [*:0]u8, src: [*:0]const u8) callconv(.C) [*:0]u8 {
@@ -109,7 +109,7 @@ test "strcat" {
     _ = strcat(&s1, "foo");
     _ = strcat(&s1, "bar");
     _ = strcat(&s1, "baz");
-    std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1));
+    try std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1));
 }
 
 fn strncat(dest: [*:0]u8, src: [*:0]const u8, avail: usize) callconv(.C) [*:0]u8 {
@@ -132,7 +132,7 @@ test "strncat" {
     _ = strncat(&s1, "foo1111", 3);
     _ = strncat(&s1, "bar1111", 3);
     _ = strncat(&s1, "baz1111", 3);
-    std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1));
+    try std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1));
 }
 
 fn strcmp(s1: [*:0]const u8, s2: [*:0]const u8) callconv(.C) c_int {
@@ -871,13 +871,13 @@ test "fmod, fmodf" {
         try std.testing.expect(isNan(generic_fmod(T, 0.0, 0.0)));
         try std.testing.expect(isNan(generic_fmod(T, 1.0, 0.0)));
 
-        std.testing.expectEqual(@as(T, 0.0), generic_fmod(T, 0.0, 2.0));
-        std.testing.expectEqual(@as(T, -0.0), generic_fmod(T, -0.0, 2.0));
+        try std.testing.expectEqual(@as(T, 0.0), generic_fmod(T, 0.0, 2.0));
+        try std.testing.expectEqual(@as(T, -0.0), generic_fmod(T, -0.0, 2.0));
 
-        std.testing.expectEqual(@as(T, -2.0), generic_fmod(T, -32.0, 10.0));
-        std.testing.expectEqual(@as(T, -2.0), generic_fmod(T, -32.0, -10.0));
-        std.testing.expectEqual(@as(T, 2.0), generic_fmod(T, 32.0, 10.0));
-        std.testing.expectEqual(@as(T, 2.0), generic_fmod(T, 32.0, -10.0));
+        try std.testing.expectEqual(@as(T, -2.0), generic_fmod(T, -32.0, 10.0));
+        try std.testing.expectEqual(@as(T, -2.0), generic_fmod(T, -32.0, -10.0));
+        try std.testing.expectEqual(@as(T, 2.0), generic_fmod(T, 32.0, 10.0));
+        try std.testing.expectEqual(@as(T, 2.0), generic_fmod(T, 32.0, -10.0));
     }
 }
 
@@ -902,11 +902,11 @@ test "fmin, fminf" {
         const nan_val = math.nan(T);
 
         try std.testing.expect(isNan(generic_fmin(T, nan_val, nan_val)));
-        std.testing.expectEqual(@as(T, 1.0), generic_fmin(T, nan_val, 1.0));
-        std.testing.expectEqual(@as(T, 1.0), generic_fmin(T, 1.0, nan_val));
+        try std.testing.expectEqual(@as(T, 1.0), generic_fmin(T, nan_val, 1.0));
+        try std.testing.expectEqual(@as(T, 1.0), generic_fmin(T, 1.0, nan_val));
 
-        std.testing.expectEqual(@as(T, 1.0), generic_fmin(T, 1.0, 10.0));
-        std.testing.expectEqual(@as(T, -1.0), generic_fmin(T, 1.0, -1.0));
+        try std.testing.expectEqual(@as(T, 1.0), generic_fmin(T, 1.0, 10.0));
+        try std.testing.expectEqual(@as(T, -1.0), generic_fmin(T, 1.0, -1.0));
     }
 }
 
@@ -931,11 +931,11 @@ test "fmax, fmaxf" {
         const nan_val = math.nan(T);
 
         try std.testing.expect(isNan(generic_fmax(T, nan_val, nan_val)));
-        std.testing.expectEqual(@as(T, 1.0), generic_fmax(T, nan_val, 1.0));
-        std.testing.expectEqual(@as(T, 1.0), generic_fmax(T, 1.0, nan_val));
+        try std.testing.expectEqual(@as(T, 1.0), generic_fmax(T, nan_val, 1.0));
+        try std.testing.expectEqual(@as(T, 1.0), generic_fmax(T, 1.0, nan_val));
 
-        std.testing.expectEqual(@as(T, 10.0), generic_fmax(T, 1.0, 10.0));
-        std.testing.expectEqual(@as(T, 1.0), generic_fmax(T, 1.0, -1.0));
+        try std.testing.expectEqual(@as(T, 10.0), generic_fmax(T, 1.0, 10.0));
+        try std.testing.expectEqual(@as(T, 1.0), generic_fmax(T, 1.0, -1.0));
     }
 }
 
@@ -1090,7 +1090,7 @@ test "sqrt" {
     // Note that @sqrt will either generate the sqrt opcode (if supported by the
     // target ISA) or a call to `sqrtf` otherwise.
     for (V) |val|
-        std.testing.expectEqual(@sqrt(val), sqrt(val));
+        try std.testing.expectEqual(@sqrt(val), sqrt(val));
 }
 
 test "sqrt special" {
@@ -1195,7 +1195,7 @@ test "sqrtf" {
     // Note that @sqrt will either generate the sqrt opcode (if supported by the
     // target ISA) or a call to `sqrtf` otherwise.
     for (V) |val|
-        std.testing.expectEqual(@sqrt(val), sqrtf(val));
+        try std.testing.expectEqual(@sqrt(val), sqrtf(val));
 }
 
 test "sqrtf special" {