Skip to content

Commit dc79b8f

Browse files
Update variadics-backend.ll
1 parent e7015f3 commit dc79b8f

File tree

1 file changed

+30
-35
lines changed

1 file changed

+30
-35
lines changed

llvm/test/CodeGen/NVPTX/variadics-backend.ll

Lines changed: 30 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
define dso_local i32 @variadics1(i32 noundef %first, ...) {
1212
; CHECK-PTX-LABEL: variadics1(
1313
; CHECK-PTX: {
14-
; CHECK-PTX-NEXT: .reg .b32 %r<11>;
15-
; CHECK-PTX-NEXT: .reg .b64 %rd<11>;
14+
; CHECK-PTX-NEXT: .reg .b32 %r<12>;
15+
; CHECK-PTX-NEXT: .reg .b64 %rd<8>;
1616
; CHECK-PTX-NEXT: .reg .f64 %fd<7>;
1717
; CHECK-PTX-EMPTY:
1818
; CHECK-PTX-NEXT: // %bb.0: // %entry
@@ -26,23 +26,21 @@ define dso_local i32 @variadics1(i32 noundef %first, ...) {
2626
; CHECK-PTX-NEXT: add.s32 %r7, %r5, %r6;
2727
; CHECK-PTX-NEXT: add.s64 %rd2, %rd1, 19;
2828
; CHECK-PTX-NEXT: and.b64 %rd3, %rd2, -8;
29-
; CHECK-PTX-NEXT: ld.u64 %rd4, [%rd3];
30-
; CHECK-PTX-NEXT: cvt.u64.u32 %rd5, %r7;
31-
; CHECK-PTX-NEXT: add.s64 %rd6, %rd5, %rd4;
32-
; CHECK-PTX-NEXT: cvt.u32.u64 %r8, %rd6;
33-
; CHECK-PTX-NEXT: add.s64 %rd7, %rd3, 15;
34-
; CHECK-PTX-NEXT: and.b64 %rd8, %rd7, -8;
35-
; CHECK-PTX-NEXT: ld.f64 %fd1, [%rd8];
36-
; CHECK-PTX-NEXT: cvt.rn.f64.s32 %fd2, %r8;
29+
; CHECK-PTX-NEXT: ld.u32 %r8, [%rd3];
30+
; CHECK-PTX-NEXT: add.s32 %r9, %r7, %r8;
31+
; CHECK-PTX-NEXT: add.s64 %rd4, %rd3, 15;
32+
; CHECK-PTX-NEXT: and.b64 %rd5, %rd4, -8;
33+
; CHECK-PTX-NEXT: ld.f64 %fd1, [%rd5];
34+
; CHECK-PTX-NEXT: cvt.rn.f64.s32 %fd2, %r9;
3735
; CHECK-PTX-NEXT: add.rn.f64 %fd3, %fd2, %fd1;
38-
; CHECK-PTX-NEXT: cvt.rzi.s32.f64 %r9, %fd3;
39-
; CHECK-PTX-NEXT: add.s64 %rd9, %rd8, 15;
40-
; CHECK-PTX-NEXT: and.b64 %rd10, %rd9, -8;
41-
; CHECK-PTX-NEXT: ld.f64 %fd4, [%rd10];
42-
; CHECK-PTX-NEXT: cvt.rn.f64.s32 %fd5, %r9;
36+
; CHECK-PTX-NEXT: cvt.rzi.s32.f64 %r10, %fd3;
37+
; CHECK-PTX-NEXT: add.s64 %rd6, %rd5, 15;
38+
; CHECK-PTX-NEXT: and.b64 %rd7, %rd6, -8;
39+
; CHECK-PTX-NEXT: ld.f64 %fd4, [%rd7];
40+
; CHECK-PTX-NEXT: cvt.rn.f64.s32 %fd5, %r10;
4341
; CHECK-PTX-NEXT: add.rn.f64 %fd6, %fd5, %fd4;
44-
; CHECK-PTX-NEXT: cvt.rzi.s32.f64 %r10, %fd6;
45-
; CHECK-PTX-NEXT: st.param.b32 [func_retval0+0], %r10;
42+
; CHECK-PTX-NEXT: cvt.rzi.s32.f64 %r11, %fd6;
43+
; CHECK-PTX-NEXT: st.param.b32 [func_retval0+0], %r11;
4644
; CHECK-PTX-NEXT: ret;
4745
entry:
4846
%vlist = alloca ptr, align 8
@@ -152,8 +150,8 @@ define dso_local i32 @variadics2(i32 noundef %first, ...) {
152150
; CHECK-PTX-NEXT: .reg .b64 %SP;
153151
; CHECK-PTX-NEXT: .reg .b64 %SPL;
154152
; CHECK-PTX-NEXT: .reg .b16 %rs<6>;
155-
; CHECK-PTX-NEXT: .reg .b32 %r<7>;
156-
; CHECK-PTX-NEXT: .reg .b64 %rd<11>;
153+
; CHECK-PTX-NEXT: .reg .b32 %r<8>;
154+
; CHECK-PTX-NEXT: .reg .b64 %rd<8>;
157155
; CHECK-PTX-EMPTY:
158156
; CHECK-PTX-NEXT: // %bb.0: // %entry
159157
; CHECK-PTX-NEXT: mov.u64 %SPL, __local_depot2;
@@ -175,13 +173,11 @@ define dso_local i32 @variadics2(i32 noundef %first, ...) {
175173
; CHECK-PTX-NEXT: shl.b16 %rs4, %rs3, 8;
176174
; CHECK-PTX-NEXT: or.b16 %rs5, %rs4, %rs2;
177175
; CHECK-PTX-NEXT: st.u16 [%SP+0], %rs5;
178-
; CHECK-PTX-NEXT: ld.u64 %rd8, [%rd3+8];
179-
; CHECK-PTX-NEXT: add.s32 %r4, %r1, %r2;
180-
; CHECK-PTX-NEXT: add.s32 %r5, %r4, %r3;
181-
; CHECK-PTX-NEXT: cvt.u64.u32 %rd9, %r5;
182-
; CHECK-PTX-NEXT: add.s64 %rd10, %rd9, %rd8;
183-
; CHECK-PTX-NEXT: cvt.u32.u64 %r6, %rd10;
184-
; CHECK-PTX-NEXT: st.param.b32 [func_retval0+0], %r6;
176+
; CHECK-PTX-NEXT: ld.u32 %r4, [%rd3+8];
177+
; CHECK-PTX-NEXT: add.s32 %r5, %r1, %r2;
178+
; CHECK-PTX-NEXT: add.s32 %r6, %r5, %r3;
179+
; CHECK-PTX-NEXT: add.s32 %r7, %r6, %r4;
180+
; CHECK-PTX-NEXT: st.param.b32 [func_retval0+0], %r7;
185181
; CHECK-PTX-NEXT: ret;
186182
entry:
187183
%vlist = alloca ptr, align 8
@@ -347,20 +343,19 @@ entry:
347343
define dso_local i32 @variadics4(ptr noundef byval(%struct.S2) align 8 %first, ...) {
348344
; CHECK-PTX-LABEL: variadics4(
349345
; CHECK-PTX: {
350-
; CHECK-PTX-NEXT: .reg .b32 %r<2>;
351-
; CHECK-PTX-NEXT: .reg .b64 %rd<9>;
346+
; CHECK-PTX-NEXT: .reg .b32 %r<6>;
347+
; CHECK-PTX-NEXT: .reg .b64 %rd<4>;
352348
; CHECK-PTX-EMPTY:
353349
; CHECK-PTX-NEXT: // %bb.0: // %entry
354350
; CHECK-PTX-NEXT: ld.param.u64 %rd1, [variadics4_param_1];
355351
; CHECK-PTX-NEXT: add.s64 %rd2, %rd1, 7;
356352
; CHECK-PTX-NEXT: and.b64 %rd3, %rd2, -8;
357-
; CHECK-PTX-NEXT: ld.u64 %rd4, [%rd3];
358-
; CHECK-PTX-NEXT: ld.param.u64 %rd5, [variadics4_param_0];
359-
; CHECK-PTX-NEXT: ld.param.u64 %rd6, [variadics4_param_0+8];
360-
; CHECK-PTX-NEXT: add.s64 %rd7, %rd5, %rd6;
361-
; CHECK-PTX-NEXT: add.s64 %rd8, %rd7, %rd4;
362-
; CHECK-PTX-NEXT: cvt.u32.u64 %r1, %rd8;
363-
; CHECK-PTX-NEXT: st.param.b32 [func_retval0+0], %r1;
353+
; CHECK-PTX-NEXT: ld.u32 %r1, [%rd3];
354+
; CHECK-PTX-NEXT: ld.param.u32 %r2, [variadics4_param_0];
355+
; CHECK-PTX-NEXT: ld.param.u32 %r3, [variadics4_param_0+8];
356+
; CHECK-PTX-NEXT: add.s32 %r4, %r2, %r3;
357+
; CHECK-PTX-NEXT: add.s32 %r5, %r4, %r1;
358+
; CHECK-PTX-NEXT: st.param.b32 [func_retval0+0], %r5;
364359
; CHECK-PTX-NEXT: ret;
365360
entry:
366361
%vlist = alloca ptr, align 8

0 commit comments

Comments
 (0)