|
| 1 | +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 |
1 | 2 | ; RUN: llc < %s -march=nvptx64 | FileCheck %s
|
2 | 3 | ; RUN: %if ptxas %{ llc < %s -march=nvptx64 | %ptxas-verify %}
|
3 | 4 |
|
4 | 5 | declare i64 @llvm.nvvm.rotate.b64(i64, i32)
|
5 | 6 | declare i64 @llvm.nvvm.rotate.right.b64(i64, i32)
|
6 | 7 |
|
7 |
| -; CHECK: rotate64 |
8 | 8 | define i64 @rotate64(i64 %a, i32 %b) {
|
9 |
| -; CHECK: shr.u64 [[RHS:%.*]], [[RD1:%.*]], 61; |
10 |
| -; CHECK: shl.b64 [[LHS:%.*]], [[RD1]], 3; |
11 |
| -; CHECK: or.b64 [[RD2:%.*]], [[LHS]], [[RHS]]; |
12 |
| -; CHECK: ret |
| 9 | +; CHECK-LABEL: rotate64( |
| 10 | +; CHECK: { |
| 11 | +; CHECK-NEXT: .reg .b64 %rd<5>; |
| 12 | +; CHECK-EMPTY: |
| 13 | +; CHECK-NEXT: // %bb.0: |
| 14 | +; CHECK-NEXT: ld.param.u64 %rd1, [rotate64_param_0]; |
| 15 | +; CHECK-NEXT: shr.u64 %rd2, %rd1, 61; |
| 16 | +; CHECK-NEXT: shl.b64 %rd3, %rd1, 3; |
| 17 | +; CHECK-NEXT: or.b64 %rd4, %rd3, %rd2; |
| 18 | +; CHECK-NEXT: st.param.b64 [func_retval0+0], %rd4; |
| 19 | +; CHECK-NEXT: ret; |
13 | 20 | %val = tail call i64 @llvm.nvvm.rotate.b64(i64 %a, i32 3)
|
14 | 21 | ret i64 %val
|
15 | 22 | }
|
16 | 23 |
|
17 |
| -; CHECK: rotateright64 |
18 | 24 | define i64 @rotateright64(i64 %a, i32 %b) {
|
19 |
| -; CHECK: shl.b64 [[RHS:%.*]], [[RD1:%.*]], 61; |
20 |
| -; CHECK: shr.u64 [[LHS:%.*]], [[RD1]], 3; |
21 |
| -; CHECK: or.b64 [[RD2:%.*]], [[LHS]], [[RHS]]; |
22 |
| -; CHECK: ret |
| 25 | +; CHECK-LABEL: rotateright64( |
| 26 | +; CHECK: { |
| 27 | +; CHECK-NEXT: .reg .b64 %rd<5>; |
| 28 | +; CHECK-EMPTY: |
| 29 | +; CHECK-NEXT: // %bb.0: |
| 30 | +; CHECK-NEXT: ld.param.u64 %rd1, [rotateright64_param_0]; |
| 31 | +; CHECK-NEXT: shl.b64 %rd2, %rd1, 61; |
| 32 | +; CHECK-NEXT: shr.u64 %rd3, %rd1, 3; |
| 33 | +; CHECK-NEXT: or.b64 %rd4, %rd3, %rd2; |
| 34 | +; CHECK-NEXT: st.param.b64 [func_retval0+0], %rd4; |
| 35 | +; CHECK-NEXT: ret; |
23 | 36 | %val = tail call i64 @llvm.nvvm.rotate.right.b64(i64 %a, i32 3)
|
24 | 37 | ret i64 %val
|
25 | 38 | }
|
0 commit comments