[FFmpeg-cvslog] r12661 - in trunk/libavcodec/i386: dsputil_h264_template_mmx.c dsputil_h264_template_ssse3.c dsputil_mmx.c dsputil_mmx.h h264dsp_mmx.c
Mike Melanson
mike
Wed Apr 2 06:30:34 CEST 2008
Loren Merritt wrote:
> On Tue, 1 Apr 2008, Mike Melanson wrote:
>
>> What's the best way disassembly for the chroma functions?
>> objdump on the object files?
>
> objdump -d ffmpeg_g | perl -ne 'print if /<put_h264_chroma_mc8_ssse3_rnd>:/ ... /^$/'
080ed390 <put_h264_chroma_mc8_ssse3_rnd>:
80ed390: 57 push %edi
80ed391: 56 push %esi
80ed392: 83 ec 10 sub $0x10,%esp
80ed395: 8b 54 24 2c mov 0x2c(%esp),%edx
80ed399: 8b 44 24 30 mov 0x30(%esp),%eax
80ed39d: 85 c0 test %eax,%eax
80ed39f: 75 46 jne 80ed3e7
<put_h264_chroma_mc8_ssse3_rnd+0x57>
80ed3a1: 85 d2 test %edx,%edx
80ed3a3: 75 4a jne 80ed3ef
<put_h264_chroma_mc8_ssse3_rnd+0x5f>
80ed3a5: 8b 7c 24 28 mov 0x28(%esp),%edi
80ed3a9: 8b 74 24 20 mov 0x20(%esp),%esi
80ed3ad: 8b 4c 24 1c mov 0x1c(%esp),%ecx
80ed3b1: 8b 54 24 24 mov 0x24(%esp),%edx
80ed3b5: 8d 04 12 lea (%edx,%edx,1),%eax
80ed3b8: 0f 6f 06 movq (%esi),%mm0
80ed3bb: 0f 6f 0c 16 movq (%esi,%edx,1),%mm1
80ed3bf: 0f 7f 01 movq %mm0,(%ecx)
80ed3c2: 0f 7f 0c 11 movq %mm1,(%ecx,%edx,1)
80ed3c6: 01 c6 add %eax,%esi
80ed3c8: 01 c1 add %eax,%ecx
80ed3ca: 0f 6f 06 movq (%esi),%mm0
80ed3cd: 0f 6f 0c 16 movq (%esi,%edx,1),%mm1
80ed3d1: 0f 7f 01 movq %mm0,(%ecx)
80ed3d4: 0f 7f 0c 11 movq %mm1,(%ecx,%edx,1)
80ed3d8: 01 c6 add %eax,%esi
80ed3da: 01 c1 add %eax,%ecx
80ed3dc: 83 ef 04 sub $0x4,%edi
80ed3df: 75 d7 jne 80ed3b8
<put_h264_chroma_mc8_ssse3_rnd+0x28>
80ed3e1: 83 c4 10 add $0x10,%esp
80ed3e4: 5e pop %esi
80ed3e5: 5f pop %edi
80ed3e6: c3 ret
80ed3e7: 85 d2 test %edx,%edx
80ed3e9: 0f 85 f9 00 00 00 jne 80ed4e8
<put_h264_chroma_mc8_ssse3_rnd+0x158>
80ed3ef: b9 04 00 04 00 mov $0x40004,%ecx
80ed3f4: 89 0c 24 mov %ecx,(%esp)
80ed3f7: 89 4c 24 04 mov %ecx,0x4(%esp)
80ed3fb: 8d 04 10 lea (%eax,%edx,1),%eax
80ed3fe: 89 c7 mov %eax,%edi
80ed400: c1 e7 08 shl $0x8,%edi
80ed403: 29 c7 sub %eax,%edi
80ed405: 83 c7 08 add $0x8,%edi
80ed408: 66 0f 6e ff movd %edi,%xmm7
80ed40c: f3 0f 7e 34 24 movq (%esp),%xmm6
80ed411: f2 0f 70 ff 00 pshuflw $0x0,%xmm7,%xmm7
80ed416: 0f 16 f6 movlhps %xmm6,%xmm6
80ed419: 0f 16 ff movlhps %xmm7,%xmm7
80ed41c: 85 d2 test %edx,%edx
80ed41e: 74 65 je 80ed485
<put_h264_chroma_mc8_ssse3_rnd+0xf5>
80ed420: 8b 74 24 1c mov 0x1c(%esp),%esi
80ed424: 8b 4c 24 20 mov 0x20(%esp),%ecx
80ed428: 8b 54 24 28 mov 0x28(%esp),%edx
80ed42c: 8b 44 24 24 mov 0x24(%esp),%eax
80ed430: f3 0f 7e 01 movq (%ecx),%xmm0
80ed434: f3 0f 7e 49 01 movq 0x1(%ecx),%xmm1
80ed439: f3 0f 7e 14 01 movq (%ecx,%eax,1),%xmm2
80ed43e: f3 0f 7e 5c 01 01 movq 0x1(%ecx,%eax,1),%xmm3
80ed444: 66 0f 60 c1 punpcklbw %xmm1,%xmm0
80ed448: 66 0f 60 d3 punpcklbw %xmm3,%xmm2
80ed44c: 66 0f 38 04 c7 pmaddubsw %xmm7,%xmm0
80ed451: 66 0f 38 04 d7 pmaddubsw %xmm7,%xmm2
80ed456: 66 0f fd c6 paddw %xmm6,%xmm0
80ed45a: 66 0f fd d6 paddw %xmm6,%xmm2
80ed45e: 66 0f 71 d0 03 psrlw $0x3,%xmm0
80ed463: 66 0f 71 d2 03 psrlw $0x3,%xmm2
80ed468: 66 0f 67 c2 packuswb %xmm2,%xmm0
80ed46c: 66 0f d6 06 movq %xmm0,(%esi)
80ed470: 0f 17 04 06 movhps %xmm0,(%esi,%eax,1)
80ed474: 83 ea 02 sub $0x2,%edx
80ed477: 8d 0c 41 lea (%ecx,%eax,2),%ecx
80ed47a: 8d 34 46 lea (%esi,%eax,2),%esi
80ed47d: 7f b1 jg 80ed430
<put_h264_chroma_mc8_ssse3_rnd+0xa0>
80ed47f: 83 c4 10 add $0x10,%esp
80ed482: 5e pop %esi
80ed483: 5f pop %edi
80ed484: c3 ret
80ed485: 8b 74 24 1c mov 0x1c(%esp),%esi
80ed489: 8b 4c 24 20 mov 0x20(%esp),%ecx
80ed48d: 8b 54 24 28 mov 0x28(%esp),%edx
80ed491: 8b 44 24 24 mov 0x24(%esp),%eax
80ed495: f3 0f 7e 01 movq (%ecx),%xmm0
80ed499: f3 0f 7e 0c 01 movq (%ecx,%eax,1),%xmm1
80ed49e: 66 0f 6f d1 movdqa %xmm1,%xmm2
80ed4a2: f3 0f 7e 1c 41 movq (%ecx,%eax,2),%xmm3
80ed4a7: 66 0f 60 c1 punpcklbw %xmm1,%xmm0
80ed4ab: 66 0f 60 d3 punpcklbw %xmm3,%xmm2
80ed4af: 66 0f 38 04 c7 pmaddubsw %xmm7,%xmm0
80ed4b4: 66 0f 38 04 d7 pmaddubsw %xmm7,%xmm2
80ed4b9: 66 0f fd c6 paddw %xmm6,%xmm0
80ed4bd: 66 0f fd d6 paddw %xmm6,%xmm2
80ed4c1: 66 0f 71 d0 03 psrlw $0x3,%xmm0
80ed4c6: 66 0f 71 d2 03 psrlw $0x3,%xmm2
80ed4cb: 66 0f 67 c2 packuswb %xmm2,%xmm0
80ed4cf: 66 0f d6 06 movq %xmm0,(%esi)
80ed4d3: 0f 17 04 06 movhps %xmm0,(%esi,%eax,1)
80ed4d7: 83 ea 02 sub $0x2,%edx
80ed4da: 8d 0c 41 lea (%ecx,%eax,2),%ecx
80ed4dd: 8d 34 46 lea (%esi,%eax,2),%esi
80ed4e0: 7f b3 jg 80ed495
<put_h264_chroma_mc8_ssse3_rnd+0x105>
80ed4e2: 83 c4 10 add $0x10,%esp
80ed4e5: 5e pop %esi
80ed4e6: 5f pop %edi
80ed4e7: c3 ret
80ed4e8: 8b 0d 60 9c 48 08 mov 0x8489c60,%ecx
80ed4ee: 8b 35 64 9c 48 08 mov 0x8489c64,%esi
80ed4f4: 8b 3d 68 9c 48 08 mov 0x8489c68,%edi
80ed4fa: 89 0c 24 mov %ecx,(%esp)
80ed4fd: 8b 0d 6c 9c 48 08 mov 0x8489c6c,%ecx
80ed503: 89 74 24 04 mov %esi,0x4(%esp)
80ed507: 89 d6 mov %edx,%esi
80ed509: 89 7c 24 08 mov %edi,0x8(%esp)
80ed50d: c1 e6 08 shl $0x8,%esi
80ed510: 29 d6 sub %edx,%esi
80ed512: 89 4c 24 0c mov %ecx,0xc(%esp)
80ed516: 89 c2 mov %eax,%edx
80ed518: f7 da neg %edx
80ed51a: 83 c2 08 add $0x8,%edx
80ed51d: 8d 4e 08 lea 0x8(%esi),%ecx
80ed520: 0f af ca imul %edx,%ecx
80ed523: 83 c6 08 add $0x8,%esi
80ed526: 0f af f0 imul %eax,%esi
80ed529: 8b 54 24 28 mov 0x28(%esp),%edx
80ed52d: 8b 44 24 24 mov 0x24(%esp),%eax
80ed531: 66 0f 6e f9 movd %ecx,%xmm7
80ed535: 66 0f 6e f6 movd %esi,%xmm6
80ed539: 66 0f 6f 2c 24 movdqa (%esp),%xmm5
80ed53e: f2 0f 70 ff 00 pshuflw $0x0,%xmm7,%xmm7
80ed543: f2 0f 70 f6 00 pshuflw $0x0,%xmm6,%xmm6
80ed548: 0f 16 ff movlhps %xmm7,%xmm7
80ed54b: 0f 16 f6 movlhps %xmm6,%xmm6
80ed54e: 8b 74 24 1c mov 0x1c(%esp),%esi
80ed552: 8b 4c 24 20 mov 0x20(%esp),%ecx
80ed556: f3 0f 7e 01 movq (%ecx),%xmm0
80ed55a: f3 0f 7e 49 01 movq 0x1(%ecx),%xmm1
80ed55f: 66 0f 60 c1 punpcklbw %xmm1,%xmm0
80ed563: 01 c1 add %eax,%ecx
80ed565: f3 0f 7e 09 movq (%ecx),%xmm1
80ed569: f3 0f 7e 51 01 movq 0x1(%ecx),%xmm2
80ed56e: f3 0f 7e 1c 01 movq (%ecx,%eax,1),%xmm3
80ed573: f3 0f 7e 64 01 01 movq 0x1(%ecx,%eax,1),%xmm4
80ed579: 8d 0c 41 lea (%ecx,%eax,2),%ecx
80ed57c: 66 0f 60 ca punpcklbw %xmm2,%xmm1
80ed580: 66 0f 60 dc punpcklbw %xmm4,%xmm3
80ed584: 66 0f 6f d1 movdqa %xmm1,%xmm2
80ed588: 66 0f 6f e3 movdqa %xmm3,%xmm4
80ed58c: 66 0f 38 04 c7 pmaddubsw %xmm7,%xmm0
80ed591: 66 0f 38 04 ce pmaddubsw %xmm6,%xmm1
80ed596: 66 0f 38 04 d7 pmaddubsw %xmm7,%xmm2
80ed59b: 66 0f 38 04 de pmaddubsw %xmm6,%xmm3
80ed5a0: 66 0f fd c5 paddw %xmm5,%xmm0
80ed5a4: 66 0f fd d5 paddw %xmm5,%xmm2
80ed5a8: 66 0f fd c8 paddw %xmm0,%xmm1
80ed5ac: 66 0f fd da paddw %xmm2,%xmm3
80ed5b0: 66 0f 6f c4 movdqa %xmm4,%xmm0
80ed5b4: 66 0f 71 d1 06 psrlw $0x6,%xmm1
80ed5b9: 66 0f 71 d3 06 psrlw $0x6,%xmm3
80ed5be: 66 0f 67 cb packuswb %xmm3,%xmm1
80ed5c2: 66 0f d6 0e movq %xmm1,(%esi)
80ed5c6: 0f 17 0c 06 movhps %xmm1,(%esi,%eax,1)
80ed5ca: 83 ea 02 sub $0x2,%edx
80ed5cd: 8d 34 46 lea (%esi,%eax,2),%esi
80ed5d0: 7f 93 jg 80ed565
<put_h264_chroma_mc8_ssse3_rnd+0x1d5>
80ed5d2: 83 c4 10 add $0x10,%esp
80ed5d5: 5e pop %esi
80ed5d6: 5f pop %edi
80ed5d7: c3 ret
--
-Mike Melanson
More information about the ffmpeg-cvslog
mailing list