<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/yjit/src/asm/arm64/inst/mod.rs, branch v3_4_9</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>YJIT: implement fast path for integer multiplication in opt_mult (#8204)</title>
<updated>2023-08-18T14:05:32+00:00</updated>
<author>
<name>Maxime Chevalier-Boisvert</name>
<email>maxime.chevalierboisvert@shopify.com</email>
</author>
<published>2023-08-18T14:05:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=314eed8a5ec9f1b46624b277dde75f8079026b7b'/>
<id>314eed8a5ec9f1b46624b277dde75f8079026b7b</id>
<content type='text'>
* YJIT: implement fast path for integer multiplication in opt_mult

* Update yjit/src/codegen.rs

Co-authored-by: Alan Wu &lt;XrXr@users.noreply.github.com&gt;

* Implement mul with overflow checking on arm64

* Fix missing semicolon

* Add arm splitting for lshift, rshift, urshift

---------

Co-authored-by: Alan Wu &lt;XrXr@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* YJIT: implement fast path for integer multiplication in opt_mult

* Update yjit/src/codegen.rs

Co-authored-by: Alan Wu &lt;XrXr@users.noreply.github.com&gt;

* Implement mul with overflow checking on arm64

* Fix missing semicolon

* Add arm splitting for lshift, rshift, urshift

---------

Co-authored-by: Alan Wu &lt;XrXr@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Implement MUL instruction for aarch64 (#8193)</title>
<updated>2023-08-09T16:21:53+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2023-08-09T16:21:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a41c617e41c09b028af36d42bde1a1c1f83a7c22'/>
<id>a41c617e41c09b028af36d42bde1a1c1f83a7c22</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Change IncrCounter lowering on AArch64 (#6455)</title>
<updated>2022-09-27T20:58:01+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2022-09-27T20:58:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=28433e9aa0c765c9d20bc6397439a1b12e66bcbd'/>
<id>28433e9aa0c765c9d20bc6397439a1b12e66bcbd</id>
<content type='text'>
* Change IncrCounter lowering on AArch64

Previously we were using LDADDAL which is not available on
Graviton 1 chips. Instead, we're going to use an exclusive
load/store group through the LDAXR/STLXR instructions.

* Update yjit/src/backend/arm64/mod.rs

Co-authored-by: Maxime Chevalier-Boisvert &lt;maximechevalierb@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Change IncrCounter lowering on AArch64

Previously we were using LDADDAL which is not available on
Graviton 1 chips. Instead, we're going to use an exclusive
load/store group through the LDAXR/STLXR instructions.

* Update yjit/src/backend/arm64/mod.rs

Co-authored-by: Maxime Chevalier-Boisvert &lt;maximechevalierb@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>TBZ and TBNZ for AArch64 (https://github.com/Shopify/ruby/pull/434)</title>
<updated>2022-08-29T16:09:41+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2022-08-26T01:19:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=29e0713a1272cb63f1e3cebfab85dec2424ead0f'/>
<id>29e0713a1272cb63f1e3cebfab85dec2424ead0f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>LDRH and STRH for AArch64 (https://github.com/Shopify/ruby/pull/438)</title>
<updated>2022-08-29T16:09:41+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2022-08-26T01:19:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=44c6bcff1d068a2a5d191f602efc99a28e94dbc1'/>
<id>44c6bcff1d068a2a5d191f602efc99a28e94dbc1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Load mem displacement when necessary on AArch64 (https://github.com/Shopify/ruby/pull/382)</title>
<updated>2022-08-29T15:47:08+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2022-08-09T14:27:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b8846dd2f8042fc13a0f5ae17e2e2a6f400074dd'/>
<id>b8846dd2f8042fc13a0f5ae17e2e2a6f400074dd</id>
<content type='text'>
* LDR instruction for AArch64

* Split loads in arm64_split when memory address displacements do not fit
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* LDR instruction for AArch64

* Split loads in arm64_split when memory address displacements do not fit
</pre>
</div>
</content>
</entry>
<entry>
<title>A lot of fixes coming from our pairing session (https://github.com/Shopify/ruby/pull/329)</title>
<updated>2022-08-29T15:47:02+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2022-07-19T21:44:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4ae2c744ac6b5b84f2bfebb9046c0c364863d7a4'/>
<id>4ae2c744ac6b5b84f2bfebb9046c0c364863d7a4</id>
<content type='text'>
* Move to/from SP on AArch64

* Consolidate loads and stores

* Implement LDR post-index and LDR pre-index for AArch64

* Implement STR post-index and STR pre-index for AArch64

* Module entrypoints for LDR pre/post -index and STR pre/post -index

* Use STR (pre-index) and LDR (post-index) to implement push/pop

* Go back to using MOV for to/from SP
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Move to/from SP on AArch64

* Consolidate loads and stores

* Implement LDR post-index and LDR pre-index for AArch64

* Implement STR post-index and STR pre-index for AArch64

* Module entrypoints for LDR pre/post -index and STR pre/post -index

* Use STR (pre-index) and LDR (post-index) to implement push/pop

* Go back to using MOV for to/from SP
</pre>
</div>
</content>
</entry>
<entry>
<title>AArch64 frames (https://github.com/Shopify/ruby/pull/324)</title>
<updated>2022-08-29T15:47:01+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2022-07-19T15:37:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=10d50031e66cc19ebe7e10ce80c1d8bd8b745399'/>
<id>10d50031e66cc19ebe7e10ce80c1d8bd8b745399</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Conditionals (https://github.com/Shopify/ruby/pull/323)</title>
<updated>2022-08-29T15:47:01+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2022-07-15T20:24:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f9e24ca8dd5e498cd768eaf65bc07acdb268f175'/>
<id>f9e24ca8dd5e498cd768eaf65bc07acdb268f175</id>
<content type='text'>
* CSEL on AArch64

* Implement various Op::CSel* instructions
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* CSEL on AArch64

* Implement various Op::CSel* instructions
</pre>
</div>
</content>
</entry>
<entry>
<title>Port print_int to the new backend (https://github.com/Shopify/ruby/pull/321)</title>
<updated>2022-08-29T15:47:01+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2022-07-15T20:14:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0da253e72cc80c1dbf8517f5217b59a64ec0f44e'/>
<id>0da253e72cc80c1dbf8517f5217b59a64ec0f44e</id>
<content type='text'>
* Port print_int to the new backend

* Tests for print_int and print_str
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Port print_int to the new backend

* Tests for print_int and print_str
</pre>
</div>
</content>
</entry>
</feed>
