target-tilegx: Implement v1multu instruction

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Message-Id: <1442874414-3578-1-git-send-email-gang.chen.5i5j@gmail.com>
Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
Chen Gang 2015-09-22 06:26:54 +08:00 committed by Richard Henderson
parent c6876d7e1c
commit 38c949ffe7
3 changed files with 18 additions and 0 deletions

View file

@ -28,6 +28,19 @@
#define V2(X) (((X) & 0xffff) * 0x0001000100010001ull)
uint64_t helper_v1multu(uint64_t a, uint64_t b)
{
uint64_t r = 0;
int i;
for (i = 0; i < 64; i += 8) {
unsigned ae = extract64(a, i, 8);
unsigned be = extract64(b, i, 8);
r = deposit64(r, i, 8, ae * be);
}
return r;
}
uint64_t helper_v1shl(uint64_t a, uint64_t b)
{
uint64_t m;