<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp, branch users/fmayer/spr/main.wip-smartpointers</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[WebAssembly] [Codegen] Add pattern for relaxed min max from fminimum/fmaximum over v4f32 and v2f64 (#162948)</title>
<updated>2025-10-22T10:08:24+00:00</updated>
<author>
<name>Jasmine Tang</name>
<email>jjasmine@igalia.com</email>
</author>
<published>2025-10-22T10:08:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1fbfac30f107cbf63f91101fa5b34dee397089af'/>
<id>1fbfac30f107cbf63f91101fa5b34dee397089af</id>
<content type='text'>
Related to #55932</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Related to #55932</pre>
</div>
</content>
</entry>
<entry>
<title>[WebAssembly] Optimize lowering of constant-sized memcpy and memset (#163294)</title>
<updated>2025-10-14T22:00:25+00:00</updated>
<author>
<name>Derek Schuff</name>
<email>dschuff@chromium.org</email>
</author>
<published>2025-10-14T22:00:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=19a58a520820a0678e767abdf418f101cfd5ca1a'/>
<id>19a58a520820a0678e767abdf418f101cfd5ca1a</id>
<content type='text'>
We currently emit a check that the size operand isn't zero, to avoid
executing the wasm memory.copy instruction when it would trap.
But this isn't necessary if the operand is a constant.

Fixes #163245</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We currently emit a check that the size operand isn't zero, to avoid
executing the wasm memory.copy instruction when it would trap.
But this isn't necessary if the operand is a constant.

Fixes #163245</pre>
</div>
</content>
</entry>
<entry>
<title>Wasm fmuladd relaxed (#163177)</title>
<updated>2025-10-13T15:50:53+00:00</updated>
<author>
<name>Sam Parker</name>
<email>sam.parker@arm.com</email>
</author>
<published>2025-10-13T15:50:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1820102167a5ace14a5c1f79d11d5eb4cce93001'/>
<id>1820102167a5ace14a5c1f79d11d5eb4cce93001</id>
<content type='text'>
Reland #161355, after fixing up the cross-projects-tests for the wasm
simd intrinsics.

Original commit message:
Lower v4f32 and v2f64 fmuladd calls to relaxed_madd instructions.
If we have FP16, then lower v8f16 fmuladds to FMA.

I've introduced an ISD node for fmuladd to maintain the rounding
ambiguity through legalization / combine / isel.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reland #161355, after fixing up the cross-projects-tests for the wasm
simd intrinsics.

Original commit message:
Lower v4f32 and v2f64 fmuladd calls to relaxed_madd instructions.
If we have FP16, then lower v8f16 fmuladds to FMA.

I've introduced an ISD node for fmuladd to maintain the rounding
ambiguity through legalization / combine / isel.</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[WebAssembly] Lower fmuladd to madd and nmadd" (#163171)</title>
<updated>2025-10-13T10:53:40+00:00</updated>
<author>
<name>Sam Parker</name>
<email>sam.parker@arm.com</email>
</author>
<published>2025-10-13T10:53:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=30d3441cf082c3672cd7b8495cb8cc1d6ca2c8e0'/>
<id>30d3441cf082c3672cd7b8495cb8cc1d6ca2c8e0</id>
<content type='text'>
Reverts llvm/llvm-project#161355

Looks like I've broken some intrinsic code generation.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reverts llvm/llvm-project#161355

Looks like I've broken some intrinsic code generation.</pre>
</div>
</content>
</entry>
<entry>
<title>[WebAssembly] Lower fmuladd to madd and nmadd (#161355)</title>
<updated>2025-10-13T09:36:08+00:00</updated>
<author>
<name>Sam Parker</name>
<email>sam.parker@arm.com</email>
</author>
<published>2025-10-13T09:36:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a4eb7ea22575afa40d79475c15fc2d0ad3f4498a'/>
<id>a4eb7ea22575afa40d79475c15fc2d0ad3f4498a</id>
<content type='text'>
Lower v4f32 and v2f64 fmuladd calls to relaxed_madd instructions.
If we have FP16, then lower v8f16 fmuladds to FMA.

I've introduced an ISD node for fmuladd to maintain the rounding
ambiguity through legalization / combine / isel.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Lower v4f32 and v2f64 fmuladd calls to relaxed_madd instructions.
If we have FP16, then lower v8f16 fmuladds to FMA.

I've introduced an ISD node for fmuladd to maintain the rounding
ambiguity through legalization / combine / isel.</pre>
</div>
</content>
</entry>
<entry>
<title>[WebAssembly] Check intrinsic argument count before Any/All combine (#162163)</title>
<updated>2025-10-07T23:52:25+00:00</updated>
<author>
<name>Derek Schuff</name>
<email>dschuff@chromium.org</email>
</author>
<published>2025-10-07T23:52:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=abc8aac6d242df9f26c8dbaf8b2a65aaa5abe791'/>
<id>abc8aac6d242df9f26c8dbaf8b2a65aaa5abe791</id>
<content type='text'>
This code is activated on all INTRINSIC_WO_CHAIN but only handles
a selection. However it was trying to read the arguments before
checking which intrinsic it was handling. This fails for intrinsics
that have no arguments.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This code is activated on all INTRINSIC_WO_CHAIN but only handles
a selection. However it was trying to read the arguments before
checking which intrinsic it was handling. This fails for intrinsics
that have no arguments.</pre>
</div>
</content>
</entry>
<entry>
<title>[WebAssembly] Use partial_reduce_mla ISD nodes (#161184)</title>
<updated>2025-09-30T07:28:56+00:00</updated>
<author>
<name>Sam Parker</name>
<email>sam.parker@arm.com</email>
</author>
<published>2025-09-30T07:28:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=156e9b4b6989043024ea8c5d15360a716af51631'/>
<id>156e9b4b6989043024ea8c5d15360a716af51631</id>
<content type='text'>
Addresssing issue #160847.
 
Move away from combining the intrinsic call and instead lower the ISD
nodes, using tablegen for pattern matching.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Addresssing issue #160847.
 
Move away from combining the intrinsic call and instead lower the ISD
nodes, using tablegen for pattern matching.</pre>
</div>
</content>
</entry>
<entry>
<title>[IR] NFC: Remove 'experimental' from partial.reduce.add intrinsic (#158637)</title>
<updated>2025-09-17T10:44:47+00:00</updated>
<author>
<name>Sander de Smalen</name>
<email>sander.desmalen@arm.com</email>
</author>
<published>2025-09-17T10:44:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=17e008db17be5cf01daf13265adc93d1da257fca'/>
<id>17e008db17be5cf01daf13265adc93d1da257fca</id>
<content type='text'>
The partial reduction intrinsics are no longer experimental, because
they've been used in production for a while and are unlikely to change.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The partial reduction intrinsics are no longer experimental, because
they've been used in production for a while and are unlikely to change.</pre>
</div>
</content>
</entry>
<entry>
<title>[WebAssembly] Support partial-reduce accumulator (#158060)</title>
<updated>2025-09-12T06:03:49+00:00</updated>
<author>
<name>Sam Parker</name>
<email>sam.parker@arm.com</email>
</author>
<published>2025-09-12T06:03:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=586c0ad918aa3e725224246260b458b4b90615c2'/>
<id>586c0ad918aa3e725224246260b458b4b90615c2</id>
<content type='text'>
We currently only support partial.reduce.add in the case where we are
performing a multiply-accumulate. Now add support for any partial
reduction where the input is being extended, where we can take advantage
of extadd_pairwise.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We currently only support partial.reduce.add in the case where we are
performing a multiply-accumulate. Now add support for any partial
reduction where the input is being extended, where we can take advantage
of extadd_pairwise.</pre>
</div>
</content>
</entry>
<entry>
<title>[WebAssembly] extadd_pairwise for PartialReduce (#157669)</title>
<updated>2025-09-10T07:13:46+00:00</updated>
<author>
<name>Sam Parker</name>
<email>sam.parker@arm.com</email>
</author>
<published>2025-09-10T07:13:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6dacdc31ec7974a1cb048d945d9601304e93616a'/>
<id>6dacdc31ec7974a1cb048d945d9601304e93616a</id>
<content type='text'>
Avoid using extends, and adding the high and low half and use
extadd_pairwise instead.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Avoid using extends, and adding the high and low half and use
extadd_pairwise instead.</pre>
</div>
</content>
</entry>
</feed>
