From 23da7b35d0edf98f271401ac93a1fa06adb062a2 Mon Sep 17 00:00:00 2001 From: Cyril SIX Date: Mon, 7 Dec 2020 15:35:20 +0100 Subject: Fixing test/regression for KVX --- kvx/Asmexpand.ml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'kvx/Asmexpand.ml') diff --git a/kvx/Asmexpand.ml b/kvx/Asmexpand.ml index 5d4fd2f5..1e76a355 100644 --- a/kvx/Asmexpand.ml +++ b/kvx/Asmexpand.ml @@ -359,7 +359,7 @@ let expand_bswap32 d s = let open Asmvliw in emit (Psrliw(GPR32, s, _8)); emit Psemi; emit (Pandiw(GPR32, GPR32, coqint_of_camlint 0xFFl)); emit Psemi; emit (Pslliw(GPR32, GPR32, _16)); emit Psemi; - emit (Porw(GPR16, GPR16, GPR31)); emit Psemi; + emit (Porw(GPR16, GPR16, GPR32)); emit Psemi; emit (Psrliw(GPR32, s, _16)); emit Psemi; emit (Pandiw(GPR32, GPR32, coqint_of_camlint 0xFFl)); emit Psemi; emit (Pslliw(GPR32, GPR32, _8)); emit Psemi; @@ -399,8 +399,14 @@ let expand_builtin_inline name args res = let open Asmvliw in (* Vararg stuff *) | "__builtin_va_start", [BA(IR a)], _ -> expand_builtin_va_start a + | "__builtin_kvx_clzw", [BA(IR a)], BR(IR res) -> + emit (Pclzw(res, a)) | "__builtin_clzll", [BA(IR a)], BR(IR res) -> emit (Pclzll(res, a)) + | "__builtin_kvx_ctzw", [BA(IR a)], BR(IR res) -> + emit (Pctzw(res, a)) + | "__builtin_ctzll", [BA(IR a)], BR(IR res) -> + emit (Pctzll(res, a)) | "__builtin_kvx_stsud", [BA(IR a1); BA(IR a2)], BR(IR res) -> emit (Pstsud(res, a1, a2)) | "__builtin_kvx_get", [BA_int(n)], BR(IR res) -> -- cgit