WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
227201
Add a new pattern to instruction selector to use BFI supported by ARM64
https://bugs.webkit.org/show_bug.cgi?id=227201
Summary
Add a new pattern to instruction selector to use BFI supported by ARM64
Yijia Huang
Reported
2021-06-20 21:51:58 PDT
...
Attachments
Patch
(30.46 KB, patch)
2021-06-24 01:50 PDT
,
Yijia Huang
no flags
Details
Formatted Diff
Diff
Patch
(23.51 KB, patch)
2021-06-24 10:20 PDT
,
Yijia Huang
no flags
Details
Formatted Diff
Diff
Patch
(23.34 KB, patch)
2021-06-24 10:29 PDT
,
Yijia Huang
no flags
Details
Formatted Diff
Diff
Patch
(25.79 KB, patch)
2021-06-24 13:31 PDT
,
Yijia Huang
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Yijia Huang
Comment 1
2021-06-24 01:50:57 PDT
Created
attachment 432140
[details]
Patch
Filip Pizlo
Comment 2
2021-06-24 09:22:17 PDT
Comment on
attachment 432140
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=432140&action=review
> Source/JavaScriptCore/ChangeLog:28 > + Pattern 2: > + mask1 = (1 << width) - 1 > + mask2 = ~(mask1 << lsb) > + d = ((n & mask1) << lsb) | (d & mask2) > + > + Pattern 3: > + mask1 = (1 << width) - 1 > + d = ((n & mask1) << lsb) | d
Is this right? Say that d = 0x42424242 Say that mask1 = 0xFF Say that mask2 = 0xFF00FFFF Say that lsb = 16 Say that n = 0xBC Note that 0x42 | 0xBC = 0xFE With pattern 2, we will get: ((0xBC & 0xFF) << 16) | (0x42424242 & 0xFF00FFFF) = 0xBC0000 | 0x42004242 = 0x42BC4242 With pattern 3, we will get: ((0xBC & 0xFF) << 16) | 0x42424242 = 0xBC0000 | 0x42424242 = 0x42FE4242 I don't think they're equivalent patterns.
Yijia Huang
Comment 3
2021-06-24 10:20:12 PDT
Created
attachment 432184
[details]
Patch
Yijia Huang
Comment 4
2021-06-24 10:29:30 PDT
Created
attachment 432185
[details]
Patch
Yijia Huang
Comment 5
2021-06-24 10:47:17 PDT
(In reply to Filip Pizlo from
comment #2
)
> Comment on
attachment 432140
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=432140&action=review
> > > Source/JavaScriptCore/ChangeLog:28 > > + Pattern 2: > > + mask1 = (1 << width) - 1 > > + mask2 = ~(mask1 << lsb) > > + d = ((n & mask1) << lsb) | (d & mask2) > > + > > + Pattern 3: > > + mask1 = (1 << width) - 1 > > + d = ((n & mask1) << lsb) | d > > Is this right? > > Say that d = 0x42424242 > Say that mask1 = 0xFF > Say that mask2 = 0xFF00FFFF > Say that lsb = 16 > Say that n = 0xBC > > Note that 0x42 | 0xBC = 0xFE > > With pattern 2, we will get: > > ((0xBC & 0xFF) << 16) | (0x42424242 & 0xFF00FFFF) > = 0xBC0000 | 0x42004242 > = 0x42BC4242 > > With pattern 3, we will get: > > ((0xBC & 0xFF) << 16) | 0x42424242 > = 0xBC0000 | 0x42424242 > = 0x42FE4242 > > I don't think they're equivalent patterns.
Thanks. I have fixed that.
Yijia Huang
Comment 6
2021-06-24 13:31:16 PDT
Created
attachment 432205
[details]
Patch
EWS
Comment 7
2021-06-24 15:50:26 PDT
Committed
r279249
(
239133@main
): <
https://commits.webkit.org/239133@main
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 432205
[details]
.
Yusuke Suzuki
Comment 8
2021-06-24 16:47:48 PDT
Committed
r279253
(
239137@main
): <
https://commits.webkit.org/239137@main
>
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