Closed
Bug 917200
Opened 11 years ago
Closed 11 years ago
IonMonkey: ARM specializations of Float32 operators
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 913282
People
(Reporter: bbouvier, Unassigned)
References
Details
Attachments
(1 file, 5 obsolete files)
18.96 KB,
patch
|
dougc
:
review+
|
Details | Diff | Splinter Review |
Now that Float32 basic support for ARM has landed, we need the ARM implementations of these supplementary operators before landing bug 913282. I made a stub patch that allows me to cross compile locally for ARM. We just need to fill the holes now :)
Reporter | ||
Comment 1•11 years ago
|
||
This one has been already applied into the folded one in bug 913282, but this well help figuring out what are the methods to implement (principally codegen).
Attachment #805853 -
Attachment is obsolete: true
Comment 2•11 years ago
|
||
Oops the ARM support has been posted to bug 913282. It was only a small matter so perhaps this one could just be closed as a duplicate.
Comment 3•11 years ago
|
||
This was mostly a cut-and-paste of the existing float32 support.
Assignee: general → dtc-moz
Attachment #807963 -
Attachment is obsolete: true
Attachment #811617 -
Flags: review?(jcoppeard)
Comment 4•11 years ago
|
||
Comment on attachment 811617 [details] [diff] [review] ARM support Review of attachment 811617 [details] [diff] [review]: ----------------------------------------------------------------- Looks good! ::: js/src/jit/arm/CodeGenerator-arm.cpp @@ +1652,5 @@ > + > + // Do the compare > + masm.ma_vcmpz_f32(opd); > + bool nocond = true; > + if (nocond) { It looks like this if statement and the original visitNotD() are redundant as the condition is always true. While you're here, can you replace the if statement by the contents of the first branch, and also for the visitNotD() one? ::: js/src/jit/arm/MacroAssembler-arm.cpp @@ +71,5 @@ > +{ > + // direct conversions aren't possible. > + VFPRegister dest = VFPRegister(dest_); > + as_vxfer(src, InvalidReg, dest.uintOverlay(), > + CoreToFloat); nit: This doesn't need to be split over two lines. Can you fix this and the double version too?
Attachment #811617 -
Flags: review?(jcoppeard) → review+
Comment 5•11 years ago
|
||
>
> ::: js/src/jit/arm/CodeGenerator-arm.cpp
> @@ +1652,5 @@
> > +
> > + // Do the compare
> > + masm.ma_vcmpz_f32(opd);
> > + bool nocond = true;
> > + if (nocond) {
>
> It looks like this if statement and the original visitNotD() are redundant
> as the condition is always true.
>
fwiw, this happened because there were two different implementations both of which seemed about equivalent in ease of implementation, and speed, so I just implemented both, with the idea that I'd benchmark both of them to see which is faster. IIRC, there were actually three different possibilities, and one of them was behind #if 0 or something similar.
Comment 6•11 years ago
|
||
(In reply to Marty Rosenberg [:mjrosenb] from comment #5) Ah right, fair enough. We can leave them in if you like, I just thought it would be good to tidy up.
Comment 7•11 years ago
|
||
Thank you for the feedback. I have retained the 'NotF' variations, but added a comment to explain - just let me know if you want them cleaned up. My own testing has not detected any issues, but it will get some more testing when the Odin support is added. Carrying forward r+.
Attachment #811617 -
Attachment is obsolete: true
Attachment #812654 -
Flags: review+
Comment 8•11 years ago
|
||
Carrying forward r+
Attachment #812654 -
Attachment is obsolete: true
Attachment #817763 -
Flags: review+
Reporter | ||
Comment 9•11 years ago
|
||
Douglas, can this patch land before the series in bug 913282? Otherwise, we might need to either fold all patches together or make this one standalone.
Comment 10•11 years ago
|
||
(In reply to Benjamin Bouvier [:bbouvier] from comment #9) > Douglas, can this patch land before the series in bug 913282? This patch depends on the patches in bug 913282. The patch in bug 921282 has the stubs that are filled in there. > Otherwise, we might need to either fold all patches together or make this > one standalone. Yes, that might be a good option. The patches here are applied directly after the combined patch in bug 921282 in my local source.
Comment 11•11 years ago
|
||
Rebased to match the update to the folded patch in bug 913282. Carrying forward r+.
Attachment #817763 -
Attachment is obsolete: true
Attachment #819282 -
Flags: review+
Reporter | ||
Comment 12•11 years ago
|
||
As these bug's patches had circular dependencies with the ones in bug 913282, patches got merged and pushed on the other bug.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
Reporter | ||
Updated•3 years ago
|
Assignee: dtc-moz → nobody
You need to log in
before you can comment on or make changes to this bug.
Description
•