Bug 136435

Summary: offlineasm generates suboptimal code for move immediate on ARM64
Product: WebKit Reporter: Akos Kiss <akiss>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, commit-queue, dbates, fpizlo, ggaren, msaboff
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Proposed patch. none

Description Akos Kiss 2014-09-01 13:51:00 PDT
emitARM64MoveImmediate generates a slightly suboptimal code if value is greater than 0xffff but the last 16 bits are all zeros, or less than ~0xffff but the last 16 bits are all ones. E.g.,

move 0xffff000000000000, csr1

in LowLevelInterpreter64.asm becomes

movz x27, #65535, lsl #48
movk x27, #0, lsl #0
Comment 1 Akos Kiss 2014-09-01 14:26:17 PDT
Created attachment 237462 [details]
Proposed patch.
Comment 2 Michael Saboff 2014-09-03 06:40:15 PDT
Comment on attachment 237462 [details]
Proposed patch.

r=me
Comment 3 WebKit Commit Bot 2014-09-03 07:15:21 PDT
Comment on attachment 237462 [details]
Proposed patch.

Clearing flags on attachment: 237462

Committed r173205: <http://trac.webkit.org/changeset/173205>
Comment 4 WebKit Commit Bot 2014-09-03 07:15:25 PDT
All reviewed patches have been landed.  Closing bug.