# Kernel for Intel i3-370M 64bit?

## Thesniperofdeath

I compiled the kernel for the generic x86_64 processor and compiled the software with march=native. I have a feeling you have to set it to Core 2 ?is it correct or wrong?Last edited by Thesniperofdeath on Sat Feb 05, 2011 1:17 am; edited 1 time in total

----------

## pigeon768

You're correct.

----------

## Gusar

What's wrong with march=native? Can you check what actually gets activated with march=native?

----------

## Thesniperofdeath

 *Gusar wrote:*   

> What's wrong with march=native? Can you check what actually gets activated with march=native?

 

My GCC normally compiles with generic x86_64

```
processor   : 0

vendor_id   : GenuineIntel

cpu family   : 6

model      : 37

model name   : Intel(R) Core(TM) i3 CPU       M 370  @ 2.40GHz

stepping   : 5

cpu MHz      : 2400.090

cache size   : 3072 KB

physical id   : 0

siblings   : 4

core id      : 0

cpu cores   : 2

apicid      : 0

initial apicid   : 0

fpu      : yes

fpu_exception   : yes

cpuid level   : 11

wp      : yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid

bogomips   : 4800.18

clflush size   : 64

cache_alignment   : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:

processor   : 1

vendor_id   : GenuineIntel

cpu family   : 6

model      : 37

model name   : Intel(R) Core(TM) i3 CPU       M 370  @ 2.40GHz

stepping   : 5

cpu MHz      : 2400.090

cache size   : 3072 KB

physical id   : 0

siblings   : 4

core id      : 0

cpu cores   : 2

apicid      : 1

initial apicid   : 1

fpu      : yes

fpu_exception   : yes

cpuid level   : 11

wp      : yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid

bogomips   : 4800.11

clflush size   : 64

cache_alignment   : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:

processor   : 2

vendor_id   : GenuineIntel

cpu family   : 6

model      : 37

model name   : Intel(R) Core(TM) i3 CPU       M 370  @ 2.40GHz

stepping   : 5

cpu MHz      : 2400.090

cache size   : 3072 KB

physical id   : 0

siblings   : 4

core id      : 2

cpu cores   : 2

apicid      : 4

initial apicid   : 4

fpu      : yes

fpu_exception   : yes

cpuid level   : 11

wp      : yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid

bogomips   : 4800.13

clflush size   : 64

cache_alignment   : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:

processor   : 3

vendor_id   : GenuineIntel

cpu family   : 6

model      : 37

model name   : Intel(R) Core(TM) i3 CPU       M 370  @ 2.40GHz

stepping   : 5

cpu MHz      : 2400.090

cache size   : 3072 KB

physical id   : 0

siblings   : 4

core id      : 2

cpu cores   : 2

apicid      : 5

initial apicid   : 5

fpu      : yes

fpu_exception   : yes

cpuid level   : 11

wp      : yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid

bogomips   : 4800.12

clflush size   : 64

cache_alignment   : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:

```

gcc -c -Q -march=native --help=target:

```
  -m128bit-long-double              [disabled]

  -m32                              [disabled]

  -m3dnow                           [disabled]

  -m3dnowa                          [disabled]

  -m64                              [enabled]

  -m80387                           [enabled]

  -m96bit-long-double               [enabled]

  -mabm                             [disabled]

  -maccumulate-outgoing-args        [disabled]

  -maes                             [disabled]

  -malign-double                    [disabled]

  -malign-functions=                

  -malign-jumps=                    

  -malign-loops=                    

  -malign-stringops                 [enabled]

  -march=                           core2

  -masm=                            

  -mavx                             [disabled]

  -mbranch-cost=                    

  -mcld                             [disabled]

  -mcmodel=                         

  -mcx16                            [enabled]

  -mfancy-math-387                  [enabled]

  -mfma                             [disabled]

  -mforce-drap                      [disabled]

  -mfp-ret-in-387                   [enabled]

  -mfpmath=                         

  -mfused-madd                      [enabled]

  -mglibc                           [enabled]

  -mhard-float                      [enabled]

  -mieee-fp                         [enabled]

  -mincoming-stack-boundary=        

  -minline-all-stringops            [disabled]

  -minline-stringops-dynamically    [disabled]

  -mintel-syntax                    [disabled]

  -mlarge-data-threshold=           

  -mmmx                             [disabled]

  -mms-bitfields                    [disabled]

  -mno-align-stringops              [disabled]

  -mno-fancy-math-387               [disabled]

  -mno-fused-madd                   [disabled]

  -mno-push-args                    [disabled]

  -mno-red-zone                     [disabled]

  -mno-sse4                         [disabled]

  -momit-leaf-frame-pointer         [disabled]

  -mpc                              

  -mpclmul                          [disabled]

  -mpopcnt                          [enabled]

  -mpreferred-stack-boundary=       

  -mpush-args                       [enabled]

  -mrecip                           [disabled]

  -mred-zone                        [enabled]

  -mregparm=                        

  -mrtd                             [disabled]

  -msahf                            [enabled]

  -msoft-float                      [disabled]

  -msse                             [enabled]

  -msse2                            [enabled]

  -msse2avx                         [disabled]

  -msse3                            [enabled]

  -msse4                            [enabled]

  -msse4.1                          [enabled]

  -msse4.2                          [enabled]

  -msse4a                           [disabled]

  -msse5                            [disabled]

  -msseregparm                      [disabled]

  -mssse3                           [enabled]

  -mstack-arg-probe                 [disabled]

  -mstackrealign                    [enabled]

  -mstringop-strategy=              

  -mtls-dialect=                    

  -mtls-direct-seg-refs             [enabled]

  -mtune=                           core2

  -muclibc                          [disabled]

  -mveclibabi=                      
```

Do I have to recompile everything in core2 and change the Kernel?

----------

## Gusar

 *Thesniperofdeath wrote:*   

> Do I have to recompile everything in core2 and change the Kernel?

 

According to your output, march=native sets march=core2

```
-march=                           core2
```

You can recompile your kernel if you want, but if your userspace is compiled with march=native, then it's already how you want it.

----------

## Rad-X

but march=core2 have a less feature active than march=native. For example sse4 is disabled when core2 is selected

----------

