@@ -18,7 +18,7 @@ TEXT ·addVV(SB), NOSPLIT, $0
18
18
MOVD z + 0 (FP) , R10 // R10 = z []
19
19
20
20
// If z_len = 0 , we are done
21
- CMP R0 , R7
21
+ CMP R7 , $ 0
22
22
MOVD R0 , R4
23
23
BEQ done
24
24
@@ -28,12 +28,12 @@ TEXT ·addVV(SB), NOSPLIT, $0
28
28
MOVD 0 ( R9 ) , R12 // R12 = y [ i ]
29
29
ADD $ - 1 , R7 // R7 = z_len - 1
30
30
ADDC R12 , R11 , R15 // R15 = x [ i ] + y [ i ], set CA
31
- CMP R0 , R7
31
+ CMP R7 , $ 0
32
32
MOVD R15 , 0 ( R10 ) // z [ i ]
33
33
BEQ final // If z_len was 1 , we are done
34
34
35
35
SRD $ 2 , R7 , R5 // R5 = z_len/ 4
36
- CMP R0 , R5
36
+ CMP R5 , $ 0
37
37
MOVD R5 , CTR // Set up loop counter
38
38
BEQ tail // If R5 = 0 , we can't use the loop
39
39
65
65
BDNZ loop
66
66
67
67
// We may have more elements to read
68
- CMP R0 , R7
68
+ CMP R7 , $ 0
69
69
BEQ final
70
70
71
71
// Process the remaining elements , one at a time
@@ -74,15 +74,15 @@ tail:
74
74
MOVDU 8 ( R9 ) , R16 // R16 = y [ i ]
75
75
ADD $ - 1 , R7 // R7 = z_len - 1
76
76
ADDE R11 , R16 , R20 // R20 = x [ i ] + y [ i ] + CA
77
- CMP R0 , R7
77
+ CMP R7 , $ 0
78
78
MOVDU R20 , 8 ( R10 ) // z [ i ]
79
79
BEQ final // If R7 = 0 , we are done
80
80
81
81
MOVDU 8 ( R8 ) , R11
82
82
MOVDU 8 ( R9 ) , R16
83
83
ADD $ - 1 , R7
84
84
ADDE R11 , R16 , R20
85
- CMP R0 , R7
85
+ CMP R7 , $ 0
86
86
MOVDU R20 , 8 ( R10 )
87
87
BEQ final
88
88
@@ -107,7 +107,7 @@ TEXT ·subVV(SB), NOSPLIT, $0
107
107
MOVD z + 0 (FP) , R10 // R10 = z []
108
108
109
109
// If z_len = 0 , we are done
110
- CMP R0 , R7
110
+ CMP R7 , $ 0
111
111
MOVD R0 , R4
112
112
BEQ done
113
113
@@ -117,12 +117,12 @@ TEXT ·subVV(SB), NOSPLIT, $0
117
117
MOVD 0 ( R9 ) , R12 // R12 = y [ i ]
118
118
ADD $ - 1 , R7 // R7 = z_len - 1
119
119
SUBC R12 , R11 , R15 // R15 = x [ i ] - y [ i ], set CA
120
- CMP R0 , R7
120
+ CMP R7 , $ 0
121
121
MOVD R15 , 0 ( R10 ) // z [ i ]
122
122
BEQ final // If z_len was 1 , we are done
123
123
124
124
SRD $ 2 , R7 , R5 // R5 = z_len/ 4
125
- CMP R0 , R5
125
+ CMP R5 , $ 0
126
126
MOVD R5 , CTR // Set up loop counter
127
127
BEQ tail // If R5 = 0 , we can't use the loop
128
128
@@ -154,7 +154,7 @@ loop:
154
154
BDNZ loop
155
155
156
156
// We may have more elements to read
157
- CMP R0 , R7
157
+ CMP R7 , $ 0
158
158
BEQ final
159
159
160
160
// Process the remaining elements , one at a time
@@ -163,15 +163,15 @@ tail:
163
163
MOVDU 8 ( R9 ) , R16 // R16 = y [ i ]
164
164
ADD $ - 1 , R7 // R7 = z_len - 1
165
165
SUBE R16 , R11 , R20 // R20 = x [ i ] - y [ i ] + CA
166
- CMP R0 , R7
166
+ CMP R7 , $ 0
167
167
MOVDU R20 , 8 ( R10 ) // z [ i ]
168
168
BEQ final // If R7 = 0 , we are done
169
169
170
170
MOVDU 8 ( R8 ) , R11
171
171
MOVDU 8 ( R9 ) , R16
172
172
ADD $ - 1 , R7
173
173
SUBE R16 , R11 , R20
174
- CMP R0 , R7
174
+ CMP R7 , $ 0
175
175
MOVDU R20 , 8 ( R10 )
176
176
BEQ final
177
177
@@ -195,7 +195,7 @@ TEXT ·addVW(SB), NOSPLIT, $0
195
195
MOVD y + 48 (FP) , R4 // R4 = y = c
196
196
MOVD z_len + 8 (FP) , R11 // R11 = z_len
197
197
198
- CMP R0 , R11 // If z_len is zero , return
198
+ CMP R11 , $ 0 // If z_len is zero , return
199
199
BEQ done
200
200
201
201
// We will process the first iteration out of the loop so we capture
@@ -204,14 +204,13 @@ TEXT ·addVW(SB), NOSPLIT, $0
204
204
MOVD 0 ( R8 ) , R20 // R20 = x [ i ]
205
205
ADD $ - 1 , R11 // R11 = z_len - 1
206
206
ADDC R20 , R4 , R6 // R6 = x [ i ] + c
207
- CMP R0 , R11 // If z_len was 1 , we are done
207
+ CMP R11 , $ 0 // If z_len was 1 , we are done
208
208
MOVD R6 , 0 ( R10 ) // z [ i ]
209
209
BEQ final
210
210
211
211
// We will read 4 elements per iteration
212
- SRD $ 2 , R11 , R9 // R9 = z_len/ 4
212
+ SRDCC $ 2 , R11 , R9 // R9 = z_len/ 4
213
213
DCBT ( R8 )
214
- CMP R0 , R9
215
214
MOVD R9 , CTR // Set up the loop counter
216
215
BEQ tail // If R9 = 0 , we can't use the loop
217
216
PCALIGN $ 16
@@ -233,22 +232,22 @@ loop:
233
232
BDNZ loop
234
233
235
234
// We may have some elements to read
236
- CMP R0 , R11
235
+ CMP R11 , $ 0
237
236
BEQ final
238
237
239
238
tail:
240
239
MOVDU 8 ( R8 ) , R20
241
240
ADDZE R20 , R24
242
241
ADD $ - 1 , R11
243
242
MOVDU R24 , 8 ( R10 )
244
- CMP R0 , R11
243
+ CMP R11 , $ 0
245
244
BEQ final
246
245
247
246
MOVDU 8 ( R8 ) , R20
248
247
ADDZE R20 , R24
249
248
ADD $ - 1 , R11
250
249
MOVDU R24 , 8 ( R10 )
251
- CMP R0 , R11
250
+ CMP R11 , $ 0
252
251
BEQ final
253
252
254
253
MOVD 8 ( R8 ) , R20
@@ -268,7 +267,7 @@ TEXT ·subVW(SB), NOSPLIT, $0
268
267
MOVD y + 48 (FP) , R4 // R4 = y = c
269
268
MOVD z_len + 8 (FP) , R11 // R11 = z_len
270
269
271
- CMP R0 , R11 // If z_len is zero , return
270
+ CMP R11 , $ 0 // If z_len is zero , return
272
271
BEQ done
273
272
274
273
// We will process the first iteration out of the loop so we capture
@@ -277,14 +276,13 @@ TEXT ·subVW(SB), NOSPLIT, $0
277
276
MOVD 0 ( R8 ) , R20 // R20 = x [ i ]
278
277
ADD $ - 1 , R11 // R11 = z_len - 1
279
278
SUBC R4 , R20 , R6 // R6 = x [ i ] - c
280
- CMP R0 , R11 // If z_len was 1 , we are done
279
+ CMP R11 , $ 0 // If z_len was 1 , we are done
281
280
MOVD R6 , 0 ( R10 ) // z [ i ]
282
281
BEQ final
283
282
284
283
// We will read 4 elements per iteration
285
- SRD $ 2 , R11 , R9 // R9 = z_len/ 4
284
+ SRDCC $ 2 , R11 , R9 // R9 = z_len/ 4
286
285
DCBT ( R8 )
287
- CMP R0 , R9
288
286
MOVD R9 , CTR // Set up the loop counter
289
287
BEQ tail // If R9 = 0 , we can't use the loop
290
288
@@ -310,22 +308,22 @@ loop:
310
308
BDNZ loop
311
309
312
310
// We may have some elements to read
313
- CMP R0 , R11
311
+ CMP R11 , $ 0
314
312
BEQ final
315
313
316
314
tail:
317
315
MOVDU 8 ( R8 ) , R20
318
316
SUBE R0 , R20
319
317
ADD $ - 1 , R11
320
318
MOVDU R20 , 8 ( R10 )
321
- CMP R0 , R11
319
+ CMP R11 , $ 0
322
320
BEQ final
323
321
324
322
MOVDU 8 ( R8 ) , R20
325
323
SUBE R0 , R20
326
324
ADD $ - 1 , R11
327
325
MOVDU R20 , 8 ( R10 )
328
- CMP R0 , R11
326
+ CMP R11 , $ 0
329
327
BEQ final
330
328
331
329
MOVD 8 ( R8 ) , R20
@@ -348,9 +346,9 @@ TEXT ·shlVU(SB), NOSPLIT, $0
348
346
MOVD s + 48 (FP) , R9
349
347
MOVD z_len + 8 (FP) , R4
350
348
MOVD x_len + 32 (FP) , R7
351
- CMP R9 , R0 // s== 0 copy(z , x)
349
+ CMP R9 , $ 0 // s== 0 copy(z , x)
352
350
BEQ zeroshift
353
- CMP R4 , R0 // len(z)== 0 return
351
+ CMP R4 , $ 0 // len(z)== 0 return
354
352
BEQ done
355
353
356
354
ADD $ - 1 , R4 , R5 // len(z) - 1
@@ -360,7 +358,7 @@ TEXT ·shlVU(SB), NOSPLIT, $0
360
358
ADD R3 , R7 , R16 // save starting address &z [ len(z) - 1 ]
361
359
MOVD (R6)(R7) , R14
362
360
SRD R4 , R14 , R7 // compute x [ len(z) - 1 ] >>ŝ into R7
363
- CMP R5 , R0 // iterate from i=len(z) - 1 to 0
361
+ CMP R5 , $ 0 // iterate from i=len(z) - 1 to 0
364
362
BEQ loopexit // Already at end?
365
363
MOVD 0 ( R15 ) , R10 // x [ i ]
366
364
PCALIGN $ 16
@@ -382,7 +380,7 @@ loopexit:
382
380
RET
383
381
384
382
zeroshift:
385
- CMP R6 , R0 // x is null , nothing to copy
383
+ CMP R6 , $ 0 // x is null , nothing to copy
386
384
BEQ done
387
385
CMP R6 , R3 // if x is same as z , nothing to copy
388
386
BEQ done
@@ -423,9 +421,9 @@ TEXT ·shrVU(SB), NOSPLIT, $0
423
421
MOVD z_len + 8 (FP) , R4
424
422
MOVD x_len + 32 (FP) , R7
425
423
426
- CMP R9 , R0 // s== 0 , copy(z , x)
424
+ CMP R9 , $ 0 // s== 0 , copy(z , x)
427
425
BEQ zeroshift
428
- CMP R4 , R0 // len(z)== 0 return
426
+ CMP R4 , $ 0 // len(z)== 0 return
429
427
BEQ done
430
428
SUBC R9 , $ 64 , R5 // ŝ=_W - s , we skip & by _W - 1 as the caller ensures s < _W( 64 )
431
429
@@ -480,7 +478,7 @@ loopexit:
480
478
RET
481
479
482
480
zeroshift:
483
- CMP R6 , R0 // x is null , nothing to copy
481
+ CMP R6 , $ 0 // x is null , nothing to copy
484
482
BEQ done
485
483
CMP R6 , R3 // if x is same as z , nothing to copy
486
484
BEQ done
@@ -506,7 +504,7 @@ TEXT ·mulAddVWW(SB), NOSPLIT, $0
506
504
MOVD r + 56 (FP) , R4 // R4 = r = c
507
505
MOVD z_len + 8 (FP) , R11 // R11 = z_len
508
506
509
- CMP R0 , R11
507
+ CMP R11 , $ 0
510
508
BEQ done
511
509
512
510
MOVD 0 ( R8 ) , R20
@@ -515,14 +513,13 @@ TEXT ·mulAddVWW(SB), NOSPLIT, $0
515
513
MULHDU R9 , R20 , R7 // R7 = z1 = High - order(x [ i ]* y)
516
514
ADDC R4 , R6 // R6 = z0 + r
517
515
ADDZE R7 , R4 // R4 = z1 + CA
518
- CMP R0 , R11
516
+ CMP R11 , $ 0
519
517
MOVD R6 , 0 ( R10 ) // z [ i ]
520
518
BEQ done
521
519
522
520
// We will read 4 elements per iteration
523
- SRD $ 2 , R11 , R14 // R14 = z_len/ 4
521
+ SRDCC $ 2 , R11 , R14 // R14 = z_len/ 4
524
522
DCBT ( R8 )
525
- CMP R0 , R14
526
523
MOVD R14 , CTR // Set up the loop counter
527
524
BEQ tail // If R9 = 0 , we can't use the loop
528
525
PCALIGN $ 16
@@ -553,7 +550,7 @@ loop:
553
550
BDNZ loop
554
551
555
552
// We may have some elements to read
556
- CMP R0 , R11
553
+ CMP R11 , $ 0
557
554
BEQ done
558
555
559
556
// Process the remaining elements , one at a time
@@ -565,7 +562,7 @@ tail:
565
562
ADDC R4 , R24
566
563
ADDZE R25 , R4
567
564
MOVDU R24 , 8 ( R10 ) // z [ i ]
568
- CMP R0 , R11
565
+ CMP R11 , $ 0
569
566
BEQ done // If R11 = 0 , we are done
570
567
571
568
MOVDU 8 ( R8 ) , R20
@@ -575,7 +572,7 @@ tail:
575
572
ADDC R4 , R24
576
573
ADDZE R25 , R4
577
574
MOVDU R24 , 8 ( R10 )
578
- CMP R0 , R11
575
+ CMP R11 , $ 0
579
576
BEQ done
580
577
581
578
MOVD 8 ( R8 ) , R20
@@ -647,7 +644,7 @@ loop:
647
644
648
645
ANDCC $ 3 , R6
649
646
tail:
650
- CMP R0 , R6
647
+ CMP R6 , $ 0
651
648
BEQ done
652
649
MOVD R6 , CTR
653
650
PCALIGN $ 16
0 commit comments