[FFmpeg-devel] [PATCH]Force enable ebp_available for icc

Carl Eugen Hoyos cehoyos
Fri Mar 13 01:00:13 CET 2009


Hi!

The test used in configure to find out if ebp can be used worked fine for 
icc up to version 10.1.
Since version 11.0, the test always fails, although ebp can be used (I 
believe, because if I use attached configure patch, make test succeeds).
So I propose attached patch to force ebp_available for icc.
I did report the problem to intel, and I attached the assembler files both 
for compilation with -fno-omit-frame-pointer and -fomit-frame-pointer.

Please comment, Carl Eugen
-------------- next part --------------
Index: configure
===================================================================
--- configure	(revision 17942)
+++ configure	(working copy)
@@ -2181,6 +2181,7 @@
     check_ldflags -wd10156,11030
     # Allow to compile with optimizations
     check_ldflags -march=$cpu
+    enable ebp_available
 elif enabled ccc; then
     # disable some annoying warnings
     add_cflags -msg_disable cvtu32to64
-------------- next part --------------
# -- Machine type PW
# mark_description "Intel(R) C++ Compiler Professional for applications running on IA-32, Version 11.0    Build 20090131 %s";
# mark_description "-long_double -fomit-frame-pointer -S";
	.file "ebp.c"
	.text
..TXTST0:
# -- Begin  main
# mark_begin;
       .align    16,0x90
	.globl main
main:
..B1.1:                         # Preds ..B1.0
        pushl     %ebp                                          #1.15
        movl      %esp, %ebp                                    #1.15
        andl      $-128, %esp                                   #1.15
        subl      $128, %esp                                    #1.15
        pushl     $3                                            #1.15
        call      __intel_new_proc_init                         #1.15
                                # LOE ebx esi edi
..B1.4:                         # Preds ..B1.1
        popl      %ecx                                          #1.15
        stmxcsr   (%esp)                                        #1.15
        orl       $32768, (%esp)                                #1.15
        ldmxcsr   (%esp)                                        #1.15
        movl      $0, 4(%esp)                                   #2.19
        xorl      %ebp, %ebp                                    #3.0
        movl      4(%esp), %eax                                 #6.12
        movl      %ebp, %esp                                    #6.12
        popl      %ebp                                          #6.12
        ret                                                     #6.12
        .align    16,0x90
                                # LOE
# mark_end;
	.type	main, at function
	.size	main,.-main
	.data
# -- End  main
	.data
	.section .note.GNU-stack, ""
# End
-------------- next part --------------
# -- Machine type PW
# mark_description "Intel(R) C++ Compiler Professional for applications running on IA-32, Version 11.0    Build 20090131 %s";
# mark_description "-long_double -fno-omit-frame-pointer -S";
	.file "ebp.c"
	.text
..TXTST0:
# -- Begin  main
# mark_begin;
       .align    16,0x90
	.globl main
main:
..B1.1:                         # Preds ..B1.0
        pushl     %ebx                                          #1.15
        movl      %esp, %ebx                                    #1.15
        andl      $-128, %esp                                   #1.15
        pushl     %ebp                                          #1.15
        pushl     %ebp                                          #1.15
        movl      4(%ebx), %ebp                                 #1.15
        movl      %ebp, 4(%esp)                                 #1.15
        movl      %esp, %ebp                                    #1.15
        subl      $120, %esp                                    #1.15
        pushl     $3                                            #1.15
        call      __intel_new_proc_init                         #1.15
                                # LOE esi edi
..B1.4:                         # Preds ..B1.1
        stmxcsr   -120(%ebp)                                    #1.15
        orl       $32768, -120(%ebp)                            #1.15
        ldmxcsr   -120(%ebp)                                    #1.15
        movl      $0, -116(%ebp)                                #2.19
        addl      $4, %esp                                      #1.15
        xorl      %ebp, %ebp                                    #3.0
        movl      -116(%ebp), %eax                              #6.12
        movl      %ebp, %esp                                    #6.12
        popl      %ebp                                          #6.12
        movl      %ebx, %esp                                    #6.12
        popl      %ebx                                          #6.12
        ret                                                     #6.12
        .align    16,0x90
                                # LOE
# mark_end;
	.type	main, at function
	.size	main,.-main
	.data
# -- End  main
	.data
	.section .note.GNU-stack, ""
# End
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ebp.c
Type: text/x-csrc
Size: 129 bytes
Desc: 
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090313/6a634fd8/attachment.c>



More information about the ffmpeg-devel mailing list