RESOLVED FIXED 152370
ARM64 MacroAssembler improperly reuses data temp register in test32() and test8() calls
https://bugs.webkit.org/show_bug.cgi?id=152370
Summary ARM64 MacroAssembler improperly reuses data temp register in test32() and tes...
Michael Saboff
Reported 2015-12-16 17:55:29 PST
The void test32(ResultCondition cond, Address address, TrustedImm32 mask, RegisterID dest) and the similar test8() use the dataTempRegister with the value loaded from "address" and then call void test32(ResultCondition cond, RegisterID src, TrustedImm32 mask, RegisterID dest). The two register version of test32 can use the dataTempRegister to materialize the immediate mask.
Attachments
Patch (2.02 KB, patch)
2015-12-16 18:03 PST, Michael Saboff
no flags
Michael Saboff
Comment 1 2015-12-16 18:03:55 PST
WebKit Commit Bot
Comment 2 2015-12-16 21:03:16 PST
Comment on attachment 267516 [details] Patch Clearing flags on attachment: 267516 Committed r194208: <http://trac.webkit.org/changeset/194208>
WebKit Commit Bot
Comment 3 2015-12-16 21:03:19 PST
All reviewed patches have been landed. Closing bug.
Geoffrey Garen
Comment 4 2015-12-17 14:02:20 PST
Comment on attachment 267516 [details] Patch Does this work? Keith told me this doesn't work.
Michael Saboff
Comment 5 2015-12-17 14:06:22 PST
(In reply to comment #4) > Comment on attachment 267516 [details] > Patch > > Does this work? Keith told me this doesn't work. From my discussion with Keith, this is what he tried and it work. He was concerned that there were other issues, but I couldn't find any.
Keith Miller
Comment 6 2015-12-17 15:22:57 PST
My patch is working with this patch applied so this should be sufficient.
Note You need to log in before you can comment on or make changes to this bug.