[Bug ada/53590] new compiler generates both SISD and SIMD instructions for parallel operations of a "pure" function

georggcc at googlemail dot com gcc-bugzilla@gcc.gnu.org
Mon Jun 11 10:31:00 GMT 2012


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

--- Comment #4 from Georg <georggcc at googlemail dot com> 2012-06-11 10:31:00 UTC ---
(In reply to comment #3)
> (In reply to comment #2)
> > > Other versions of the Ada compiler, and the C compiler,
> > > and the C++ compiler of the same version produce
> > > 1 DIVPD instruction, as expected.
> > 
> > Which other versions of the Ada compiler exactly?
> 
> For example, GNAT GPL 2011 on Mac OS X 10.7.4; 

Small note: Same sequence of instructions from GNAT GPL 2011
running on x86_64 Linux/GNU:

0000000000000010 <autovect__f>:
  10:    66 0f 14 c1              unpcklpd %xmm1,%xmm0
  14:    66 0f 14 d3              unpcklpd %xmm3,%xmm2
  18:    66 0f 5e c2              divpd  %xmm2,%xmm0
  1c:    66 0f 29 44 24 e8        movapd %xmm0,-0x18(%rsp)
  22:    f2 0f 10 44 24 e8        movsd  -0x18(%rsp),%xmm0
  28:    f2 0f 10 4c 24 f0        movsd  -0x10(%rsp),%xmm1
  2e:    c3                       retq   
  2f:    90                       nop

Intel(R) Xeon(R) CPU           E5645  @ 2.40GHz



More information about the Gcc-bugs mailing list