[llvm] [NVPTX] fold movs into loads and stores (PR #144581)

Princeton Ferro via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 17 18:16:47 PDT 2025


================
@@ -237,17 +237,16 @@ define void @generic_2xi16(ptr %a) {
 ; CHECK-LABEL: generic_2xi16(
 ; CHECK:       {
 ; CHECK-NEXT:    .reg .b16 %rs<5>;
-; CHECK-NEXT:    .reg .b32 %r<3>;
+; CHECK-NEXT:    .reg .b32 %r<2>;
 ; CHECK-NEXT:    .reg .b64 %rd<2>;
 ; CHECK-EMPTY:
 ; CHECK-NEXT:  // %bb.0:
 ; CHECK-NEXT:    ld.param.b64 %rd1, [generic_2xi16_param_0];
-; CHECK-NEXT:    ld.b32 %r1, [%rd1];
-; CHECK-NEXT:    mov.b32 {%rs1, %rs2}, %r1;
+; CHECK-NEXT:    ld.v2.b16 {%rs1, %rs2}, [%rd1];
 ; CHECK-NEXT:    add.s16 %rs3, %rs2, 1;
 ; CHECK-NEXT:    add.s16 %rs4, %rs1, 1;
-; CHECK-NEXT:    mov.b32 %r2, {%rs4, %rs3};
-; CHECK-NEXT:    st.b32 [%rd1], %r2;
+; CHECK-NEXT:    mov.b32 %r1, {%rs4, %rs3};
+; CHECK-NEXT:    st.b32 [%rd1], %r1;
----------------
Prince781 wrote:

Looks like I forgot to match `ISD::STORE` (in this case on `v2f16`).

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


More information about the llvm-commits mailing list