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

--- Comment #3 from Georg <georggcc at googlemail dot com> 2012-06-11 10:09:18 
UTC ---
(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; I get (that's
the version of the source text with none of the
pragmas in effect)

$ gnatchop -r -w ../autovect.ada && gnatmake -gnatwa -W -O3 -fno-inline
-fomit-frame-pointer -msse3 -march=core2 -gnatp -gnata -v -mfpmath=sse -f
autovect.adb
splitting ../autovect.ada into:
   autovect.ads
   autovect.adb

GNATMAKE GPL 2011 (20110419)
Copyright (C) 1995-2011, Free Software Foundatio machine_attribute n, Inc.
gcc -c -gnatwa -W -O3 -fno-inline -fomit-frame-pointer -msse3 -march=core2
-gnatp -gnata -mfpmath=sse autovect.adb
End of compilation
$ otool -tv autovect.o
autovect.o:
(__TEXT,__text) section
_autovect__TvecBIP:
0000000000000000    ret
0000000000000001    nop
0000000000000002    nopl    0x00000000(%rax)
0000000000000009    nopl    0x00000000(%rax)
_autovect__f:
0000000000000010    unpcklpd    %xmm1,%xmm0
0000000000000014    unpcklpd    %xmm3,%xmm2
0000000000000018    divpd    %xmm2,%xmm0
000000000000001c    movapd    %xmm0,0xe8(%rsp)
0000000000000022    movsd    0xe8(%rsp),%xmm0
0000000000000028    movsd    0xf0(%rsp),%xmm1
000000000000002e    ret
000000000000002f    nop
_autovect___elabs:
0000000000000030    subq    $0x18,%rsp
0000000000000034    leaq    0x00000015(%rip),%rdi
000000000000003b    leaq    0x0000001e(%rip),%rsi
0000000000000042    movq    %rdi,(%rsp)
0000000000000046    movq    %rsi,0x08(%rsp)
000000000000004b    callq    0x00000050


$ sysctl machdep.cpu
...
machdep.cpu.brand_string: Intel(R) Core(TM)2 Duo CPU     E8135  @ 2.40GHz
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA
CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 DTES64 MON
DSCPL VMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1
machdep.cpu.extfeatures: SYSCALL XD EM64T LAHF

I'll double check more running on an Intel Core i7 tonight.

Reply via email to