Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-10-03 Thread gevisz
ср, 3 окт. 2018 г. в 12:50, Walter Dnes :
>
>   What's happening is that the ebuild is going through a lookup table of
> CPU flags, and saying... "if you invoke a certain advanced feature, then
> you also have to invoke the base version of that feature".  If you ask
> for the advanced feature, but not the base feature, it's like trying to
> build the top 4 storeys of a 10-storey building without the bottom 6
> storeys.  From your output...
>
>   If you're calling for avx2, then you also need avx
> > cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
>
>   If you're calling for sse4_2, then you also need sse4_1
> > cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
>
>   If you're calling for sse4_1, then you also need ssse3
> > cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
>
>   If you're calling for ssse3, then you also need sse3 (count the "s")
> > cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
>
>   If you're calling for sse3, then you also need sse2
> > cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
>
>   If you're calling for sse2, then you also need sse
> > cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
>
>   If you're calling for sse, then you also need mmxext
> > cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
>
>   If you're calling for mmxext, then you also need mmx
> > cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
>
> AMD If you're calling for 3dnowext, then you also need 3dnow
> > cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
>
> AMD If you're calling for 3dnow, then you also need mmx
> > cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
>
>   Basically, if flag B is an extension of flag A and builds on it, then
> calling flag B requires calling flag A.  Think of it as a "march flag
> dependency tree".

Ok, thank you for explanation.

Interestingly, I have build almost entire system without
mmxext flag and only firefox, ffmpeg and vlc started
to complane about it.



Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-10-03 Thread Walter Dnes
  What's happening is that the ebuild is going through a lookup table of
CPU flags, and saying... "if you invoke a certain advanced feature, then
you also have to invoke the base version of that feature".  If you ask
for the advanced feature, but not the base feature, it's like trying to
build the top 4 storeys of a 10-storey building without the bottom 6
storeys.  From your output...

  If you're calling for avx2, then you also need avx
> cpu_flags_x86_avx2? ( cpu_flags_x86_avx )

  If you're calling for sse4_2, then you also need sse4_1
> cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )

  If you're calling for sse4_1, then you also need ssse3
> cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )

  If you're calling for ssse3, then you also need sse3 (count the "s")
> cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )

  If you're calling for sse3, then you also need sse2
> cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )

  If you're calling for sse2, then you also need sse
> cpu_flags_x86_sse2? ( cpu_flags_x86_sse )

  If you're calling for sse, then you also need mmxext
> cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )

  If you're calling for mmxext, then you also need mmx
> cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )

AMD If you're calling for 3dnowext, then you also need 3dnow
> cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )

AMD If you're calling for 3dnow, then you also need mmx
> cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )

  Basically, if flag B is an extension of flag A and builds on it, then
calling flag B requires calling flag A.  Think of it as a "march flag
dependency tree".

-- 
Walter Dnes 
I don't run "desktop environments"; I run useful applications



Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-10-02 Thread Mike Gilbert
On Fri, Sep 28, 2018 at 5:33 AM Marc Joliet  wrote:
>
> Am Freitag, 28. September 2018, 06:04:29 CEST schrieb Walter Dnes:
> > mmxext does not have its own flag in /proc/cpuinfo.
>
> ???
>
> % cat /proc/cpuinfo
> [...]
> flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge 
> mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt 
> rdtscp lm 3dnowext 3dnow rep_good nopl cpuid extd_apicid pni cx16 lahf_lm 
> cmp_legacy svm extapic cr8_legacy 3dnowprefetch vmmcall
>   
> ^^^ ^^
> (I hope the formatting doesn't get messed up, the point is that my 
> /proc/cpuinfo *does* show mmxext.)

That cpuid flag only appears on AMD processors. It is never set for
Intel processors.

cpuid2cpuflags makes a special exception for this case.

https://github.com/mgorny/cpuid2cpuflags/blob/master/src/x86.c#L71



Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-10-02 Thread gevisz
вт, 2 окт. 2018 г. в 22:45, gevisz :
>
> So, mmxext flag is indeed absent here.
>
> I have not yet included it in CPU_FLAGS_X86 and think that
> it produces a strange error messages when I try emerge some
> packages like firefox:
>
> # emerge firefox
> These are the packages that would be merged, in order:
> Calculating dependencies... done!
>
> !!! The ebuild selected to satisfy
> ">=media-video/ffmpeg-1.2.6-r1:0[X?,encode?,gsm?,jpeg2k?,mp3?,opus?,sdl?,speex?,theora?,threads?,truetype?,vaapi?,vdpau?,x264?]"
> has unmet requirements.
> - media-video/ffmpeg-3.3.6::gentoo USE="X alsa bzip2 encode gpl
> hardcoded-tables iconv mp3 network opengl postproc sdl threads
> truetype vdpau vorbis x264 xcb xvid zlib (-altivec) -amr -amrenc
> -bluray -bs2b -cdio (-celt) -chromaprint -chromium -cpudetection
> -debug -doc -fdk -flite -fontconfig -frei0r -fribidi -gcrypt -gme -gmp
> -gnutls -gsm -iec61883 -ieee1394 -jack -jpeg2k -kvazaar -ladspa
> -libass -libcaca -libilbc -librtmp -libsoxr -libv4l -lzma (-mipsdspr1)
> (-mipsdspr2) (-mipsfpu) (-mmal) -modplug -nvenc -openal -openh264
> -openssl -opus -oss -pic -pulseaudio -rubberband -samba -schroedinger
> -snappy -sofalizer -speex -ssh -static-libs -test -theora -twolame
> -v4l -vaapi -vpx -wavpack -webp -x265 -zeromq -zimg -zvbi"
> ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="mmx sse sse2 sse3 ssse3
> -3dnow -3dnowext -aes -avx -avx2 -fma3 -fma4 -mmxext -sse4_1 -sse4_2
> -xop" FFTOOLS="aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt
> graph2dot ismindex pktdumper qt-faststart sidxindex trasher"
>
>   The following REQUIRED_USE flag constraints are unsatisfied:
> cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
>
>   The above constraints are a subset of the following complete expression:
> libv4l? ( v4l ) fftools_cws2fws? ( zlib ) test? ( encode )
> postproc? ( gpl ) frei0r? ( gpl ) cdio? ( gpl ) samba? ( gpl ) encode?
> ( x264? ( gpl ) x265? ( gpl ) xvid? ( gpl ) X? ( !xcb? ( gpl ) ) )
> arm64? ( cpu_flags_arm_v8 ) cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3
> cpu_flags_arm_neon ) cpu_flags_arm_neon? ( cpu_flags_arm_thumb2
> cpu_flags_arm_vfp ) cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
> cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 ) cpu_flags_arm_v6? (
> cpu_flags_arm_thumb ) cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
> cpu_flags_x86_fma4? ( cpu_flags_x86_avx ) cpu_flags_x86_fma3? (
> cpu_flags_x86_avx ) cpu_flags_x86_xop? ( cpu_flags_x86_avx )
> cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 ) cpu_flags_x86_aes? (
> cpu_flags_x86_sse4_2 ) cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
> cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 ) cpu_flags_x86_ssse3? (
> cpu_flags_x86_sse3 ) cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
> cpu_flags_x86_sse2? ( cpu_flags_x86_sse ) cpu_flags_x86_sse? (
> cpu_flags_x86_mmxext ) cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
> cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow ) cpu_flags_x86_3dnow? (
> cpu_flags_x86_mmx )
>
> (dependency required by "virtual/ffmpeg-9-r2::gentoo" [ebuild])
> (dependency required by "www-client/firefox-60.2.0::gentoo" [ebuild])
> (dependency required by "firefox" [argument])
>
> I will try to include mmxext into CPU_FLAGS_X86 and see if this error
> message appears again.

Indeed, I have included mmxext into CPU_FLAGS_X86
and the above error message disappeared.

My guess is that CPU_FLAGS_X86 is used only when
emerging x32 libraries while -match=native is used
for x64 libraries. When both x32 and x64 libraries
appear in the same package, portage somehow
notices the conflict and reports it.



Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-10-02 Thread gevisz
ср, 19 сент. 2018 г. в 11:38, Walter Dnes :
>
>  If you have gcc *ON THE TARGET MACHINE*, execute the command...
>
> gcc -c -Q -march=native --help=target | grep march=

I finally installed a web browser on the target computer, and
so can (just for the history:) copy and paste the result of running
this and other commands on the target computer.

# gcc -c -Q -march=native --help=target | grep march=
  -march=core2
So, you were right about core2

# lscpu
Architecture:x86_64
CPU op-mode(s):  32-bit, 64-bit
Byte Order:  Little Endian
CPU(s):  2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):   1
NUMA node(s):1
Vendor ID:   GenuineIntel
CPU family:  6
Model:   15
Model name:  Intel(R) Pentium(R) Dual  CPU  E2160  @ 1.80GHz
Stepping:13
CPU MHz: 1800.000
CPU max MHz: 1800.
CPU min MHz: 1200.
BogoMIPS:3599.97
L1d cache:   32K
L1i cache:   32K
L2 cache:1024K
NUMA node0 CPU(s):   0,1
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 lm constant_tsc arch_perfmon pebs bts
 rep_good nopl aperfmperf eagerfpu pni dtes64 monitor
 ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm
kaiser dtherm

So, mmxext flag is indeed absent here.

I have not yet included it in CPU_FLAGS_X86 and think that
it produces a strange error messages when I try emerge some
packages like firefox:

# emerge firefox
These are the packages that would be merged, in order:
Calculating dependencies... done!

!!! The ebuild selected to satisfy
">=media-video/ffmpeg-1.2.6-r1:0[X?,encode?,gsm?,jpeg2k?,mp3?,opus?,sdl?,speex?,theora?,threads?,truetype?,vaapi?,vdpau?,x264?]"
has unmet requirements.
- media-video/ffmpeg-3.3.6::gentoo USE="X alsa bzip2 encode gpl
hardcoded-tables iconv mp3 network opengl postproc sdl threads
truetype vdpau vorbis x264 xcb xvid zlib (-altivec) -amr -amrenc
-bluray -bs2b -cdio (-celt) -chromaprint -chromium -cpudetection
-debug -doc -fdk -flite -fontconfig -frei0r -fribidi -gcrypt -gme -gmp
-gnutls -gsm -iec61883 -ieee1394 -jack -jpeg2k -kvazaar -ladspa
-libass -libcaca -libilbc -librtmp -libsoxr -libv4l -lzma (-mipsdspr1)
(-mipsdspr2) (-mipsfpu) (-mmal) -modplug -nvenc -openal -openh264
-openssl -opus -oss -pic -pulseaudio -rubberband -samba -schroedinger
-snappy -sofalizer -speex -ssh -static-libs -test -theora -twolame
-v4l -vaapi -vpx -wavpack -webp -x265 -zeromq -zimg -zvbi"
ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="mmx sse sse2 sse3 ssse3
-3dnow -3dnowext -aes -avx -avx2 -fma3 -fma4 -mmxext -sse4_1 -sse4_2
-xop" FFTOOLS="aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt
graph2dot ismindex pktdumper qt-faststart sidxindex trasher"

  The following REQUIRED_USE flag constraints are unsatisfied:
cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )

  The above constraints are a subset of the following complete expression:
libv4l? ( v4l ) fftools_cws2fws? ( zlib ) test? ( encode )
postproc? ( gpl ) frei0r? ( gpl ) cdio? ( gpl ) samba? ( gpl ) encode?
( x264? ( gpl ) x265? ( gpl ) xvid? ( gpl ) X? ( !xcb? ( gpl ) ) )
arm64? ( cpu_flags_arm_v8 ) cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3
cpu_flags_arm_neon ) cpu_flags_arm_neon? ( cpu_flags_arm_thumb2
cpu_flags_arm_vfp ) cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 ) cpu_flags_arm_v6? (
cpu_flags_arm_thumb ) cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
cpu_flags_x86_fma4? ( cpu_flags_x86_avx ) cpu_flags_x86_fma3? (
cpu_flags_x86_avx ) cpu_flags_x86_xop? ( cpu_flags_x86_avx )
cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 ) cpu_flags_x86_aes? (
cpu_flags_x86_sse4_2 ) cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 ) cpu_flags_x86_ssse3? (
cpu_flags_x86_sse3 ) cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
cpu_flags_x86_sse2? ( cpu_flags_x86_sse ) cpu_flags_x86_sse? (
cpu_flags_x86_mmxext ) cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow ) cpu_flags_x86_3dnow? (
cpu_flags_x86_mmx )

(dependency required by "virtual/ffmpeg-9-r2::gentoo" [ebuild])
(dependency required by "www-client/firefox-60.2.0::gentoo" [ebuild])
(dependency required by "firefox" [argument])

I will try to include mmxext into CPU_FLAGS_X86 and see if this error
message appears again.

And finally:
# gcc -c -Q -march=native --help=target
The following options are target specific:
  -m128bit-long-double[enabled]
  -m16[disabled]
  -m32[disabled]
  -m3dnow  [disabled]
  -m3dnowa[disabled]
  -m64[enabled]
  -m80387  [enabled]
  -m8bit-idiv  [disabled]
  

Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-28 Thread Marc Joliet
Am Freitag, 28. September 2018, 06:04:29 CEST schrieb Walter Dnes:
> mmxext does not have its own flag in /proc/cpuinfo.

???

% cat /proc/cpuinfo 
[...]
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca 
cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp 
lm 3dnowext 3dnow rep_good nopl cpuid extd_apicid pni cx16 lahf_lm cmp_legacy 
svm extapic cr8_legacy 3dnowprefetch vmmcall

  ^^^ ^^
(I hope the formatting doesn't get messed up, the point is that my 
/proc/cpuinfo *does* show mmxext.)

-- 
Marc Joliet
--
"People who think they know everything really annoy those of us who know we
don't" - Bjarne Stroustrup


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-27 Thread Walter Dnes
On Tue, Sep 25, 2018 at 11:11:41AM +0300, gevisz wrote

> > The target processor does not support mmxext.
> 
> Strange enough but cpuid2cpuflags shows that it does:
> # cpuid2cpuflags
> CPU_FLAGS_X86: mmx mmxext sse sse2 sse3 ssse3

  mmxext does not have its own flag in /proc/cpuinfo.  This is an
extension to the basic mmx instructions.  It was adopted in 1999 by
Intel in the Pentium 3 SSE instructions and also by the AMD Athlon.

https://en.wikipedia.org/wiki/Extended_MMX
https://www.funtoo.org/CPU_FLAGS

-- 
Walter Dnes 
I don't run "desktop environments"; I run useful applications



Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-25 Thread gevisz
вт, 25 сент. 2018 г. в 7:07, gevisz :
>
> вс, 23 сент. 2018 г. в 10:10, Walter Dnes :
> >
> > On Thu, Sep 20, 2018 at 01:00:39AM +0300, gevisz wrote
> > > , 19 . 2018 ??. ?? 11:38, Walter Dnes :
> >
> > > >  According to
> > > > http://www.cpu-world.com/sspec/SL/SLA8Z.html it has...
> > > >
> > > > MMX SSE SSE2 SSE3 SSSE3
> > >
> > > Do you mean that it would be enough to set
> > > CFLAGS="-O2 -pipe mmx sse sse2 sse3 ssse3"
> > > without setting the march cflag at all?
> >
> >   Yes, that would work.  Remember also to include in make.conf
> >
> > CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 ssse3"
>
> The target processor does not support mmxext.

Strange enough but cpuid2cpuflags shows that it does:
# cpuid2cpuflags
CPU_FLAGS_X86: mmx mmxext sse sse2 sse3 ssse3

> >   In your jpeg image, I see that the flags include mmx, sse, sse2, pni,
> > and ssse3. "pni" == "Prescott New Instructions" == "SSE3".  Looking at
> > https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/x86-Options.html#x86-Options
> > I suggest "-march=core2" with CPU_FLAGS_X86 same as above.  The "core2"
> > option uses MMX, SSE, SSE2, SSE3 and SSSE3 instructions, all of which
> > show up in the listing on your jpeg.
>
> Thank you. Looking into https://wiki.gentoo.org/wiki/Safe_CFLAGS#Intel
> I also concluded that for the target processor I should set "-march=core2"
> but I did not know that core2 option is exactly equivalent to setting mmx,
> sse, sse2, sse3 and ssse3 instructions.
>
> So, I decided to spend a day to get my hands on the target computer
> and compile everything on it with "-march=native" no matter how much
> time it takes.
>
> To conclude this thread, I will post the output of the commands
> suggested in this thread later, after the system install will be finished,
> just in case somebody will need them in the future.



Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-24 Thread gevisz
Thanks to all who has replied to this thread so far.



Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-24 Thread gevisz
вс, 23 сент. 2018 г. в 10:10, Walter Dnes :
>
> On Thu, Sep 20, 2018 at 01:00:39AM +0300, gevisz wrote
> > , 19 . 2018 ??. ?? 11:38, Walter Dnes :
>
> > >  According to
> > > http://www.cpu-world.com/sspec/SL/SLA8Z.html it has...
> > >
> > > MMX SSE SSE2 SSE3 SSSE3
> >
> > Do you mean that it would be enough to set
> > CFLAGS="-O2 -pipe mmx sse sse2 sse3 ssse3"
> > without setting the march cflag at all?
>
>   Yes, that would work.  Remember also to include in make.conf
>
> CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 ssse3"

The target processor does not support mmxext.

>   In your jpeg image, I see that the flags include mmx, sse, sse2, pni,
> and ssse3. "pni" == "Prescott New Instructions" == "SSE3".  Looking at
> https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/x86-Options.html#x86-Options
> I suggest "-march=core2" with CPU_FLAGS_X86 same as above.  The "core2"
> option uses MMX, SSE, SSE2, SSE3 and SSSE3 instructions, all of which
> show up in the listing on your jpeg.

Thank you. Looking into https://wiki.gentoo.org/wiki/Safe_CFLAGS#Intel
I also concluded that for the target processor I should set "-march=core2"
but I did not know that core2 option is exactly equivalent to setting mmx,
sse, sse2, sse3 and ssse3 instructions.

So, I decided to spend a day to get my hands on the target computer
and compile everything on it with "-march=native" no matter how much
time it takes.

To conclude this thread, I will post the output of the commands
suggested in this thread later, after the system install will be finished,
just in case somebody will need them in the future.



Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-24 Thread james
On 9/23/18 3:09 AM, Walter Dnes wrote:
> On Thu, Sep 20, 2018 at 01:00:39AM +0300, gevisz wrote
>> , 19 . 2018 ??. ?? 11:38, Walter Dnes :
> 
>>>  According to
>>> http://www.cpu-world.com/sspec/SL/SLA8Z.html it has...
>>>
>>> MMX SSE SSE2 SSE3 SSSE3
>>
>> Do you mean that it would be enough to set
>> CFLAGS="-O2 -pipe mmx sse sse2 sse3 ssse3"
>> without setting the march cflag at all?
> 
>   Yes, that would work.  Remember also to include in make.conf
> 
> CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 ssse3"
> 
>   In your jpeg image, I see that the flags include mmx, sse, sse2, pni,
> and ssse3. "pni" == "Prescott New Instructions" == "SSE3".  Looking at
> https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/x86-Options.html#x86-Options
> I suggest "-march=core2" with CPU_FLAGS_X86 same as above.  The "core2"
> option uses MMX, SSE, SSE2, SSE3 and SSSE3 instructions, all of which
> show up in the listing on your jpeg.
> 
> https://en.wikipedia.org/wiki/SSE3
>> SSE3, Streaming SIMD Extensions 3, also known by its Intel code name
>> Prescott New Instructions (PNI), is the third iteration of the SSE
>> instruction set for the IA-32 (x86) architecture.
> 


https://wiki.gentoo.org/wiki/CPU_FLAGS_X86

and similar wiki pages are good links to reference.
MG (M. Gorny) has blogged on this subject too::

https://nlug.ml1.co.uk/2016/09/gentoo-portage-cpu_flags_x86-introduction-2015-01-28/5332

I'd be interested in blogs, irc, docs, etc, where distcc is being used
as part of a (gentoo-centric) CI/CD and/or cross-compiling for
smaller/older target systems, of any architecture (arm or mips or x86 or ?).


James



Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-24 Thread james
On 9/23/18 3:20 AM, Walter Dnes wrote:
> On Thu, Sep 20, 2018 at 01:00:39AM +0300, gevisz wrote
>> , 19 . 2018 ??. ?? 11:38, Walter Dnes :
> 
>>>  According to
>>> http://www.cpu-world.com/sspec/SL/SLA8Z.html it has...
>>>
>>> MMX SSE SSE2 SSE3 SSSE3
>>
>> Do you mean that it would be enough to set
>> CFLAGS="-O2 -pipe mmx sse sse2 sse3 ssse3"
>> without setting the march cflag at all?
> 
>   Yes, that would work.  Remember also to include in make.conf
> 
> CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 ssse3"
> 
>   In your jpeg image, I see that the flags include mmx, sse, sse2, pni,
> and ssse3. "pni" == "Prescott New Instructions" == "SSE3".  Looking at
> https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/x86-Options.html#x86-Options
> I suggest "-march=core2" with CPU_FLAGS_X86 same as above.  The "core2"
> option uses MMX, SSE, SSE2, SSE3 and SSSE3 instructions, all of which
> show up in the listing on your jpeg.
> 
> https://en.wikipedia.org/wiki/SSE3
>> SSE3, Streaming SIMD Extensions 3, also known by its Intel code name
>> Prescott New Instructions (PNI), is the third iteration of the SSE
>> instruction set for the IA-32 (x86) architecture.
> 

Here is some short docs (by MG) on the subject, that are good to save
for future reference::


https://nlug.ml1.co.uk/2016/09/gentoo-portage-cpu_flags_x86-introduction-2015-01-28/5332

or in the gentoo wiki::
https://wiki.gentoo.org/wiki/CPU_FLAGS_X86

Note, some years ago, distcc was excellent as I used it daily. Like
most codes it changes/stresses over the years. So follow distcc
details closely if you intend for it's dependable results. Perhaps
someone (gentoo) is using it in a CI/CD configuration, which would
be of keen interest to many.


hth,
James



Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-23 Thread Walter Dnes
On Thu, Sep 20, 2018 at 01:00:39AM +0300, gevisz wrote
> , 19 . 2018 ??. ?? 11:38, Walter Dnes :

> >  According to
> > http://www.cpu-world.com/sspec/SL/SLA8Z.html it has...
> >
> > MMX SSE SSE2 SSE3 SSSE3
> 
> Do you mean that it would be enough to set
> CFLAGS="-O2 -pipe mmx sse sse2 sse3 ssse3"
> without setting the march cflag at all?

  Yes, that would work.  Remember also to include in make.conf

CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 ssse3"

  In your jpeg image, I see that the flags include mmx, sse, sse2, pni,
and ssse3. "pni" == "Prescott New Instructions" == "SSE3".  Looking at
https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/x86-Options.html#x86-Options
I suggest "-march=core2" with CPU_FLAGS_X86 same as above.  The "core2"
option uses MMX, SSE, SSE2, SSE3 and SSSE3 instructions, all of which
show up in the listing on your jpeg.

https://en.wikipedia.org/wiki/SSE3
> SSE3, Streaming SIMD Extensions 3, also known by its Intel code name
> Prescott New Instructions (PNI), is the third iteration of the SSE
> instruction set for the IA-32 (x86) architecture.

-- 
Walter Dnes 
I don't run "desktop environments"; I run useful applications



Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-19 Thread Andrew Udvare


> On 2018-09-19, at 17:54, Jack  wrote:
> 
> Unless I'm missing something, I'm surprised nobody has mentioned one 
> potential problem.  Unless you are careful, code you compile for an AMD may 
> not run on an Intel.  If you are just going to compile binary packages to 
> move and install, this might be OK (assuming you don't trip over trying to 
> run test during a build.) You should be able to come up with settings so 
> compiled code will run on either architecture, but I have no idea what the 
> side effects might be, such as larger and/or less efficient code.  I almost 
> wonder if this doesn't count as cross-compiling, even though it is not a 
> totally incompatible architecture.  Hopefully someone can either expand on 
> this, or tell me why I'm barking up the wrong tree.

I've dealt with this problem before. The key is flags like -mtune=generic and 
not using -march=native. Optimisations should still be okay.

Andrew


Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-19 Thread gevisz
чт, 20 сент. 2018 г. в 0:56, Jack :
>
> On 9/19/18 5:45 PM, gevisz wrote:
> > вт, 18 сент. 2018 г. в 22:44, George Kettleborough :
> >> If you can run gcc on the new system first you can find out what flags
> >> -march=native would produce and use those. See:
> >> https://blogs.gentoo.org/mgorny/2014/06/23/inlining-marchnative-for-distcc/
> > Thank you for the link.
> >
> > It would be useful if I had an access to the target computer and decided
> > to set up distcc. May be I would. In the future. However, currently, I don't
> > have access to the target computer and hope to get without such an access.
> > Just with the full name of the processor and the output of lspci command
> > run on the target computer, which I got only a few minutes ago.
> > The corresponding image is attached to this e-mail.
> >> On Tue, 18 Sep 2018 at 08:24, gevisz  wrote:
> >>> Currently, I am prepairing to build Gentoo system on
> >>> computer with AMD Athlon 64 X2 for computer with
> >>> Intel Pentium Dual-Core E2160 SLA8Z Malay processor.
> >>>
> >>> What will be the correct march cflag for Intel Pentium
> >>> Dual-Core E2160 SLA8Z Malay processor to set up in
> >>> make.conf ?
> >>>
> >>> Am I right to use amd64 stage3 for Intel Pentium
> >>> Dual-Core E2160 SLA8Z Malay processor?
> >>>
> >>> Thank you in advance.
>
> Unless I'm missing something, I'm surprised nobody has mentioned one
> potential problem.  Unless you are careful, code you compile for an AMD
> may not run on an Intel.

Thank you for your reply. I want to compile on AMD the code for Intel.
If I did understand Gentoo manual correctly, it is possible if make.conf
is set up correctly.

> You should be able to come up with settings so compiled code will run
> on either architecture

No, I want to get Gentoo system optimized for the said Intel processor only.



Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-19 Thread gevisz
ср, 19 сент. 2018 г. в 11:38, Walter Dnes :
>
> On Tue, Sep 18, 2018 at 10:22:30AM +0300, gevisz wrote
>
> > What will be the correct march cflag for Intel Pentium
> > Dual-Core E2160 SLA8Z Malay processor to set up in
> > make.conf ?
>
>   If you have gcc *ON THE TARGET MACHINE*, execute the command...
>
> gcc -c -Q -march=native --help=target | grep march=
>
> ...to find out what "-march=native" yields.

Unfortunately, currently, I don't have an access to the target
computer. Can I use the output of lspci instead of the command
above? I have just got it by e-mail and attached the corresponding
image to one of my previous replies in this thread.

>  According to
> http://www.cpu-world.com/sspec/SL/SLA8Z.html it has...
>
> MMX SSE SSE2 SSE3 SSSE3

Do you mean that it would be enough to set
CFLAGS="-O2 -pipe mmx sse sse2 sse3 ssse3"
without setting the march cflag at all?

> > Am I right to use amd64 stage3 for Intel Pentium
> > Dual-Core E2160 SLA8Z Malay processor?
>
>   Yes... assuming you want 64-bit mode.

Ok. Thank you for your reply.



Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-19 Thread Jack

On 9/19/18 5:45 PM, gevisz wrote:

вт, 18 сент. 2018 г. в 22:44, George Kettleborough :

If you can run gcc on the new system first you can find out what flags
-march=native would produce and use those. See:
https://blogs.gentoo.org/mgorny/2014/06/23/inlining-marchnative-for-distcc/

Thank you for the link.

It would be useful if I had an access to the target computer and decided
to set up distcc. May be I would. In the future. However, currently, I don't
have access to the target computer and hope to get without such an access.
Just with the full name of the processor and the output of lspci command
run on the target computer, which I got only a few minutes ago.
The corresponding image is attached to this e-mail.

On Tue, 18 Sep 2018 at 08:24, gevisz  wrote:

Currently, I am prepairing to build Gentoo system on
computer with AMD Athlon 64 X2 for computer with
Intel Pentium Dual-Core E2160 SLA8Z Malay processor.

What will be the correct march cflag for Intel Pentium
Dual-Core E2160 SLA8Z Malay processor to set up in
make.conf ?

Am I right to use amd64 stage3 for Intel Pentium
Dual-Core E2160 SLA8Z Malay processor?

Thank you in advance.


Unless I'm missing something, I'm surprised nobody has mentioned one 
potential problem.  Unless you are careful, code you compile for an AMD 
may not run on an Intel.  If you are just going to compile binary 
packages to move and install, this might be OK (assuming you don't trip 
over trying to run test during a build.) You should be able to come up 
with settings so compiled code will run on either architecture, but I 
have no idea what the side effects might be, such as larger and/or less 
efficient code.  I almost wonder if this doesn't count as 
cross-compiling, even though it is not a totally incompatible 
architecture.  Hopefully someone can either expand on this, or tell me 
why I'm barking up the wrong tree.


Jack





Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-19 Thread gevisz
ср, 19 сент. 2018 г. в 0:53, james :
>
> On 9/18/18 3:22 AM, gevisz wrote:
> > Currently, I am prepairing to build Gentoo system on
> > computer with AMD Athlon 64 X2 for computer with
> > Intel Pentium Dual-Core E2160 SLA8Z Malay processor.
> >
> > What will be the correct march cflag for Intel Pentium
> > Dual-Core E2160 SLA8Z Malay processor to set up in
> > make.conf ?
> >
> > Am I right to use amd64 stage3 for Intel Pentium
> > Dual-Core E2160 SLA8Z Malay processor?
>
> Once the system is 'boostrapped', you can run cpuinfo
> and look at the flags listed therein. There are way less
> gentoo flags one can set for a CPU, than what cpuinfo reveals.
> Also some might not be a good idea to set; you have to ferret
> out those details per your cpu(s).

Thank you for your reply.

Unfortunately, currently, I don't have an access to the target
computer. Can I use the output of lspci instead of cpuinfo?
I have just got it by e-mail and attached the corresponding
image to my previous reply in this thread.



Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-19 Thread gevisz
вт, 18 сент. 2018 г. в 22:44, George Kettleborough :
>
> If you can run gcc on the new system first you can find out what flags
> -march=native would produce and use those. See:
> https://blogs.gentoo.org/mgorny/2014/06/23/inlining-marchnative-for-distcc/

Thank you for the link.

It would be useful if I had an access to the target computer and decided
to set up distcc. May be I would. In the future. However, currently, I don't
have access to the target computer and hope to get without such an access.
Just with the full name of the processor and the output of lspci command
run on the target computer, which I got only a few minutes ago.
The corresponding image is attached to this e-mail.

> On Tue, 18 Sep 2018 at 08:24, gevisz  wrote:
> >
> > Currently, I am prepairing to build Gentoo system on
> > computer with AMD Athlon 64 X2 for computer with
> > Intel Pentium Dual-Core E2160 SLA8Z Malay processor.
> >
> > What will be the correct march cflag for Intel Pentium
> > Dual-Core E2160 SLA8Z Malay processor to set up in
> > make.conf ?
> >
> > Am I right to use amd64 stage3 for Intel Pentium
> > Dual-Core E2160 SLA8Z Malay processor?
> >
> > Thank you in advance.
> >
>


Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-19 Thread Walter Dnes
On Tue, Sep 18, 2018 at 10:22:30AM +0300, gevisz wrote

> What will be the correct march cflag for Intel Pentium
> Dual-Core E2160 SLA8Z Malay processor to set up in
> make.conf ?

  If you have gcc *ON THE TARGET MACHINE*, execute the command...

gcc -c -Q -march=native --help=target | grep march=

...to find out what "-march=native" yields.  According to
http://www.cpu-world.com/sspec/SL/SLA8Z.html it has...

MMX SSE SSE2 SSE3 SSSE3

> Am I right to use amd64 stage3 for Intel Pentium
> Dual-Core E2160 SLA8Z Malay processor?

  Yes... assuming you want 64-bit mode.

-- 
Walter Dnes 
I don't run "desktop environments"; I run useful applications



Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-18 Thread james
On 9/18/18 3:22 AM, gevisz wrote:
> Currently, I am prepairing to build Gentoo system on
> computer with AMD Athlon 64 X2 for computer with
> Intel Pentium Dual-Core E2160 SLA8Z Malay processor.
> 
> What will be the correct march cflag for Intel Pentium
> Dual-Core E2160 SLA8Z Malay processor to set up in
> make.conf ?
> 
> Am I right to use amd64 stage3 for Intel Pentium
> Dual-Core E2160 SLA8Z Malay processor?

Once the system is 'boostrapped', you can run cpuinfo
and look at the flags listed therein. There are way less
gentoo flags one can set for a CPU, than what cpuinfo reveals.
Also some might not be a good idea to set; you have to ferret
out those details per your cpu(s).


hth,
James





Re: [gentoo-user] march cflag for Intel Pentium Dual-Core E2160 SLA8Z Malay processor

2018-09-18 Thread George Kettleborough
If you can run gcc on the new system first you can find out what flags
-march=native would produce and use those. See:
https://blogs.gentoo.org/mgorny/2014/06/23/inlining-marchnative-for-distcc/

George.

On Tue, 18 Sep 2018 at 08:24, gevisz  wrote:
>
> Currently, I am prepairing to build Gentoo system on
> computer with AMD Athlon 64 X2 for computer with
> Intel Pentium Dual-Core E2160 SLA8Z Malay processor.
>
> What will be the correct march cflag for Intel Pentium
> Dual-Core E2160 SLA8Z Malay processor to set up in
> make.conf ?
>
> Am I right to use amd64 stage3 for Intel Pentium
> Dual-Core E2160 SLA8Z Malay processor?
>
> Thank you in advance.
>