[llvm] [NVPTX] Use sink registers instead of temp registers where possible. (PR #134957)
Artem Belevich via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 9 11:53:07 PDT 2025
================
@@ -60,11 +63,16 @@ define i64 @bswap64(i64 %a) {
; CHECK-EMPTY:
; CHECK-NEXT: // %bb.0:
; CHECK-NEXT: ld.param.u64 %rd1, [bswap64_param_0];
-; CHECK-NEXT: { .reg .b32 tmp; mov.b64 {%r1, tmp}, %rd1; }
-; CHECK-NEXT: prmt.b32 %r2, %r1, 0, 291;
-; CHECK-NEXT: { .reg .b32 tmp; mov.b64 {tmp, %r3}, %rd1; }
-; CHECK-NEXT: prmt.b32 %r4, %r3, 0, 291;
-; CHECK-NEXT: mov.b64 %rd2, {%r4, %r2};
+; PTX70-NEXT: { .reg .b32 tmp; mov.b64 {%r1, tmp}, %rd1; }
+; PTX70-NEXT: prmt.b32 %r2, %r1, 0, 291;
+; PTX70-NEXT: { .reg .b32 tmp; mov.b64 {tmp, %r3}, %rd1; }
+; PTX70-NEXT: prmt.b32 %r4, %r3, 0, 291;
+; PTX70-NEXT: mov.b64 %rd2, {%r4, %r2};
+; PTX71-NEXT: mov.b64 {%r1, _}, %rd1;
+; PTX71-NEXT: prmt.b32 %r2, %r1, 0, 291;
+; PTX71-NEXT: mov.b64 {_, %r3}, %rd1;
----------------
Artem-B wrote:
Not this patch's problem, but we're doing something silly here. those two mov instructions should've been just one splitting move.
https://github.com/llvm/llvm-project/pull/134957
More information about the llvm-commits
mailing list