An simpler program, same output:
program sse2_bug complex*16 cmone complex*16 a(2) complex*16 x complex*16 y cmone = (1.,0.) a(1) = (1.,0.) a(2) = (0.,0.) x = (0.,3.) y = (0.,0.) call zgemv('n',1,1,cmone,a,1,x,1,cmone,y,1) write(*,*) y," == 3j" end
An simpler program, same output:
program sse2_bug n',1,1, cmone,a, 1,x,1,cmone, y,1)
complex*16 cmone
complex*16 a(2)
complex*16 x
complex*16 y
cmone = (1.,0.)
a(1) = (1.,0.)
a(2) = (0.,0.)
x = (0.,3.)
y = (0.,0.)
call zgemv('
write(*,*) y," == 3j"
end