|
From: Harold N. <ha...@al...> - 2005-11-05 23:21:19
|
In my SSE3 program, valgrind chokes on the instruction 0xF3 0xF 0x12 0x14 I might be wrong about this, but I'm guessing the offending instruction is in the following: 80977b6: 33 c0 xor %eax,%eax 80977b8: 8b 55 c0 mov 0xffffffc0(%ebp),%edx 80977bb: 03 d2 add %edx,%edx 80977bd: 8b 7d d0 mov 0xffffffd0(%ebp),%edi 80977c0: 0f 10 04 87 movups (%edi,%eax,4),%xmm0 80977c4: f3 0f 12 14 81 movsldup (%ecx,%eax,4),%xmm2 80977c9: f3 0f 16 0c 81 movshdup (%ecx,%eax,4),%xmm1 80977ce: 85 f6 test %esi,%esi 80977d0: 74 08 je 80977da <_Z12seti_analyzeR14ANALYSIS_STATE+0x8fc> 80977d2: f3 0f 59 8d a8 fe ff mulss 0xfffffea8(%ebp),%xmm1 80977d9: ff 80977da: 0f 59 d0 mulps %xmm0,%xmm2 80977dd: 0f 59 c8 mulps %xmm0,%xmm1 80977e0: 8b 7d dc mov 0xffffffdc(%ebp),%edi 80977e3: 0f c6 c9 b1 shufps $0xb1,%xmm1,%xmm1 80977e7: f2 0f d0 d1 addsubps %xmm1,%xmm2 80977eb: 0f 11 14 87 movups %xmm2,(%edi,%eax,4) 80977ef: 83 c0 04 add $0x4,%eax 80977f2: 3b c2 cmp %edx,%eax 80977f4: 7c c7 jl 80977bd <_Z12seti_analyzeR14ANALYSIS_STATE+0x8df> 80977f6: e9 b8 08 00 00 jmp 80980b3 <_Z12seti_analyzeR14ANALYSIS_STATE+0x11d5> $ valgrind --version valgrind-3.1.SVN (November 5, 2005) $ uname -r 2.4.21-32.ELsmp |
|
From: Tom H. <to...@co...> - 2005-11-06 00:36:04
|
In message <bd8...@ma...>
Harold Naparst <ha...@al...> wrote:
> In my SSE3 program, valgrind chokes on the instruction 0xF3 0xF 0x12 0x14
> I might be wrong about this, but I'm guessing the offending instruction is
> in the following:
Quite possible because valgrind has never supported any SSE3 instructions.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Julian S. <js...@ac...> - 2005-11-06 02:15:17
|
As Tom says, we've never done SSE3. However: It might not be too hard to fix if you can supply a reproducer for the failure -- for example, the program, test inputs and outputs, and a convenient way to run it. Is that possible? J On Saturday 05 November 2005 23:21, Harold Naparst wrote: > In my SSE3 program, valgrind chokes on the instruction 0xF3 0xF 0x12 0x14 > I might be wrong about this, but I'm guessing the offending instruction is > in the following: > > 80977b6: 33 c0 xor %eax,%eax > 80977b8: 8b 55 c0 mov 0xffffffc0(%ebp),%edx > 80977bb: 03 d2 add %edx,%edx > 80977bd: 8b 7d d0 mov 0xffffffd0(%ebp),%edi > 80977c0: 0f 10 04 87 movups (%edi,%eax,4),%xmm0 > 80977c4: f3 0f 12 14 81 movsldup (%ecx,%eax,4),%xmm2 > 80977c9: f3 0f 16 0c 81 movshdup (%ecx,%eax,4),%xmm1 > 80977ce: 85 f6 test %esi,%esi > 80977d0: 74 08 je 80977da <_Z12seti_analyzeR14ANALYSIS_STATE+0x8fc> > 80977d2: f3 0f 59 8d a8 fe ff mulss 0xfffffea8(%ebp),%xmm1 > 80977d9: ff > 80977da: 0f 59 d0 mulps %xmm0,%xmm2 > 80977dd: 0f 59 c8 mulps %xmm0,%xmm1 > 80977e0: 8b 7d dc mov 0xffffffdc(%ebp),%edi > 80977e3: 0f c6 c9 b1 shufps $0xb1,%xmm1,%xmm1 > 80977e7: f2 0f d0 d1 addsubps %xmm1,%xmm2 > 80977eb: 0f 11 14 87 movups %xmm2,(%edi,%eax,4) > 80977ef: 83 c0 04 add $0x4,%eax > 80977f2: 3b c2 cmp %edx,%eax > 80977f4: 7c c7 jl 80977bd <_Z12seti_analyzeR14ANALYSIS_STATE+0x8df> > 80977f6: e9 b8 08 00 00 jmp 80980b3 > <_Z12seti_analyzeR14ANALYSIS_STATE+0x11d5> > > $ valgrind --version > valgrind-3.1.SVN (November 5, 2005) > > $ uname -r > 2.4.21-32.ELsmp |