[chromium-dev] Re: Chromium Without SSe2

2009-09-23 Thread Adam Langley

2009/9/22 Ujjwol (उज्जवल लामिछाने) ujjwollamichh...@gmail.com:
 But I cannot find base.common.gypi in the source tarball of the
 chromium. How should I fix this problem ?

Opps, there was a typo on that wiki page which I've now fixed. The
correct location is build/common.gypi.


AGL

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Chromium Without SSe2

2009-09-23 Thread Dan Kegel

Does our default build really depend on -msse2 anymore?  Doesn't
seem to on linux...

2009/9/22 Ujjwol (उज्जवल लामिछाने) ujjwollamichh...@gmail.com:

 This (http://code.google.com/p/chromium/wiki/LinuxPackaging) page says
 that
 For silly reasons our default build depends on SSE, but we don't
 actually need. Search base/common.gypi and patch out the -msse2 bits
 before building your package.

 But I cannot find base.common.gypi in the source tarball of the
 chromium. How should I fix this solution.

 I am wanting to run chromium on XO which has a Geode processor.
 And I would be helpful if anybody points me to the download page where
 chromium without SSe2 can be found.

 Thanks in Advance
 Ujjwol

 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Chromium Without SSe2

2009-09-23 Thread Evan Martin

The code doesn't lie:

   'conditions': [
  ['branding==Chromium', {
'cflags': [
  '-march=pentium4',
  '-msse2',
  '-mfpmath=sse',
],
  }],
],


http://code.google.com/p/chromium/issues/detail?id=8475

On Wed, Sep 23, 2009 at 11:00 AM, Dan Kegel d...@kegel.com wrote:

 Does our default build really depend on -msse2 anymore?  Doesn't
 seem to on linux...

 2009/9/22 Ujjwol (उज्जवल लामिछाने) ujjwollamichh...@gmail.com:

 This (http://code.google.com/p/chromium/wiki/LinuxPackaging) page says
 that
 For silly reasons our default build depends on SSE, but we don't
 actually need. Search base/common.gypi and patch out the -msse2 bits
 before building your package.

 But I cannot find base.common.gypi in the source tarball of the
 chromium. How should I fix this solution.

 I am wanting to run chromium on XO which has a Geode processor.
 And I would be helpful if anybody points me to the download page where
 chromium without SSe2 can be found.

 Thanks in Advance
 Ujjwol

 


 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Chromium Without SSe2

2009-09-23 Thread Dan Kegel

Oddly, I can still install fine on my pentium III laptop, I think.

On Wed, Sep 23, 2009 at 11:02 AM, Evan Martin e...@chromium.org wrote:
 The code doesn't lie:

           'conditions': [
              ['branding==Chromium', {
                'cflags': [
                  '-march=pentium4',
                  '-msse2',
                  '-mfpmath=sse',
                ],
              }],
            ],


 http://code.google.com/p/chromium/issues/detail?id=8475

 On Wed, Sep 23, 2009 at 11:00 AM, Dan Kegel d...@kegel.com wrote:

 Does our default build really depend on -msse2 anymore?  Doesn't
 seem to on linux...

 2009/9/22 Ujjwol (उज्जवल लामिछाने) ujjwollamichh...@gmail.com:

 This (http://code.google.com/p/chromium/wiki/LinuxPackaging) page says
 that
 For silly reasons our default build depends on SSE, but we don't
 actually need. Search base/common.gypi and patch out the -msse2 bits
 before building your package.

 But I cannot find base.common.gypi in the source tarball of the
 chromium. How should I fix this solution.

 I am wanting to run chromium on XO which has a Geode processor.
 And I would be helpful if anybody points me to the download page where
 chromium without SSe2 can be found.

 Thanks in Advance
 Ujjwol

 


 



--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Chromium Without SSe2

2009-09-23 Thread Mark Mentovai
Is there a reason we gate this on branding?  The comment doesn't speak
to that at all.

Evan Martin wrote:
 The code doesn't lie:

           'conditions': [
              ['branding==Chromium', {
                'cflags': [
                  '-march=pentium4',
                  '-msse2',
                  '-mfpmath=sse',
                ],
              }],
            ],

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Chromium Without SSe2

2009-09-23 Thread Lei Zhang

Google Chrome builds without SSE2.

On Wed, Sep 23, 2009 at 11:16 AM, Dan Kegel d...@kegel.com wrote:

 Oddly, I can still install fine on my pentium III laptop, I think.

 On Wed, Sep 23, 2009 at 11:02 AM, Evan Martin e...@chromium.org wrote:
 The code doesn't lie:

           'conditions': [
              ['branding==Chromium', {
                'cflags': [
                  '-march=pentium4',
                  '-msse2',
                  '-mfpmath=sse',
                ],
              }],
            ],


 http://code.google.com/p/chromium/issues/detail?id=8475

 On Wed, Sep 23, 2009 at 11:00 AM, Dan Kegel d...@kegel.com wrote:

 Does our default build really depend on -msse2 anymore?  Doesn't
 seem to on linux...

 2009/9/22 Ujjwol (उज्जवल लामिछाने) ujjwollamichh...@gmail.com:

 This (http://code.google.com/p/chromium/wiki/LinuxPackaging) page says
 that
 For silly reasons our default build depends on SSE, but we don't
 actually need. Search base/common.gypi and patch out the -msse2 bits
 before building your package.

 But I cannot find base.common.gypi in the source tarball of the
 chromium. How should I fix this solution.

 I am wanting to run chromium on XO which has a Geode processor.
 And I would be helpful if anybody points me to the download page where
 chromium without SSe2 can be found.

 Thanks in Advance
 Ujjwol

 


 



 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Chromium Without SSe2

2009-09-23 Thread Dan Kegel

It's so our tests pass, I think.

On Wed, Sep 23, 2009 at 11:20 AM, Mark Mentovai m...@chromium.org wrote:
 Is there a reason we gate this on branding?  The comment doesn't speak
 to that at all.

 Evan Martin wrote:
 The code doesn't lie:

           'conditions': [
              ['branding==Chromium', {
                'cflags': [
                  '-march=pentium4',
                  '-msse2',
                  '-mfpmath=sse',
                ],
              }],
            ],


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Chromium Without SSe2

2009-09-23 Thread Mark Mentovai

Dan Kegel wrote:
 It's so our tests pass, I think.

We don't have tests for nothing.

If a test exposes a case where something requires 53/64-bit IEEE
double precision as opposed to 64/80-bit double extended, and we're
changing our configuration to make tests pass but then releasing in
another configuration where those same tests wouldn't pass, we're
doing something wrong.  Using SSE2 floating-point operations in a
configuration that we test and then using x87 floating-point
operations in a configuration that we release is completely bogus.

Mark

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Chromium Without SSe2

2009-09-23 Thread Evan Martin

On Wed, Sep 23, 2009 at 11:26 AM, Mark Mentovai m...@chromium.org wrote:
 If a test exposes a case where something requires 53/64-bit IEEE
 double precision as opposed to 64/80-bit double extended, and we're
 changing our configuration to make tests pass but then releasing in
 another configuration where those same tests wouldn't pass, we're
 doing something wrong.  Using SSE2 floating-point operations in a
 configuration that we test and then using x87 floating-point
 operations in a configuration that we release is completely bogus.

I agree; hence the bug.

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Chromium Without SSe2

2009-09-23 Thread Adam Langley

On Wed, Sep 23, 2009 at 11:26 AM, Mark Mentovai m...@chromium.org wrote:
 doing something wrong.  Using SSE2 floating-point operations in a
 configuration that we test and then using x87 floating-point
 operations in a configuration that we release is completely bogus.

The reality of the situation:

* x87 doubles are 80-bits in registers and 64-bits in memory. This
means that changing the optimisation flags of the compiler (and thus
the spill profile of the code) changes rounding errors.
* So, using x87 means that we would need two sets of image baselines:
debug and release. It also means that different versions of GCC might
end up needing their own baselines.
* However, some people don't have SSE2 processors, so requiring it in
Chrome branded builds would exclude them.

I believe the current situation, impure as it is, is the best answer.


AGL

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Chromium Without SSe2

2009-09-23 Thread Mark Mentovai

Adam Langley wrote:
 * x87 doubles are 80-bits in registers and 64-bits in memory.

Depending on the state of the x87 floating point control word.

Can bracket significant test-impacting floating point operations with
fldcw or do something else in that code to force spills to memory?

I'm aware of the performance implication of mucking with the floating
point control register on older CPUs.  I'm also aware that some GNU
libm functions assume that the x87 is set to 64/80-bit precision.
Maybe we care, maybe we don't.  Maybe we can just set the register to
53/64-bit precision on renderer threads and leave it that way.

If we can't require SSE2 as a baseline on Linux, and I'd agree that we
can't, then it seems that we should find a way to do the right things
within the confines of the x87 instruction set.

Is the issue simply test results are different due to rounding, or
are there actually cases where a spec requires that we do
floating-point operations in a certain mode?  (I know that the JS and
XSL or XPath specs fall into the latter bucket.)

Mark

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Chromium Without SSe2

2009-09-23 Thread Ian Fette

Basically all Intel CPUs since Pentium 4 (since year 2000) support
SSE2, as well as AMD K8 CPUs. The main group seemingly left out is
Athlons pre-K8 (e.g. the non-64 bit versions available through 2005).

Do we have any sense of how big a market is? Is this basically the
same thing as Win2K where it's a small user base that is shrinking?

2009/9/23 Adam Langley a...@chromium.org:

 On Wed, Sep 23, 2009 at 11:26 AM, Mark Mentovai m...@chromium.org wrote:
 doing something wrong.  Using SSE2 floating-point operations in a
 configuration that we test and then using x87 floating-point
 operations in a configuration that we release is completely bogus.

 The reality of the situation:

 * x87 doubles are 80-bits in registers and 64-bits in memory. This
 means that changing the optimisation flags of the compiler (and thus
 the spill profile of the code) changes rounding errors.
 * So, using x87 means that we would need two sets of image baselines:
 debug and release. It also means that different versions of GCC might
 end up needing their own baselines.
 * However, some people don't have SSE2 processors, so requiring it in
 Chrome branded builds would exclude them.

 I believe the current situation, impure as it is, is the best answer.


 AGL

 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Chromium Without SSe2

2009-09-23 Thread Jeremy Orlow
On Wed, Sep 23, 2009 at 11:30 AM, Evan Martin e...@chromium.org wrote:


 On Wed, Sep 23, 2009 at 11:26 AM, Mark Mentovai m...@chromium.org wrote:
  If a test exposes a case where something requires 53/64-bit IEEE
  double precision as opposed to 64/80-bit double extended, and we're
  changing our configuration to make tests pass but then releasing in
  another configuration where those same tests wouldn't pass, we're
  doing something wrong.  Using SSE2 floating-point operations in a
  configuration that we test and then using x87 floating-point
  operations in a configuration that we release is completely bogus.

 I agree; hence the bug.


To be fair, the bug has been around for 6 months.  So it's not like it's a
temporary hack.


On Wed, Sep 23, 2009 at 11:33 AM, Adam Langley a...@chromium.org wrote:


 On Wed, Sep 23, 2009 at 11:26 AM, Mark Mentovai m...@chromium.org wrote:
  doing something wrong.  Using SSE2 floating-point operations in a
  configuration that we test and then using x87 floating-point
  operations in a configuration that we release is completely bogus.

 The reality of the situation:

 * x87 doubles are 80-bits in registers and 64-bits in memory. This
 means that changing the optimisation flags of the compiler (and thus
 the spill profile of the code) changes rounding errors.
 * So, using x87 means that we would need two sets of image baselines:
 debug and release. It also means that different versions of GCC might
 end up needing their own baselines.
 * However, some people don't have SSE2 processors, so requiring it in
 Chrome branded builds would exclude them.

 I believe the current situation, impure as it is, is the best answer.


I agree that this one case seems fine, but are we positive there are no
other differences in how the two apps behave when compiled with this flag?

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---