2014-05-09 13:24 GMT-04:00 Rik Cabanier <caban...@gmail.com>:

>
>
>
> On Fri, May 9, 2014 at 10:14 AM, Benoit Jacob <jacob.benoi...@gmail.com>wrote:
>
>> Totally agree that 1% is probably still too much to drop, but the 4x drop
>> over the past two years makes me hopeful that we'll be able to drop
>> non-SSE2, eventually.
>>
>> SSE2 is not just about SIMD. The most important thing it buys us IMHO is
>> to
>> be able to not use x87 instructions anymore and instead use SSE2 (scalar)
>> instructions. That removes entire classes of bugs caused by x87 being
>> non-IEEE754-compliant with its crazy 80-bit registers.
>>
>
> Out of interest, do you have links to bugs for this issue?
>

No: there are the bugs we probably have but don't know about; and there are
the things that we caught in time and caused us to give up on approaches
before they would become patches... I don't have an example of a bug we
found after the fact.


>
> Also, can't you ask the compiler to produce both sse and non-sse code and
> make a decision at runtime?
>

Not that I know of. At least GCC documentation does no list anything about
that here, http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86-64-Options.html

-mfpmath=both or -mfpmath=sse+387 does not seem to be doing that; instead
it seems to be about using both in the same code path.

Benoit


>
>
>> 2014-05-09 13:01 GMT-04:00 Chris Peterson <cpeter...@mozilla.com>:
>>
>> > What does requiring SSE2 buy us? 1% of hundreds of millions of Firefox
>> > users is still millions of people.
>> >
>> > chris
>> >
>> >
>> >
>> > On 5/8/14, 5:42 PM, matthew.br...@gmail.com wrote:
>> >
>> >> On Tuesday, January 3, 2012 4:37:53 PM UTC-8, Benoit Jacob wrote:
>> >>
>> >>> 2012/1/3 Jeff Muizelaar <jmuizel...@mozilla.com>:
>> >>>
>> >>>
>> >>>>
>> >>>  On 2012-01-03, at 2:01 PM, Benoit Jacob wrote:
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>  2012/1/2 Robert Kaiser <ka...@kairo.at>:
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>  Jean-Marc Desperrier schrieb:
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>
>> >>>>
>> >>>  According to https://bugzilla.mozilla.org/show_bug.cgi?id=594160#c6,
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>  the Raw Dump tab on crash-stats.mozilla.com shows the needed
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>  information, you need to sort out from the info on the second line
>> CPU
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>  maker, family, model, and stepping information whether SSE2 is there
>> or
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>  not (With a little search, I can find that info again, bug 593117
>> gives
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>  a formula that's correct for most of the cases).
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>
>> >>>>
>> >>>
>> >>>>
>> >>>  https://crash-analysis.mozilla.com/crash_analysis/ holds
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>  *-pub-crashdata.csv.gz files that have that info from all Firefox
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>  desktop/mobile crashes on a given day, you should be able to analyze
>> >>>> that
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>  for this info - with a bias, of course, as it's only people having
>> >>>> crashes
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>  that you see there. No idea if the less biased telemetry samples have
>> >>>> that
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>  info as well.
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>
>> >>>>
>> >>>  On yesterday's crash data, assuming that AuthenticAMD\ family\
>> >>>>
>> >>>
>> >>>  [1-6][^0-9]  is the proper way to identify these old AMD CPUs (I
>> >>>>
>> >>>
>> >>>  didn't check that very well), I get these results:
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>
>> >>>>
>> >>>  The measurement I have used in the past was:
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>  CPUs have sse2 if:
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>  if vendor == AuthenticAMD and family >= 15
>> >>>>
>> >>>
>> >>>  if vendor == GenuineIntel and family >= 15 or (family == 6 and (model
>> >>>> == 9
>> >>>>
>> >>>
>> >>>  or model > 11))
>> >>>>
>> >>>
>> >>>  if vendor == CentaurHauls and family >= 6 and model >= 10
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>
>> >>>
>> >>> Thanks.
>> >>>
>> >>>
>> >>>
>> >>> AMD and Intel CPUs amount to 296362 crashes:
>> >>>
>> >>>
>> >>>
>> >>> bjacob@cahouette:~$ egrep AuthenticAMD\|GenuineIntel
>> >>>
>> >>> 20120102-pub-crashdata.csv | wc -l
>> >>>
>> >>> 296362
>> >>>
>> >>>
>> >>>
>> >>> Counting SSE2-capable CPUs:
>> >>>
>> >>>
>> >>>
>> >>> bjacob@cahouette:~$ egrep GenuineIntel\ family\ 1[5-9]
>> >>>
>> >>> 20120102-pub-crashdata.csv | wc -l
>> >>>
>> >>> 58490
>> >>>
>> >>> bjacob@cahouette:~$ egrep GenuineIntel\ family\ [2-9][0-9]
>> >>>
>> >>> 20120102-pub-crashdata.csv | wc -l
>> >>>
>> >>> 0
>> >>>
>> >>> bjacob@cahouette:~$ egrep GenuineIntel\ family\ 6\ model\ 9
>> >>>
>> >>> 20120102-pub-crashdata.csv | wc -l
>> >>>
>> >>> 792
>> >>>
>> >>> bjacob@cahouette:~$ egrep GenuineIntel\ family\ 6\ model\ 1[2-9]
>> >>>
>> >>> 20120102-pub-crashdata.csv | wc -l
>> >>>
>> >>> 52473
>> >>>
>> >>> bjacob@cahouette:~$ egrep GenuineIntel\ family\ 6\ model\ [2-9][0-9]
>> >>>
>> >>> 20120102-pub-crashdata.csv | wc -l
>> >>>
>> >>> 103655
>> >>>
>> >>> bjacob@cahouette:~$ egrep AuthenticAMD\ family\ 1[5-9]
>> >>>
>> >>> 20120102-pub-crashdata.csv | wc -l
>> >>>
>> >>> 59463
>> >>>
>> >>> bjacob@cahouette:~$ egrep AuthenticAMD\ family\ [2-9][0-9]
>> >>>
>> >>> 20120102-pub-crashdata.csv | wc -l
>> >>>
>> >>> 8120
>> >>>
>> >>>
>> >>>
>> >>> Total SSE2 capable CPUs:
>> >>>
>> >>>
>> >>>
>> >>> 58490 + 792 + 52473 + 103655 + 59463 + 8120 = 282993
>> >>>
>> >>>
>> >>>
>> >>> 1 - 282993 / 296362 = 0.045
>> >>>
>> >>>
>> >>>
>> >>> So the proportion of non-SSE2-capable CPUs among crash reports is 4.5
>> %.
>> >>>
>> >>
>> >> Just for the record, I coded this analysis up here:
>> >> https://gist.github.com/matthew-brett/9cb5274f7451a3eb8fc0
>> >>
>> >> SSE2 apparently now at about one percent:
>> >>
>> >>      20120102-pub-crashdata.csv.gz: 4.53
>> >>      20120401-pub-crashdata.csv.gz: 4.24
>> >>      20120701-pub-crashdata.csv.gz: 2.77
>> >>      20121001-pub-crashdata.csv.gz: 2.83
>> >>      20130101-pub-crashdata.csv.gz: 2.66
>> >>      20130401-pub-crashdata.csv.gz: 2.59
>> >>      20130701-pub-crashdata.csv.gz: 2.20
>> >>      20131001-pub-crashdata.csv.gz: 1.92
>> >>      20140101-pub-crashdata.csv.gz: 1.86
>> >>      20140401-pub-crashdata.csv.gz: 1.12
>> >>
>> >> Cheers,
>> >>
>> >> Matthew
>> >>
>> >>
>> > _______________________________________________
>> > dev-platform mailing list
>> > dev-platform@lists.mozilla.org
>> > https://lists.mozilla.org/listinfo/dev-platform
>> >
>> _______________________________________________
>> dev-platform mailing list
>> dev-platform@lists.mozilla.org
>> https://lists.mozilla.org/listinfo/dev-platform
>>
>
>
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to