{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/hhvm/issues/7929","repository_url":"https://api.github.com/repos/facebook/hhvm","labels_url":"https://api.github.com/repos/facebook/hhvm/issues/7929/labels{/name}","comments_url":"https://api.github.com/repos/facebook/hhvm/issues/7929/comments","events_url":"https://api.github.com/repos/facebook/hhvm/issues/7929/events","html_url":"https://github.com/facebook/hhvm/pull/7929","id":245472783,"number":7929,"title":"Aarch64 - improve after lea lowering","user":{"login":"swalk-cavium","id":23059300,"avatar_url":"https://avatars3.githubusercontent.com/u/23059300?v=4","gravatar_id":"","url":"https://api.github.com/users/swalk-cavium","html_url":"https://github.com/swalk-cavium","followers_url":"https://api.github.com/users/swalk-cavium/followers","following_url":"https://api.github.com/users/swalk-cavium/following{/other_user}","gists_url":"https://api.github.com/users/swalk-cavium/gists{/gist_id}","starred_url":"https://api.github.com/users/swalk-cavium/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swalk-cavium/subscriptions","organizations_url":"https://api.github.com/users/swalk-cavium/orgs","repos_url":"https://api.github.com/users/swalk-cavium/repos","events_url":"https://api.github.com/users/swalk-cavium/events{/privacy}","received_events_url":"https://api.github.com/users/swalk-cavium/received_events","type":"User","site_admin":false},"labels":[{"id":196857004,"url":"https://api.github.com/repos/facebook/hhvm/labels/CLA%20Signed","name":"CLA Signed","color":"009900","default":false},{"id":434441973,"url":"https://api.github.com/repos/facebook/hhvm/labels/GH%20Review:%20needs-revision","name":"GH Review: needs-revision","color":"e11d21","default":false}],"state":"open","locked":false,"assignee":{"login":"mxw","id":1013739,"avatar_url":"https://avatars2.githubusercontent.com/u/1013739?v=4","gravatar_id":"","url":"https://api.github.com/users/mxw","html_url":"https://github.com/mxw","followers_url":"https://api.github.com/users/mxw/followers","following_url":"https://api.github.com/users/mxw/following{/other_user}","gists_url":"https://api.github.com/users/mxw/gists{/gist_id}","starred_url":"https://api.github.com/users/mxw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mxw/subscriptions","organizations_url":"https://api.github.com/users/mxw/orgs","repos_url":"https://api.github.com/users/mxw/repos","events_url":"https://api.github.com/users/mxw/events{/privacy}","received_events_url":"https://api.github.com/users/mxw/received_events","type":"User","site_admin":false},"assignees":[{"login":"mxw","id":1013739,"avatar_url":"https://avatars2.githubusercontent.com/u/1013739?v=4","gravatar_id":"","url":"https://api.github.com/users/mxw","html_url":"https://github.com/mxw","followers_url":"https://api.github.com/users/mxw/followers","following_url":"https://api.github.com/users/mxw/following{/other_user}","gists_url":"https://api.github.com/users/mxw/gists{/gist_id}","starred_url":"https://api.github.com/users/mxw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mxw/subscriptions","organizations_url":"https://api.github.com/users/mxw/orgs","repos_url":"https://api.github.com/users/mxw/repos","events_url":"https://api.github.com/users/mxw/events{/privacy}","received_events_url":"https://api.github.com/users/mxw/received_events","type":"User","site_admin":false}],"milestone":null,"comments":10,"created_at":"2017-07-25T17:16:25Z","updated_at":"2017-08-23T22:37:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/facebook/hhvm/pulls/7929","html_url":"https://github.com/facebook/hhvm/pull/7929","diff_url":"https://github.com/facebook/hhvm/pull/7929.diff","patch_url":"https://github.com/facebook/hhvm/pull/7929.patch"},"body":"This change improves the sequence generated when lowering the Vptr element of the lea\r\nVinstr by taking advantage of the sub immediate instruction.  This saves 1 instruction \r\nper instance.\r\n\r\nBefore\r\n=====\r\n    (07) StLocRange<[0, 108)> t0:FramePtr, Uninit\r\n        Main:   \r\n            0x52c0035c  d10043a0              sub x0, x29, #0x10 (16)\r\n            0x52c00360  9280d9e1              movn x1, #0x6cf\r\n            0x52c00364  8b0103a1              add x1, x29, x1 \r\n            0x52c00368  3900201f              strb wzr, [x0, #8]\r\n\r\nAfter\r\n====\r\n    (07) StLocRange<[0, 108)> t0:FramePtr, Uninit\r\n        Main:   \r\n            0x50400404  d10043a0              sub x0, x29, #0x10 (16)\r\n            0x50400408  d11b43a1              sub x1, x29, #0x6d0 (1744)  //<<---\r\n            0x5040040c  3900201f              strb wzr, [x0, #8]\r\n\r\nThis was seen approximately 300 times in hphp/test/quick/all_type_comparison_test.php\r\nand around 1000 times in hphp/test/zend/good/ext/intl/tests/grapheme.php\r\n\r\nThe standard regression tests were run with six option sets.  No new failures were observed.\r\n"},"comment":{"url":"https://api.github.com/repos/facebook/hhvm/issues/comments/324482421","html_url":"https://github.com/facebook/hhvm/pull/7929#issuecomment-324482421","issue_url":"https://api.github.com/repos/facebook/hhvm/issues/7929","id":324482421,"user":{"login":"swalk-cavium","id":23059300,"avatar_url":"https://avatars3.githubusercontent.com/u/23059300?v=4","gravatar_id":"","url":"https://api.github.com/users/swalk-cavium","html_url":"https://github.com/swalk-cavium","followers_url":"https://api.github.com/users/swalk-cavium/followers","following_url":"https://api.github.com/users/swalk-cavium/following{/other_user}","gists_url":"https://api.github.com/users/swalk-cavium/gists{/gist_id}","starred_url":"https://api.github.com/users/swalk-cavium/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swalk-cavium/subscriptions","organizations_url":"https://api.github.com/users/swalk-cavium/orgs","repos_url":"https://api.github.com/users/swalk-cavium/repos","events_url":"https://api.github.com/users/swalk-cavium/events{/privacy}","received_events_url":"https://api.github.com/users/swalk-cavium/received_events","type":"User","site_admin":false},"created_at":"2017-08-23T22:37:36Z","updated_at":"2017-08-23T22:37:36Z","body":"@mxw - Hi Max.  By the time you get to the emitter the constant is not available.  lowerVptr() has\r\nchanged it into a register with a mov immediate. "}}
{"actor":{"display_login":"swalk-cavium"}}