Commit Graph

77 Commits

Author SHA1 Message Date
Takeshi Yoneda
c16735db52 wazevo(amd64): alignment for Fmax/min (#2084)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-21 09:10:50 +09:00
Takeshi Yoneda
f80ef11c8b wazevo(amd64): lower Icmp(Band(x,y), 0) to one TEST (#2073)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-19 15:48:31 +09:00
Takeshi Yoneda
55c2bb1b8c wazevo(amd64): ensures reg operand for align sensitive SIMD instructions (#2069)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-19 08:23:21 +09:00
Takeshi Yoneda
a2b2f35293 wazevo(amd64): ensures reg operand for align sensitive instructions (#2066)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-16 16:22:19 +09:00
Takeshi Yoneda
25698af230 wazevo(amd64): fixes VIabs i64x2 (#2062)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-16 08:20:58 +09:00
Takeshi Yoneda
74acc6fe3b wazevo(amd64): fixes VIcmp (#2058)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-13 15:47:23 -08:00
Takeshi Yoneda
eff9b20f3d wazevo: redo extadd_pairwise for both arm/amd (#2057)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-13 15:07:38 -08:00
Takeshi Yoneda
7c758ee742 wazevo: redo SIMD dot translation for both arm/amd (#2056)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-13 13:41:54 -08:00
Takeshi Yoneda
4c67553779 wazevo(amd64): completes all v2 specification (#2055)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-13 12:13:07 -08:00
Takeshi Yoneda
29e2a2b934 wazevo(amd64): passes simd_conversions (#2054)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-13 11:36:44 -08:00
Takeshi Yoneda
3a0c427ae3 wazevo(amd64): SIMD extmul, int->int ext, load_splat (#2053)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-13 10:14:14 -08:00
Takeshi Yoneda
37560534ac wazevo(amd64): SIMD rounds (#2051)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-12 22:18:21 -08:00
Takeshi Yoneda
092b313912 wazevo(amd64): SIMD bit shifts (#2050)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-12 20:46:47 -08:00
Takeshi Yoneda
f0ee4784ac wazevo(amd64): passes q15mulr_sat_s/load_zero/pmin/pmax (#2049)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-12 16:19:07 -08:00
Takeshi Yoneda
012eb1fdb6 wazevo(amd64): passes simd_lane (#2048)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-12 15:43:22 -08:00
Takeshi Yoneda
2e888dc8a3 wazevo(amd64): revive rip relative addressing mode (#2047)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-12 14:02:01 -08:00
Takeshi Yoneda
44bc48f3b2 wazevo(amd64): SIMD lane load/store (#2045)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-12 12:58:57 -08:00
Takeshi Yoneda
6eb0ab43aa wazevo(amd64): SIMD comparisons (#2044)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-12 11:36:42 -08:00
Edoardo Vacchi
c7e8dc28e4 wazevo(amd64): simd f32x4, f64x4 spec tests (#2036)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
Co-authored-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-10 08:45:49 -08:00
Edoardo Vacchi
d46ff8399a wazevo(amd64): simd arith2 spec tests (#2005)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
Co-authored-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-08 12:34:47 -08:00
Edoardo Vacchi
71e464c670 wazevo(amd64): simd arith spec tests (#2004)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
Co-authored-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-08 12:02:12 -08:00
Takeshi Yoneda
36676928d2 wazevo(backend): do not have *abi in instruction struct (#2021)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-06 16:26:17 -08:00
Takeshi Yoneda
78bfe320cc wazevo(amd64): efficient amode struct (#2020)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-06 12:19:05 -08:00
Takeshi Yoneda
5df22f6f4e wazevo(amd64): efficient instruction/operand/amode data structure (#2019)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-06 11:42:05 -08:00
Takeshi Yoneda
6f09968c0c wazevo(amd64): redo idivrem (#2017)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-05 14:29:36 -08:00
Takeshi Yoneda
4dbb2f29c7 wazevo(amd64): fixes Select, xmmCmpRmR def kind (#2009)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-02 16:36:40 -08:00
Takeshi Yoneda
b3a85e0ab7 wazevo(amd64): fixes lowerCtz/Clz (#2008)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-02 13:43:07 -08:00
Takeshi Yoneda
46ef0886c3 wazevo(amd64): fixes lowerExtend (#2007)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-02 13:06:36 -08:00
Takeshi Yoneda
75045edafa wazevo(amd64): fixes FcvtToUint (#2006)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-02 12:43:48 -08:00
Edoardo Vacchi
6b6ab92840 wazevo(amd64): simd boolean, bitwise spec tests (#1997)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2024-02-02 11:43:58 -08:00
Takeshi Yoneda
7c4c10c8a5 wazevo(amd64): overhaul integer<>float conversions (#2000)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-01 14:46:22 -08:00
Takeshi Yoneda
3c6e7fd74d wazevo(amd64): fix lowering huge base amode, float conversions (#1999)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-02-01 10:22:21 -08:00
Takeshi Yoneda
f6067f2933 wazevo(amd64): fixes sat conversions (#1993)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-01-31 14:38:29 -08:00
Edoardo Vacchi
d289f6c021 wazevo(amd64): float conversion to/from signed/unsigned integers (#1991)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
Co-authored-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-01-31 13:52:58 -08:00
Edoardo Vacchi
ed112cf3a4 wazevo(amd64): bitcast, fpromote, fdemote (#1989)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2024-01-31 11:26:01 -08:00
Takeshi Yoneda
003f57d79e wazevo(amd64): support for DWARF (#1985)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-01-30 14:20:25 -08:00
Takeshi Yoneda
39497008d5 wazevo(amd64): fixes calling conv to match Go runtime (#1984)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-01-30 12:52:48 -08:00
Takeshi Yoneda
239c2a370e wazevo(amd64): fixes copysign (#1983)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-01-30 12:13:32 -08:00
Takeshi Yoneda
c550e164cb wazevo(amd64): fixes Brnz+Fcmp lowering (#1982)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-01-30 11:53:18 -08:00
Takeshi Yoneda
90345d5c01 wazevo(amd64): fixes XOR in zero outs (#1981)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-01-30 11:17:49 -08:00
Edoardo Vacchi
ddc2655db7 wazevo(amd64): support for copysign (#1976)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2024-01-29 16:06:17 -08:00
Takeshi Yoneda
2284c5260c wazevo(amd64): support for Fcmp (#1977)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-01-29 16:03:41 -08:00
Takeshi Yoneda
5357e551e7 wazevo(amd64): fixes Select, support Ireduce (#1975)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-01-29 13:35:38 -08:00
Takeshi Yoneda
071bfeae9b wazevo(amd64): fixes icmp higher bits (#1974)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-01-29 13:06:19 -08:00
Edoardo Vacchi
b40854f4f5 wazevo(amd64): float rounding, min/max (#1971)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2024-01-29 12:53:13 -08:00
Takeshi Yoneda
fe47f51a65 wazevo(amd64): lowering Select, Icmp (#1973)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-01-29 12:11:21 -08:00
Edoardo Vacchi
3b76d4353d wazevo(amd64): lowering for div/rem (#1960)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
Co-authored-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-01-27 20:18:56 -08:00
Edoardo Vacchi
bc5917a5c5 wazevo(amd64): lower Fabs, Fneg, Fadd, Fsub, Fdiv, Fmul, Fsqrt (#1965)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
Co-authored-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-01-26 16:11:50 -08:00
Takeshi Yoneda
43c2b2a637 wazevo(amd64): support for jump table (#1969)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-01-26 14:32:49 -08:00
Takeshi Yoneda
dbf8c8a9d8 wazevo(amd64): stack based param/results (#1968)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-01-26 12:32:39 -08:00