From 0f9828f1799f36eb393c1a7c65c9155e74fefb93 Mon Sep 17 00:00:00 2001 From: Stephen Williams Date: Sun, 19 Jan 2014 14:28:39 -0800 Subject: [PATCH] Fix vec4 overflow of times when they are >32bits. --- vvp/vthread.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vvp/vthread.cc b/vvp/vthread.cc index 1e8aef1d1..763f8e862 100644 --- a/vvp/vthread.cc +++ b/vvp/vthread.cc @@ -1258,7 +1258,7 @@ bool of_ASSIGN_VEC4_A_D(vthread_t thr, vvp_code_t cp) int adr_idx = 3; long off = off_idx? thr->words[off_idx].w_int : 0; - unsigned del = del_idx? thr->words[del_idx].w_uint : 0; + vvp_time64_t del = del_idx? thr->words[del_idx].w_uint : 0; long adr = thr->words[adr_idx].w_int; vvp_vector4_t value = thr->pop_vec4(); @@ -1284,7 +1284,7 @@ bool of_ASSIGN_VEC4_OFF_D(vthread_t thr, vvp_code_t cp) unsigned wid = val.size(); int off = thr->words[off_index].w_int; - int del = thr->words[del_index].w_int; + vvp_time64_t del = thr->words[del_index].w_uint; // Abort if flags[4] is set. This can happen if the calulation // into an index register failed.