1 |
Helmut Jarausch writes: |
2 |
|
3 |
> On 03/12/2012 12:32:01 PM, Alex Schuster wrote: |
4 |
|
5 |
> > The command above does not tell about SSE stuff, so I used this one to |
6 |
> > find out about that: |
7 |
> > |
8 |
> > leela # echo | gcc -dME - -march=native | grep -Ei 'SSE|3DNOW|MMX' | |
9 |
|
10 |
Typo: The -E must be separate: gcc -dM -E - -march=native |
11 |
|
12 |
> > sort |
13 |
> > #define __3dNOW_A__ 1 |
14 |
> > #define __3dNOW__ 1 |
15 |
> > #define __MMX__ 1 |
16 |
> > #define __SSE2_MATH__ 1 |
17 |
> > #define __SSE2__ 1 |
18 |
> > #define __SSE3__ 1 |
19 |
> > #define __SSE4A__ 1 |
20 |
> > #define __SSE_MATH__ 1 |
21 |
> > #define __SSE__ 1 |
22 |
> > |
23 |
> > And I added "-msse -msse2 -msse3 -msse4 -m3dnow -mmmx" to CFLAGS. |
24 |
|
25 |
> I normally check the flags entry in cat /proc/cpuinfo to decide |
26 |
> what's supported on a given CPU. |
27 |
|
28 |
This gives: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge |
29 |
mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext |
30 |
fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl |
31 |
nonstop_tsc extd_apicid aperfmperf pni monitor cx16 popcnt lahf_lm |
32 |
cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch |
33 |
osvw ibs skinit wdt arat cpb npt lbrv svm_lock nrip_save pausefilter |
34 |
|
35 |
I see sse, sse2, pni (which means sse3 I think) and sse4a. Like what the |
36 |
gcc output gives. |
37 |
|
38 |
But then I looked in the gcc man page, and the relevant switches are: |
39 |
-msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -msse4 ... -msse4a |
40 |
With the -msse4a switch being a little separated from the others, maybe I |
41 |
overlooked it when I looked the last time. So, the CPU knows about SSE4a, |
42 |
but not about SSE4. Argh. I somehow thought that this would be the same |
43 |
as SSE4, according to wikipedia this is not true. Problem found, I guess. |
44 |
|
45 |
Wonko |