Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: Ffmpeg Emerge Problem
Date: Wed, 11 Mar 2015 03:25:36
Message-Id: pan$c031b$9db29c9c$1c0d1b$c587a8b1@cox.net
In Reply to: Re: [gentoo-amd64] Ffmpeg Emerge Problem by Mark Knecht
1 Mark Knecht posted on Tue, 10 Mar 2015 17:40:33 -0700 as excerpted:
2
3 > On Tue, Mar 10, 2015 at 5:27 PM, Frank Peters <frank.peters@×××××××.net>
4 > wrote:
5 >> On Tue, 10 Mar 2015 17:17:11 -0700 Mark Knecht <markknecht@×××××.com>
6 >> wrote:
7 >>
8 >>
9 >>> I've had no problems, as best I can tell, with ffmpeg and these
10 >>> settings.
11 >>>
12 >>>
13 >> Well, if the use of the mmxext flag leads to instructions in the
14 >> compiled code which the cpu does not have, then CRASH.
15 >>
16 >> But the SSE instruction sets supersede MMX (and mmxext) and so the
17 >> mmxext flag is really unnecessary on Core i7 and many newer processors.
18 >> (Ffmpeg may have reasons for still using MMX but I don't know.)
19 >>
20 >> Frank Peters
21 >
22 > True, but I don't think it's likely as the old mmxext flags (AMD only
23 > possibly?) became a subset of SSE. That said, report the bug and copy us
24 > on the report. I'd be interested in hearing what the developers say.
25
26 AFAIK (and verified by wikipedia, see the links below), all amd64 aka
27 x86_64 CPUs ship with mmx/mmxext/sse/sse2. It was part of the base amd64
28 spec, and as such, mmxext should be considered available on any amd64
29 based machine.
30
31 More specifically, according to wikipedia, AMD's second generation 3DNow
32 (called various things, there was apparently never an official name) was
33 introduced in the first-gen Athlon CPUs. The combined 24 new
34 instructions were segregated into 5 new 3DNow instructions and 19 new MMX
35 instructions in tech manuals, and some pre-amd64 CPUs actually shipped
36 with the 5 additional 3DNow instructions only, while customer-focused
37 literature tended to blur the lines and refer to the 24 instructions
38 combined as enhanced 3DNow technology.
39
40 Meanwhile, the 19 new MMX instructions were a subset of Intel's SSE (v1)
41 instruction set. This SSE subset of 19 instructions is apparently what
42 mmxext actually refers to. Thus, anything with sse in the cpuflags by
43 definition has mmxext as well.
44
45 So you can actually verify your CPU mmxext safe using two different
46 methods. (1) It's in the amd64/x86_64 baseline definition, so if your
47 machine is amd64/X86_64, it's automatically mmxext. (2) SSE supersets
48 mmxext, so if sse appears in the cpuflags, it's automatically mmxext as
49 well.
50
51
52 https://en.wikipedia.org/wiki/3DNow!#3DNow_extensions
53
54 (In particular, see the 3DNow or MMX Extensions paragraph.)
55
56 https://en.wikipedia.org/wiki/X86-64#Architectural_features
57
58 (In particular, see the SSE Instructions paragraph.)
59
60
61 --
62 Duncan - List replies preferred. No HTML msgs.
63 "Every nonfree program has a lord, a master --
64 and if you use the program, he is your master." Richard Stallman

Replies

Subject Author
Re: [gentoo-amd64] Re: Ffmpeg Emerge Problem Frank Peters <frank.peters@×××××××.net>