From: Julian Seward Date: Tue, 4 Nov 2003 22:54:28 +0000 (+0000) Subject: More SSE support for cachegrind. X-Git-Tag: svn/VALGRIND_2_1_0~79 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4201614f47fc23059673e297a63537a263ae8de3;p=thirdparty%2Fvalgrind.git More SSE support for cachegrind. MERGE TO STABLE git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2003 --- diff --git a/cachegrind/cg_main.c b/cachegrind/cg_main.c index d49fe79f34..9307fcc1df 100644 --- a/cachegrind/cg_main.c +++ b/cachegrind/cg_main.c @@ -559,6 +559,12 @@ static Int compute_BBCC_array_size(UCodeBlock* cb) is_FPU_R = True; break; + case SSE3a1_MemRd: + sk_assert(u_in->size == 16); + t_read = u_in->val3; + is_FPU_R = True; + break; + case SSE3ag_MemRd_RegWr: sk_assert(u_in->size == 4 || u_in->size == 8); t_read = u_in->val1; @@ -813,6 +819,15 @@ UCodeBlock* SK_(instrument)(UCodeBlock* cb_in, Addr orig_addr) VG_(copy_UInstr)(cb, u_in); break; + case SSE3a1_MemRd: + sk_assert(u_in->size == 16); + t_read = u_in->val3; + t_read_addr = newTemp(cb); + uInstr2(cb, MOV, 4, TempReg, u_in->val3, TempReg, t_read_addr); + data_size = u_in->size; + VG_(copy_UInstr)(cb, u_in); + break; + case SSE3ag_MemRd_RegWr: sk_assert(u_in->size == 4 || u_in->size == 8); t_read = u_in->val1;