Closed Bug 1127929 Opened 5 years ago Closed 5 years ago

IonMonkey: Inline SIMD.int32x4.and calls


(Core :: JavaScript Engine: JIT, defect)

Not set



Tracking Status
firefox38 --- fixed


(Reporter: nbp, Assigned: victorcarlquist, Mentored)




(1 file, 1 obsolete file)

The goal of this bug is to inline SIMD.int32x4.and calls from js/src/jit-tests/tests/asm.js/simd-mandelbrot.js benchmarks when the JavaScript shell is ran with --no-asmjs command line argument.

To solve this issue, you have modify, build and check the JavaScript shell [1].
Then identify if the optimization is working well by running the jit-test as follow:

  $ jit-test/ --ion -s -o path/to/js asm.js/simd-mandelbrot.js

To display the command line, then prefix the command line as describe in the documentation for using iongraph [2], and use iongraph tool to see if the last MIR phase is changed and if the SIMD.int32x4.and operation got inlined with a MSimdBinaryBitwise.

You can refer to Bug 1118344 for one example.

Could I work on this bug?
(In reply to Victor Carlquist from comment #1)
> Could I work on this bug?

Sure, I've assigned you to this bug ;)
Assignee: nobody → victorcarlquist
Attached patch Patch (obsolete) — Splinter Review
This patch inline the Int32x4.and call.
Attachment #8558506 - Flags: review?(nicolas.b.pierron)
Comment on attachment 8558506 [details] [diff] [review]

Review of attachment 8558506 [details] [diff] [review]:

This looks awesome :)

I will send this patch to Try.

We might wait a bit for Benjamin to add a few SIMD benchmarks on AWFY [1]. This way we would be able to see how much this patch improve the speed of IonMonkey ;)

Attachment #8558506 - Flags: review?(nicolas.b.pierron) → review+
Depends on: 1128987

Feel free to open a bug to implement other SIMD operations as well.
Also, you might want to request access[1] to push to Try yourself ;)

(In reply to Nicolas B. Pierron [:nbp] from comment #5)
> Feel free to open a bug to implement other SIMD operations as well.
> Also, you might want to request access[1] to push to Try yourself ;)
> [1]

It's really Awesome!
Thank you very much ;)

The Try is red because I need to rebase the patch. I'll do it now.
Attached patch Patch rebased.Splinter Review
Attachment #8558506 - Attachment is obsolete: true
Attachment #8558665 - Flags: review+
Blocks: 1129148
(In reply to Victor Carlquist from comment #7)
> Created attachment 8558665 [details] [diff] [review]
> Patch rebased.

And pushed to Try:
Hopefully, this one should stay, and not be back out because of some weird error on Windows 8 ;)
For your information, we should expect a speed-up on the benchmarks that Benjamin added to AreWeFastYet [1].  Have a look at asmjs-ubench-fbirds-native and asmjs-ubench-mandelbrot-native.

I agree ;)
Ok, I'll have a look at the benchmarks.
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
Depends on: 1130845
You need to log in before you can comment on or make changes to this bug.