WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
19803
Merge multiple loads into a single instruction
https://bugs.webkit.org/show_bug.cgi?id=19803
Summary
Merge multiple loads into a single instruction
Cameron Zwarich (cpst)
Reported
2008-06-28 16:21:37 PDT
Since (load, load) is one of the most common instruction pairs on SunSpider and load has one of the smallest instruction bodies, this sounds like a good idea. However, all of my attempts to implement it lead to massive regressions on SunSpider, even if I don't even use the opcode. This points to a random GCC problem, so I'll post the code to see if we can fix it together.
Attachments
Patch that causes regression
(6.13 KB, patch)
2008-06-28 16:24 PDT
,
Cameron Zwarich (cpst)
no flags
Details
Formatted Diff
Diff
Patch that improves performance
(6.04 KB, patch)
2008-06-29 20:14 PDT
,
Cameron Zwarich (cpst)
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Cameron Zwarich (cpst)
Comment 1
2008-06-28 16:24:21 PDT
Created
attachment 21990
[details]
Patch that causes regression Here is a patch that causes a performance regression of about 8% on SunSpider, despite the opcode not even being used. I originally had the opcode after op_load, but even moving it near the end didn't fix the regression.
Cameron Zwarich (cpst)
Comment 2
2008-06-29 19:47:41 PDT
The same thing happens with op_mov2.
Cameron Zwarich (cpst)
Comment 3
2008-06-29 20:14:03 PDT
Created
attachment 22001
[details]
Patch that improves performance I changed the code to evade GCC and now get a 0.2% progression. Maybe I could do better if I moved the opcode elsewhere?
Cameron Zwarich (cpst)
Comment 4
2008-09-04 00:58:22 PDT
This optimization was performed by different means in
bug 20286
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug