@@ -47,93 +47,93 @@ define void @test(ptr %dp0, ptr addrspace(1) %dp1, ptr addrspace(3) %dp3, bfloat
4747; CHECKPTX71: {
4848; CHECKPTX71-NEXT: .reg .pred %p<5>;
4949; CHECKPTX71-NEXT: .reg .b16 %rs<14>;
50- ; CHECKPTX71-NEXT: .reg .b32 %r<58 >;
50+ ; CHECKPTX71-NEXT: .reg .b32 %r<50 >;
5151; CHECKPTX71-EMPTY:
5252; CHECKPTX71-NEXT: // %bb.0:
5353; CHECKPTX71-NEXT: ld.param.b16 %rs1, [test_param_3];
54- ; CHECKPTX71-NEXT: ld.param.b32 %r23 , [test_param_2];
55- ; CHECKPTX71-NEXT: ld.param.b32 %r22 , [test_param_1];
56- ; CHECKPTX71-NEXT: ld.param.b32 %r24 , [test_param_0];
57- ; CHECKPTX71-NEXT: and.b32 %r1, %r24 , -4;
58- ; CHECKPTX71-NEXT: and.b32 %r25 , %r24 , 3;
59- ; CHECKPTX71-NEXT: shl.b32 %r2, %r25 , 3;
60- ; CHECKPTX71-NEXT: mov.b32 %r26 , 65535;
61- ; CHECKPTX71-NEXT: shl.b32 %r27 , %r26 , %r2;
62- ; CHECKPTX71-NEXT: not.b32 %r3, %r27 ;
63- ; CHECKPTX71-NEXT: ld.b32 %r54 , [%r1];
54+ ; CHECKPTX71-NEXT: ld.param.b32 %r15 , [test_param_2];
55+ ; CHECKPTX71-NEXT: ld.param.b32 %r14 , [test_param_1];
56+ ; CHECKPTX71-NEXT: ld.param.b32 %r16 , [test_param_0];
57+ ; CHECKPTX71-NEXT: and.b32 %r1, %r16 , -4;
58+ ; CHECKPTX71-NEXT: and.b32 %r17 , %r16 , 3;
59+ ; CHECKPTX71-NEXT: shl.b32 %r2, %r17 , 3;
60+ ; CHECKPTX71-NEXT: mov.b32 %r18 , 65535;
61+ ; CHECKPTX71-NEXT: shl.b32 %r19 , %r18 , %r2;
62+ ; CHECKPTX71-NEXT: not.b32 %r3, %r19 ;
63+ ; CHECKPTX71-NEXT: ld.b32 %r46 , [%r1];
6464; CHECKPTX71-NEXT: $L__BB0_1: // %atomicrmw.start45
6565; CHECKPTX71-NEXT: // =>This Inner Loop Header: Depth=1
66- ; CHECKPTX71-NEXT: shr.u32 %r28 , %r54 , %r2;
67- ; CHECKPTX71-NEXT: cvt.u16.u32 %rs2, %r28 ;
66+ ; CHECKPTX71-NEXT: shr.u32 %r20 , %r46 , %r2;
67+ ; CHECKPTX71-NEXT: cvt.u16.u32 %rs2, %r20 ;
6868; CHECKPTX71-NEXT: mov.b16 %rs3, 0x3F80;
6969; CHECKPTX71-NEXT: fma.rn.bf16 %rs4, %rs2, %rs3, %rs1;
70- ; CHECKPTX71-NEXT: cvt.u32.u16 %r29 , %rs4;
71- ; CHECKPTX71-NEXT: shl.b32 %r30 , %r29 , %r2;
72- ; CHECKPTX71-NEXT: and.b32 %r31 , %r54 , %r3;
73- ; CHECKPTX71-NEXT: or.b32 %r32 , %r31 , %r30 ;
74- ; CHECKPTX71-NEXT: atom.relaxed.sys.cas.b32 %r6 , [%r1], %r54 , %r32 ;
75- ; CHECKPTX71-NEXT: setp.ne.b32 %p1, %r6 , %r54 ;
76- ; CHECKPTX71-NEXT: mov.b32 %r54 , %r6 ;
70+ ; CHECKPTX71-NEXT: cvt.u32.u16 %r21 , %rs4;
71+ ; CHECKPTX71-NEXT: shl.b32 %r22 , %r21 , %r2;
72+ ; CHECKPTX71-NEXT: and.b32 %r23 , %r46 , %r3;
73+ ; CHECKPTX71-NEXT: or.b32 %r24 , %r23 , %r22 ;
74+ ; CHECKPTX71-NEXT: atom.relaxed.sys.cas.b32 %r4 , [%r1], %r46 , %r24 ;
75+ ; CHECKPTX71-NEXT: setp.ne.b32 %p1, %r4 , %r46 ;
76+ ; CHECKPTX71-NEXT: mov.b32 %r46 , %r4 ;
7777; CHECKPTX71-NEXT: @%p1 bra $L__BB0_1;
7878; CHECKPTX71-NEXT: // %bb.2: // %atomicrmw.end44
79- ; CHECKPTX71-NEXT: ld.b32 %r55 , [%r1];
79+ ; CHECKPTX71-NEXT: ld.b32 %r47 , [%r1];
8080; CHECKPTX71-NEXT: $L__BB0_3: // %atomicrmw.start27
8181; CHECKPTX71-NEXT: // =>This Inner Loop Header: Depth=1
82- ; CHECKPTX71-NEXT: shr.u32 %r33 , %r55 , %r2;
83- ; CHECKPTX71-NEXT: cvt.u16.u32 %rs5, %r33 ;
82+ ; CHECKPTX71-NEXT: shr.u32 %r25 , %r47 , %r2;
83+ ; CHECKPTX71-NEXT: cvt.u16.u32 %rs5, %r25 ;
8484; CHECKPTX71-NEXT: mov.b16 %rs6, 0x3F80;
8585; CHECKPTX71-NEXT: fma.rn.bf16 %rs7, %rs5, %rs6, %rs6;
86- ; CHECKPTX71-NEXT: cvt.u32.u16 %r34 , %rs7;
87- ; CHECKPTX71-NEXT: shl.b32 %r35 , %r34 , %r2;
88- ; CHECKPTX71-NEXT: and.b32 %r36 , %r55 , %r3;
89- ; CHECKPTX71-NEXT: or.b32 %r37 , %r36 , %r35 ;
90- ; CHECKPTX71-NEXT: atom.relaxed.sys.cas.b32 %r9 , [%r1], %r55 , %r37 ;
91- ; CHECKPTX71-NEXT: setp.ne.b32 %p2, %r9 , %r55 ;
92- ; CHECKPTX71-NEXT: mov.b32 %r55 , %r9 ;
86+ ; CHECKPTX71-NEXT: cvt.u32.u16 %r26 , %rs7;
87+ ; CHECKPTX71-NEXT: shl.b32 %r27 , %r26 , %r2;
88+ ; CHECKPTX71-NEXT: and.b32 %r28 , %r47 , %r3;
89+ ; CHECKPTX71-NEXT: or.b32 %r29 , %r28 , %r27 ;
90+ ; CHECKPTX71-NEXT: atom.relaxed.sys.cas.b32 %r5 , [%r1], %r47 , %r29 ;
91+ ; CHECKPTX71-NEXT: setp.ne.b32 %p2, %r5 , %r47 ;
92+ ; CHECKPTX71-NEXT: mov.b32 %r47 , %r5 ;
9393; CHECKPTX71-NEXT: @%p2 bra $L__BB0_3;
9494; CHECKPTX71-NEXT: // %bb.4: // %atomicrmw.end26
95- ; CHECKPTX71-NEXT: and.b32 %r10 , %r22 , -4;
96- ; CHECKPTX71-NEXT: shl.b32 %r38 , %r22 , 3;
97- ; CHECKPTX71-NEXT: and.b32 %r11 , %r38 , 24;
98- ; CHECKPTX71-NEXT: mov.b32 %r39 , 65535;
99- ; CHECKPTX71-NEXT: shl.b32 %r40 , %r39 , %r11 ;
100- ; CHECKPTX71-NEXT: not.b32 %r12 , %r40 ;
101- ; CHECKPTX71-NEXT: ld.global.b32 %r56 , [%r10 ];
95+ ; CHECKPTX71-NEXT: and.b32 %r6 , %r14 , -4;
96+ ; CHECKPTX71-NEXT: shl.b32 %r30 , %r14 , 3;
97+ ; CHECKPTX71-NEXT: and.b32 %r7 , %r30 , 24;
98+ ; CHECKPTX71-NEXT: mov.b32 %r31 , 65535;
99+ ; CHECKPTX71-NEXT: shl.b32 %r32 , %r31 , %r7 ;
100+ ; CHECKPTX71-NEXT: not.b32 %r8 , %r32 ;
101+ ; CHECKPTX71-NEXT: ld.global.b32 %r48 , [%r6 ];
102102; CHECKPTX71-NEXT: $L__BB0_5: // %atomicrmw.start9
103103; CHECKPTX71-NEXT: // =>This Inner Loop Header: Depth=1
104- ; CHECKPTX71-NEXT: shr.u32 %r41 , %r56 , %r11 ;
105- ; CHECKPTX71-NEXT: cvt.u16.u32 %rs8, %r41 ;
104+ ; CHECKPTX71-NEXT: shr.u32 %r33 , %r48 , %r7 ;
105+ ; CHECKPTX71-NEXT: cvt.u16.u32 %rs8, %r33 ;
106106; CHECKPTX71-NEXT: mov.b16 %rs9, 0x3F80;
107107; CHECKPTX71-NEXT: fma.rn.bf16 %rs10, %rs8, %rs9, %rs1;
108- ; CHECKPTX71-NEXT: cvt.u32.u16 %r42 , %rs10;
109- ; CHECKPTX71-NEXT: shl.b32 %r43 , %r42 , %r11 ;
110- ; CHECKPTX71-NEXT: and.b32 %r44 , %r56 , %r12 ;
111- ; CHECKPTX71-NEXT: or.b32 %r45 , %r44 , %r43 ;
112- ; CHECKPTX71-NEXT: atom.relaxed.sys.global.cas.b32 %r15 , [%r10 ], %r56 , %r45 ;
113- ; CHECKPTX71-NEXT: setp.ne.b32 %p3, %r15 , %r56 ;
114- ; CHECKPTX71-NEXT: mov.b32 %r56 , %r15 ;
108+ ; CHECKPTX71-NEXT: cvt.u32.u16 %r34 , %rs10;
109+ ; CHECKPTX71-NEXT: shl.b32 %r35 , %r34 , %r7 ;
110+ ; CHECKPTX71-NEXT: and.b32 %r36 , %r48 , %r8 ;
111+ ; CHECKPTX71-NEXT: or.b32 %r37 , %r36 , %r35 ;
112+ ; CHECKPTX71-NEXT: atom.relaxed.sys.global.cas.b32 %r9 , [%r6 ], %r48 , %r37 ;
113+ ; CHECKPTX71-NEXT: setp.ne.b32 %p3, %r9 , %r48 ;
114+ ; CHECKPTX71-NEXT: mov.b32 %r48 , %r9 ;
115115; CHECKPTX71-NEXT: @%p3 bra $L__BB0_5;
116116; CHECKPTX71-NEXT: // %bb.6: // %atomicrmw.end8
117- ; CHECKPTX71-NEXT: and.b32 %r16 , %r23 , -4;
118- ; CHECKPTX71-NEXT: shl.b32 %r46 , %r23 , 3;
119- ; CHECKPTX71-NEXT: and.b32 %r17 , %r46 , 24;
120- ; CHECKPTX71-NEXT: mov.b32 %r47 , 65535;
121- ; CHECKPTX71-NEXT: shl.b32 %r48 , %r47 , %r17 ;
122- ; CHECKPTX71-NEXT: not.b32 %r18 , %r48 ;
123- ; CHECKPTX71-NEXT: ld.shared.b32 %r57 , [%r16 ];
117+ ; CHECKPTX71-NEXT: and.b32 %r10 , %r15 , -4;
118+ ; CHECKPTX71-NEXT: shl.b32 %r38 , %r15 , 3;
119+ ; CHECKPTX71-NEXT: and.b32 %r11 , %r38 , 24;
120+ ; CHECKPTX71-NEXT: mov.b32 %r39 , 65535;
121+ ; CHECKPTX71-NEXT: shl.b32 %r40 , %r39 , %r11 ;
122+ ; CHECKPTX71-NEXT: not.b32 %r12 , %r40 ;
123+ ; CHECKPTX71-NEXT: ld.shared.b32 %r49 , [%r10 ];
124124; CHECKPTX71-NEXT: $L__BB0_7: // %atomicrmw.start
125125; CHECKPTX71-NEXT: // =>This Inner Loop Header: Depth=1
126- ; CHECKPTX71-NEXT: shr.u32 %r49 , %r57 , %r17 ;
127- ; CHECKPTX71-NEXT: cvt.u16.u32 %rs11, %r49 ;
126+ ; CHECKPTX71-NEXT: shr.u32 %r41 , %r49 , %r11 ;
127+ ; CHECKPTX71-NEXT: cvt.u16.u32 %rs11, %r41 ;
128128; CHECKPTX71-NEXT: mov.b16 %rs12, 0x3F80;
129129; CHECKPTX71-NEXT: fma.rn.bf16 %rs13, %rs11, %rs12, %rs1;
130- ; CHECKPTX71-NEXT: cvt.u32.u16 %r50 , %rs13;
131- ; CHECKPTX71-NEXT: shl.b32 %r51 , %r50 , %r17 ;
132- ; CHECKPTX71-NEXT: and.b32 %r52 , %r57 , %r18 ;
133- ; CHECKPTX71-NEXT: or.b32 %r53 , %r52 , %r51 ;
134- ; CHECKPTX71-NEXT: atom.relaxed.sys.shared.cas.b32 %r21 , [%r16 ], %r57 , %r53 ;
135- ; CHECKPTX71-NEXT: setp.ne.b32 %p4, %r21 , %r57 ;
136- ; CHECKPTX71-NEXT: mov.b32 %r57 , %r21 ;
130+ ; CHECKPTX71-NEXT: cvt.u32.u16 %r42 , %rs13;
131+ ; CHECKPTX71-NEXT: shl.b32 %r43 , %r42 , %r11 ;
132+ ; CHECKPTX71-NEXT: and.b32 %r44 , %r49 , %r12 ;
133+ ; CHECKPTX71-NEXT: or.b32 %r45 , %r44 , %r43 ;
134+ ; CHECKPTX71-NEXT: atom.relaxed.sys.shared.cas.b32 %r13 , [%r10 ], %r49 , %r45 ;
135+ ; CHECKPTX71-NEXT: setp.ne.b32 %p4, %r13 , %r49 ;
136+ ; CHECKPTX71-NEXT: mov.b32 %r49 , %r13 ;
137137; CHECKPTX71-NEXT: @%p4 bra $L__BB0_7;
138138; CHECKPTX71-NEXT: // %bb.8: // %atomicrmw.end
139139; CHECKPTX71-NEXT: ret;
0 commit comments