@@ -68,22 +68,22 @@ define i32 @trunc_cvt(i64 %a, i64 %b) {
6868define i32 @trunc_cvt_not (i64 %a , i64 %b ) {
6969; CHECK-LABEL: trunc_cvt_not(
7070; CHECK: {
71- ; CHECK-NEXT: .reg .b32 %r<5 >;
72- ; CHECK-NEXT: .reg .b64 %rd<4 >;
71+ ; CHECK-NEXT: .reg .b32 %r<4 >;
72+ ; CHECK-NEXT: .reg .b64 %rd<5 >;
7373; CHECK-EMPTY:
7474; CHECK-NEXT: // %bb.0:
7575; CHECK-NEXT: ld.param.u64 %rd1, [trunc_cvt_not_param_0];
7676; CHECK-NEXT: ld.param.u64 %rd2, [trunc_cvt_not_param_1];
77- ; CHECK-NEXT: mov.u64 %rd3, 0;
78- ; CHECK-NEXT: st.u64 [%rd3], %rd2;
79- ; CHECK-NEXT: cvt.u32.u64 %r1, %rd2;
77+ ; CHECK-NEXT: add.s64 %rd3, %rd1, %rd2;
78+ ; CHECK-NEXT: mov.u64 %rd4, 0;
79+ ; CHECK-NEXT: st.u64 [%rd4], %rd3;
80+ ; CHECK-NEXT: cvt.u32.u64 %r1, %rd3;
8081; CHECK-NEXT: cvt.u32.u64 %r2, %rd1;
81- ; CHECK-NEXT: add.s32 %r3, %r2, %r1;
82- ; CHECK-NEXT: or.b32 %r4, %r3, %r2;
83- ; CHECK-NEXT: st.param.b32 [func_retval0+0], %r4;
82+ ; CHECK-NEXT: or.b32 %r3, %r1, %r2;
83+ ; CHECK-NEXT: st.param.b32 [func_retval0+0], %r3;
8484; CHECK-NEXT: ret;
8585 %add = add i64 %a , %b
86- store i64 %b , ptr null
86+ store i64 %add , ptr null
8787 %or = or i64 %add , %a
8888 %trunc = trunc i64 %or to i32
8989 ret i32 %trunc
0 commit comments