[chromium-dev] Re: Chromium Without SSe2
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
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
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
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
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
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
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
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
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
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
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
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
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 -~--~~~~--~~--~--~---