------- Comment #6 from jvdelisle at gcc dot gnu dot org 2006-08-19 03:29
-------
Here is a comparison of no optimization and with -O1. Does this code look the
same on x86-64 that is not FreeBSD?
Code with no optimization: This does not work.
call _gfortran_st_write_done
movq $.LC0, -424(%rbp)
movl $8, -416(%rbp)
movl $10, -428(%rbp)
movq $1, -392(%rbp)
movl $512, -432(%rbp)
leaq -432(%rbp), %rdi
call _gfortran_st_write
Code with -O1: This works
call _gfortran_st_write_done
movq $.LC0, 8(%rsp)
movl $8, 16(%rsp)
movl $10, 4(%rsp)
movq $1, 40(%rsp)
movl $512, (%rsp)
movq %rsp, %rdi
call _gfortran_st_write
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28747