[llvm] [SystemZ] Fold i16/i32/i64 logical RMW operations into memory operands in TableGen (PR #192802)

Ulrich Weigand via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 8 08:00:17 PDT 2026


================
@@ -1367,3 +1367,9 @@ class z_vse_by_parts<SDPatternOperator operator, int index1, int index2>
 def z_vsei8_by_parts  : z_vse_by_parts<sext8dbl, 7, 15>;
 def z_vsei16_by_parts : z_vse_by_parts<sext16dbl, 3, 7>;
 def z_vsei32_by_parts : z_vse_by_parts<sext32, 1, 3>;
+
+// Matches any integer constant where only the last byte is set (0x00...XX).
+// Safe for OR/XOR because x | 0 == x.
----------------
uweigand wrote:

This should be in the other file, next to the other versions you define.  And it should also be an `Immediate` not a `PatLeaf`.

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


More information about the llvm-commits mailing list