[llvm] [WebAssembly] Legalize i128 to v16i8 for setcc, expand memcmp for 16 byte loads with simd128 (PR #149461)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 11 09:28:35 PDT 2025


================
@@ -3383,15 +3383,65 @@ static SDValue TryMatchTrue(SDNode *N, EVT VecVT, SelectionDAG &DAG) {
   return DAG.getZExtOrTrunc(Ret, DL, N->getValueType(0));
 }
 
+static SDValue
+combineVectorSizedSetCCEquality(SDNode *N, TargetLowering::DAGCombinerInfo &DCI,
+                                const WebAssemblySubtarget *Subtarget) {
----------------
lukel97 wrote:

Would be good to add a brief description
```suggestion
/// Try to convert a i128 comparison to a v16i8 comparison before type legalization splits it up into chunks
static SDValue
combineVectorSizedSetCCEquality(SDNode *N, TargetLowering::DAGCombinerInfo &DCI,
                                const WebAssemblySubtarget *Subtarget) {
```

https://github.com/llvm/llvm-project/pull/149461


More information about the llvm-commits mailing list