-
rmcilroy@chromium.org authored
Setting the FPSCR flags is expensive on some CPUs. Get rid of repeated setting of the FPSCR by relying on the correct default flags being set when doing uint8 clamping. Also use vcvt_u32_f64 instead of vcvt_s32_f64, which enables removing the check against zero (vcvt_u32_f64 will clamp to zero). To be on the safe side, add asserts to check that the VFP rounding mode flags are set to default as expected. This increases performance of a hot loop repeatedly setting Uint8ClampedArray values on some CPUs by as much as a factor of 12. BUG=v8:3253 LOG=N R=jacob.bramley@arm.com, rmcilroy@chromium.org, ulan@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=20676 Review URL: https://codereview.chromium.org/230473005 Patch from Olli Etuaho <oetuaho@nvidia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
6a3e92b9