| author | |
| committer | |
| log | 098e0b1906479e6aa3c4afb3aeff5c85504521c2 |
| tree | 7efa3a5a0b5a1e023dee5aecf5acecbeb3072d9b |
| parent | 55773aee3fd047e8294b1994e7a2da0e3907c2c1 |
2 files changed, 35 insertions(+), 8 deletions(-)
src/arch/wasm/CodeGen.zig+16-8| ... | ... | @@ -2747,25 +2747,33 @@ const FloatOp = enum { |
| 2747 | 2747 | }, |
| 2748 | 2748 | |
| 2749 | 2749 | inline .ceil, |
| 2750 | .cos, | |
| 2751 | .exp, | |
| 2752 | .exp2, | |
| 2753 | 2750 | .fabs, |
| 2754 | 2751 | .floor, |
| 2755 | .fma, | |
| 2756 | 2752 | .fmax, |
| 2757 | 2753 | .fmin, |
| 2754 | .round, | |
| 2755 | .sqrt, | |
| 2756 | .trunc, | |
| 2757 | => |ct_op| switch (bits) { | |
| 2758 | inline 16, 80, 128 => |ct_bits| @field( | |
| 2759 | Mir.Intrinsic, | |
| 2760 | libcFloatPrefix(ct_bits) ++ @tagName(ct_op) ++ libcFloatSuffix(ct_bits), | |
| 2761 | ), | |
| 2762 | else => unreachable, | |
| 2763 | }, | |
| 2764 | ||
| 2765 | inline .cos, | |
| 2766 | .exp, | |
| 2767 | .exp2, | |
| 2768 | .fma, | |
| 2758 | 2769 | .fmod, |
| 2759 | 2770 | .log, |
| 2760 | 2771 | .log10, |
| 2761 | 2772 | .log2, |
| 2762 | .round, | |
| 2763 | 2773 | .sin, |
| 2764 | .sqrt, | |
| 2765 | 2774 | .tan, |
| 2766 | .trunc, | |
| 2767 | 2775 | => |ct_op| switch (bits) { |
| 2768 | inline 16, 80, 128 => |ct_bits| @field( | |
| 2776 | inline 16, 32, 64, 80, 128 => |ct_bits| @field( | |
| 2769 | 2777 | Mir.Intrinsic, |
| 2770 | 2778 | libcFloatPrefix(ct_bits) ++ @tagName(ct_op) ++ libcFloatSuffix(ct_bits), |
| 2771 | 2779 | ), |
src/arch/wasm/Mir.zig+19| ... | ... | @@ -853,11 +853,18 @@ pub const Intrinsic = enum(u32) { |
| 853 | 853 | __udivti3, |
| 854 | 854 | __umodti3, |
| 855 | 855 | ceilq, |
| 856 | cos, | |
| 857 | cosf, | |
| 856 | 858 | cosq, |
| 859 | exp, | |
| 860 | exp2, | |
| 861 | exp2f, | |
| 857 | 862 | exp2q, |
| 863 | expf, | |
| 858 | 864 | expq, |
| 859 | 865 | fabsq, |
| 860 | 866 | floorq, |
| 867 | fma, | |
| 861 | 868 | fmaf, |
| 862 | 869 | fmaq, |
| 863 | 870 | fmax, |
| ... | ... | @@ -866,13 +873,25 @@ pub const Intrinsic = enum(u32) { |
| 866 | 873 | fmin, |
| 867 | 874 | fminf, |
| 868 | 875 | fminq, |
| 876 | fmod, | |
| 877 | fmodf, | |
| 869 | 878 | fmodq, |
| 879 | log, | |
| 880 | log10, | |
| 881 | log10f, | |
| 870 | 882 | log10q, |
| 883 | log2, | |
| 884 | log2f, | |
| 871 | 885 | log2q, |
| 886 | logf, | |
| 872 | 887 | logq, |
| 873 | 888 | roundq, |
| 889 | sin, | |
| 890 | sinf, | |
| 874 | 891 | sinq, |
| 875 | 892 | sqrtq, |
| 893 | tan, | |
| 894 | tanf, | |
| 876 | 895 | tanq, |
| 877 | 896 | truncq, |
| 878 | 897 | }; |