------- Additional Comments From bangerth at dealii dot org  2004-12-13 20:18 
-------
Here is a small testcase that segfaults in a movapd instruction 
when compiled with the 3.4 branch: 
---------------------------- 
      subroutine choleskyzhp (a) 
      integer    i,j,k 
      complex*16 a(5,5),x 
 
      do j = 1,5 
         do i = j,5 
            do k = 1,j-1 
               x = a(i,k)*dconjg(a(j,k)) 
            enddo 
            a(i,j) = x 
         enddo 
      enddo 
 
      return 
      end 
 
 
      program test 
      complex*16 work(5,5,2) 
      call choleskyzhp(work(1,1,2)) 
      return 
      end 
-------------------------- 
 
g/x> /home/bangerth/bin/gcc-3.4.*-pre/bin/g77 -O -msse2 -g x.f ; ./a.out  
 
g/x> /home/bangerth/bin/gcc-3.4.*-pre/bin/g77 -O -msse2 -mfpmath=sse -g 
x.f ; ./a.out  
Segmentation fault 
 
(gdb) r 
`/home/bangerth/tmp/g/x/a.out' has changed; re-reading symbols. 
Starting program: /home/bangerth/tmp/g/x/a.out  
 
Program received signal SIGSEGV, Segmentation fault. 
0x08048636 in choleskyzhp_ (a=0xbfffe920) at x.f:12 
(gdb) disass 
Dump of assembler code for function choleskyzhp_: 
[...] 
0x08048636 <choleskyzhp_+34>:   movapd %xmm0,0xffffffc8(%ebp) 
 
 
Given that g77 doesn't exist any more on mainline, I don't know how to 
reproduce this bug there. Maybe some of the other dups listed in PR 17990 
can help. I'll take a look. 
 
W. 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |3.4.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14776

Reply via email to