<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/yjit/src/asm/arm64/inst/mod.rs, branch v3_2_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<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>
<entry>
<title>Port print_str to new backend (https://github.com/Shopify/ruby/pull/318)</title>
<updated>2022-08-29T15:47:00+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2022-07-15T17:25:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=160e29b9e5c9419e3275d4bd6de09c9c4f242602'/>
<id>160e29b9e5c9419e3275d4bd6de09c9c4f242602</id>
<content type='text'>
* ADR and ADRP for AArch64

* Implement Op::Jbe on X86

* Lera instruction

* Op::BakeString

* LeaPC -&gt; LeaLabel

* Port print_str to the new backend

* Port print_value to the new backend

* Port print_ptr to the new backend

* Write null-terminators in Op::BakeString

* Fix up rebase issues on print-str port

* Add back in panic for X86 backend for unsupported instructions being lowered

* Fix target architecture
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* ADR and ADRP for AArch64

* Implement Op::Jbe on X86

* Lera instruction

* Op::BakeString

* LeaPC -&gt; LeaLabel

* Port print_str to the new backend

* Port print_value to the new backend

* Port print_ptr to the new backend

* Write null-terminators in Op::BakeString

* Fix up rebase issues on print-str port

* Add back in panic for X86 backend for unsupported instructions being lowered

* Fix target architecture
</pre>
</div>
</content>
</entry>
<entry>
<title>Encode MRS and MSR for AArch64 (https://github.com/Shopify/ruby/pull/315)</title>
<updated>2022-08-29T15:47:00+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2022-07-13T20:48:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=15c6aacd399b2bc7fb5ee2d6422451c4eb47941f'/>
<id>15c6aacd399b2bc7fb5ee2d6422451c4eb47941f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
