Skip to content

Commit d47b2dc

Browse files
xen0nchenhuacai
authored andcommitted
LoongArch: Simplify "BEQ/BNE foo, zero" with BEQZ/BNEZ
While B{EQ,NE}Z and B{EQ,NE} are different instructions, and the vastly expanded range for branch destination does not really matter in the few cases touched, use the B{EQ,NE}Z where possible for shorter lines and better consistency (e.g. some places used "BEQ foo, zero", while some used "BEQ zero, foo"). Signed-off-by: WANG Xuerui <[email protected]> Signed-off-by: Huacai Chen <[email protected]>
1 parent 57ce5d3 commit d47b2dc

File tree

4 files changed

+22
-22
lines changed

4 files changed

+22
-22
lines changed

arch/loongarch/include/asm/atomic.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ static inline int arch_atomic_sub_if_positive(int i, atomic_t *v)
160160
" move %1, %0 \n"
161161
" blt %0, $zero, 2f \n"
162162
" sc.w %1, %2 \n"
163-
" beq $zero, %1, 1b \n"
163+
" beqz %1, 1b \n"
164164
"2: \n"
165165
__WEAK_LLSC_MB
166166
: "=&r" (result), "=&r" (temp),
@@ -173,7 +173,7 @@ static inline int arch_atomic_sub_if_positive(int i, atomic_t *v)
173173
" move %1, %0 \n"
174174
" blt %0, $zero, 2f \n"
175175
" sc.w %1, %2 \n"
176-
" beq $zero, %1, 1b \n"
176+
" beqz %1, 1b \n"
177177
"2: \n"
178178
__WEAK_LLSC_MB
179179
: "=&r" (result), "=&r" (temp),
@@ -323,7 +323,7 @@ static inline long arch_atomic64_sub_if_positive(long i, atomic64_t *v)
323323
" move %1, %0 \n"
324324
" blt %0, $zero, 2f \n"
325325
" sc.d %1, %2 \n"
326-
" beq %1, $zero, 1b \n"
326+
" beqz %1, 1b \n"
327327
"2: \n"
328328
__WEAK_LLSC_MB
329329
: "=&r" (result), "=&r" (temp),
@@ -336,7 +336,7 @@ static inline long arch_atomic64_sub_if_positive(long i, atomic64_t *v)
336336
" move %1, %0 \n"
337337
" blt %0, $zero, 2f \n"
338338
" sc.d %1, %2 \n"
339-
" beq %1, $zero, 1b \n"
339+
" beqz %1, 1b \n"
340340
"2: \n"
341341
__WEAK_LLSC_MB
342342
: "=&r" (result), "=&r" (temp),

arch/loongarch/include/asm/cmpxchg.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ static inline unsigned long __xchg(volatile void *ptr, unsigned long x,
5757
" bne %0, %z3, 2f \n" \
5858
" move $t0, %z4 \n" \
5959
" " st " $t0, %1 \n" \
60-
" beq $zero, $t0, 1b \n" \
60+
" beqz $t0, 1b \n" \
6161
"2: \n" \
6262
__WEAK_LLSC_MB \
6363
: "=&r" (__ret), "=ZB"(*m) \

arch/loongarch/include/asm/futex.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"1: ll.w %1, %4 # __futex_atomic_op\n" \
1818
" " insn " \n" \
1919
"2: sc.w $t0, %2 \n" \
20-
" beq $t0, $zero, 1b \n" \
20+
" beqz $t0, 1b \n" \
2121
"3: \n" \
2222
" .section .fixup,\"ax\" \n" \
2323
"4: li.w %0, %6 \n" \
@@ -84,7 +84,7 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, u32 oldval, u32 newv
8484
" bne %1, %z4, 3f \n"
8585
" move $t0, %z5 \n"
8686
"2: sc.w $t0, %2 \n"
87-
" beq $zero, $t0, 1b \n"
87+
" beqz $t0, 1b \n"
8888
"3: \n"
8989
__WEAK_LLSC_MB
9090
" .section .fixup,\"ax\" \n"

arch/loongarch/mm/tlbex.S

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ vmalloc_done_load:
8080
* see if we need to jump to huge tlb processing.
8181
*/
8282
andi t0, ra, _PAGE_HUGE
83-
bne t0, zero, tlb_huge_update_load
83+
bnez t0, tlb_huge_update_load
8484

8585
csrrd t0, LOONGARCH_CSR_BADV
8686
srli.d t0, t0, (PAGE_SHIFT + PTE_ORDER)
@@ -100,12 +100,12 @@ smp_pgtable_change_load:
100100

101101
srli.d ra, t0, _PAGE_PRESENT_SHIFT
102102
andi ra, ra, 1
103-
beq ra, zero, nopage_tlb_load
103+
beqz ra, nopage_tlb_load
104104

105105
ori t0, t0, _PAGE_VALID
106106
#ifdef CONFIG_SMP
107107
sc.d t0, t1, 0
108-
beq t0, zero, smp_pgtable_change_load
108+
beqz t0, smp_pgtable_change_load
109109
#else
110110
st.d t0, t1, 0
111111
#endif
@@ -139,13 +139,13 @@ tlb_huge_update_load:
139139
#endif
140140
srli.d ra, t0, _PAGE_PRESENT_SHIFT
141141
andi ra, ra, 1
142-
beq ra, zero, nopage_tlb_load
142+
beqz ra, nopage_tlb_load
143143
tlbsrch
144144

145145
ori t0, t0, _PAGE_VALID
146146
#ifdef CONFIG_SMP
147147
sc.d t0, t1, 0
148-
beq t0, zero, tlb_huge_update_load
148+
beqz t0, tlb_huge_update_load
149149
ld.d t0, t1, 0
150150
#else
151151
st.d t0, t1, 0
@@ -244,7 +244,7 @@ vmalloc_done_store:
244244
* see if we need to jump to huge tlb processing.
245245
*/
246246
andi t0, ra, _PAGE_HUGE
247-
bne t0, zero, tlb_huge_update_store
247+
bnez t0, tlb_huge_update_store
248248

249249
csrrd t0, LOONGARCH_CSR_BADV
250250
srli.d t0, t0, (PAGE_SHIFT + PTE_ORDER)
@@ -265,12 +265,12 @@ smp_pgtable_change_store:
265265
srli.d ra, t0, _PAGE_PRESENT_SHIFT
266266
andi ra, ra, ((_PAGE_PRESENT | _PAGE_WRITE) >> _PAGE_PRESENT_SHIFT)
267267
xori ra, ra, ((_PAGE_PRESENT | _PAGE_WRITE) >> _PAGE_PRESENT_SHIFT)
268-
bne ra, zero, nopage_tlb_store
268+
bnez ra, nopage_tlb_store
269269

270270
ori t0, t0, (_PAGE_VALID | _PAGE_DIRTY | _PAGE_MODIFIED)
271271
#ifdef CONFIG_SMP
272272
sc.d t0, t1, 0
273-
beq t0, zero, smp_pgtable_change_store
273+
beqz t0, smp_pgtable_change_store
274274
#else
275275
st.d t0, t1, 0
276276
#endif
@@ -306,14 +306,14 @@ tlb_huge_update_store:
306306
srli.d ra, t0, _PAGE_PRESENT_SHIFT
307307
andi ra, ra, ((_PAGE_PRESENT | _PAGE_WRITE) >> _PAGE_PRESENT_SHIFT)
308308
xori ra, ra, ((_PAGE_PRESENT | _PAGE_WRITE) >> _PAGE_PRESENT_SHIFT)
309-
bne ra, zero, nopage_tlb_store
309+
bnez ra, nopage_tlb_store
310310

311311
tlbsrch
312312
ori t0, t0, (_PAGE_VALID | _PAGE_DIRTY | _PAGE_MODIFIED)
313313

314314
#ifdef CONFIG_SMP
315315
sc.d t0, t1, 0
316-
beq t0, zero, tlb_huge_update_store
316+
beqz t0, tlb_huge_update_store
317317
ld.d t0, t1, 0
318318
#else
319319
st.d t0, t1, 0
@@ -411,7 +411,7 @@ vmalloc_done_modify:
411411
* see if we need to jump to huge tlb processing.
412412
*/
413413
andi t0, ra, _PAGE_HUGE
414-
bne t0, zero, tlb_huge_update_modify
414+
bnez t0, tlb_huge_update_modify
415415

416416
csrrd t0, LOONGARCH_CSR_BADV
417417
srli.d t0, t0, (PAGE_SHIFT + PTE_ORDER)
@@ -431,12 +431,12 @@ smp_pgtable_change_modify:
431431

432432
srli.d ra, t0, _PAGE_WRITE_SHIFT
433433
andi ra, ra, 1
434-
beq ra, zero, nopage_tlb_modify
434+
beqz ra, nopage_tlb_modify
435435

436436
ori t0, t0, (_PAGE_VALID | _PAGE_DIRTY | _PAGE_MODIFIED)
437437
#ifdef CONFIG_SMP
438438
sc.d t0, t1, 0
439-
beq t0, zero, smp_pgtable_change_modify
439+
beqz t0, smp_pgtable_change_modify
440440
#else
441441
st.d t0, t1, 0
442442
#endif
@@ -471,14 +471,14 @@ tlb_huge_update_modify:
471471

472472
srli.d ra, t0, _PAGE_WRITE_SHIFT
473473
andi ra, ra, 1
474-
beq ra, zero, nopage_tlb_modify
474+
beqz ra, nopage_tlb_modify
475475

476476
tlbsrch
477477
ori t0, t0, (_PAGE_VALID | _PAGE_DIRTY | _PAGE_MODIFIED)
478478

479479
#ifdef CONFIG_SMP
480480
sc.d t0, t1, 0
481-
beq t0, zero, tlb_huge_update_modify
481+
beqz t0, tlb_huge_update_modify
482482
ld.d t0, t1, 0
483483
#else
484484
st.d t0, t1, 0

0 commit comments

Comments
 (0)