194
194
movq TEMP1, CKB_VM_ASM_ASM_CORE_MACHINE_OFFSET_LAST_READ_FRAME(MACHINE); \
195
195
movq CKB_VM_ASM_ASM_CORE_MACHINE_OFFSET_FRAMES_PTR(MACHINE), TEMP3; \
196
196
movzbl (TEMP3, TEMP1), TEMP2d; \
197
- cmp $0 , TEMP2d; \
197
+ test TEMP2d , TEMP2d; \
198
198
jne 1f; \
199
199
movb $1 , (TEMP3, TEMP1); \
200
200
PREPCALL; \
209
209
shr $CKB_VM_ASM_MEMORY_FRAME_SHIFTS, TEMP1; \
210
210
movq CKB_VM_ASM_ASM_CORE_MACHINE_OFFSET_FRAMES_PTR(MACHINE), TEMP3; \
211
211
movzbl (TEMP3, TEMP1), TEMP2d; \
212
- cmp $0 , TEMP2d; \
212
+ test TEMP2d , TEMP2d; \
213
213
jne 2f; \
214
214
movb $1 , (TEMP3, TEMP1);\
215
215
PREPCALL; \
288
288
shr $CKB_VM_ASM_MEMORY_FRAME_PAGE_SHIFTS, TEMP1; \
289
289
movq CKB_VM_ASM_ASM_CORE_MACHINE_OFFSET_FRAMES_PTR(MACHINE), TEMP3; \
290
290
movzbl (TEMP3, TEMP1), temp_regd; \
291
- cmp $0 , temp_regd; \
291
+ test temp_regd , temp_regd; \
292
292
jne 1f; \
293
293
movb $1 , (TEMP3, TEMP1); \
294
294
PREPCALL; \
319
319
shr $CKB_VM_ASM_MEMORY_FRAME_PAGE_SHIFTS, TEMP1; \
320
320
movq CKB_VM_ASM_ASM_CORE_MACHINE_OFFSET_FRAMES_PTR(MACHINE), TEMP3; \
321
321
movzbl (TEMP3, TEMP1), temp_regd; \
322
- cmp $0 , temp_regd; \
322
+ test temp_regd , temp_regd; \
323
323
jne 2f; \
324
324
movb $1 , (TEMP3, TEMP1); \
325
325
PREPCALL; \
@@ -443,7 +443,7 @@ ckb_vm_x64_execute:
443
443
cmp %rcx , %rdx
444
444
jne .exit_trace
445
445
mov CKB_VM_ASM_TRACE_OFFSET_LENGTH(TRACE), %edx
446
- cmp $0 , %rdx
446
+ test %rdx , %rdx
447
447
je .exit_trace
448
448
movq CKB_VM_ASM_ASM_CORE_MACHINE_OFFSET_CYCLES(MACHINE), %rax
449
449
addq CKB_VM_ASM_TRACE_OFFSET_CYCLES(TRACE), %rax
@@ -485,7 +485,7 @@ ckb_vm_x64_execute:
485
485
.prepare_trace:
486
486
movq CKB_VM_ASM_INVOKE_DATA_OFFSET_PAUSE(INVOKE_DATA), %rax
487
487
movzbl 0 (%rax ), %eax
488
- cmp $0 , %rax
488
+ test %rax , %rax
489
489
jnz .exit_pause
490
490
LOAD_PC(%rax , %eax , %rcx , %ecx , TEMP3d)
491
491
shr $2 , %eax
@@ -497,7 +497,7 @@ ckb_vm_x64_execute:
497
497
cmp %rcx , %rdx
498
498
jne .exit_trace
499
499
mov CKB_VM_ASM_TRACE_OFFSET_LENGTH(TRACE), %edx
500
- cmp $0 , %rdx
500
+ test %rdx , %rdx
501
501
je .exit_trace
502
502
movq CKB_VM_ASM_ASM_CORE_MACHINE_OFFSET_CYCLES(MACHINE), %rax
503
503
addq CKB_VM_ASM_TRACE_OFFSET_CYCLES(TRACE), %rax
@@ -634,7 +634,7 @@ ckb_vm_x64_execute:
634
634
jne .div_branch1
635
635
jmp .div_branch3
636
636
.div_branch1:
637
- cmp $0 , RS2r
637
+ test RS2r , RS2r
638
638
jne .div_branch2
639
639
movq $UINT64_MAX, RS1
640
640
jmp .div_branch3
@@ -651,7 +651,7 @@ ckb_vm_x64_execute:
651
651
.CKB_VM_ASM_LABEL_OP_DIVU:
652
652
DECODE_R
653
653
movq REGISTER_ADDRESS(RS2r), RS2r
654
- cmp $0 , RS2r
654
+ test RS2r , RS2r
655
655
jne .divu_branch1
656
656
WRITE_RD_VALUE($UINT64_MAX, RS2r)
657
657
NEXT_INST
@@ -671,7 +671,7 @@ ckb_vm_x64_execute:
671
671
DECODE_R
672
672
movq REGISTER_ADDRESS(RS2r), RS2r
673
673
mov RS2rd, RS2rd
674
- cmp $0 , RS2r
674
+ test RS2r , RS2r
675
675
jne .divuw_branch1
676
676
WRITE_RD_VALUE($UINT64_MAX, RS2r)
677
677
NEXT_INST
@@ -703,7 +703,7 @@ ckb_vm_x64_execute:
703
703
jne .divw_branch1
704
704
jmp .divw_branch3
705
705
.divw_branch1:
706
- cmp $0 , RS2r
706
+ test RS2r , RS2r
707
707
jne .divw_branch2
708
708
movq $UINT64_MAX, RS1
709
709
jmp .divw_branch3
@@ -1022,7 +1022,7 @@ ckb_vm_x64_execute:
1022
1022
xorq RS1, RS1
1023
1023
jmp .rem_branch3
1024
1024
.rem_branch1:
1025
- cmp $0 , RS2r
1025
+ test RS2r , RS2r
1026
1026
jne .rem_branch2
1027
1027
jmp .rem_branch3
1028
1028
.rem_branch2:
@@ -1038,7 +1038,7 @@ ckb_vm_x64_execute:
1038
1038
.CKB_VM_ASM_LABEL_OP_REMU:
1039
1039
DECODE_R
1040
1040
movq REGISTER_ADDRESS(RS2r), RS2r
1041
- cmp $0 , RS2r
1041
+ test RS2r , RS2r
1042
1042
jne .remu_branch2
1043
1043
movq REGISTER_ADDRESS(RS1), RS1
1044
1044
WRITE_RD(RS1)
@@ -1059,7 +1059,7 @@ ckb_vm_x64_execute:
1059
1059
DECODE_R
1060
1060
movq REGISTER_ADDRESS(RS2r), RS2r
1061
1061
mov RS2rd, RS2rd
1062
- cmp $0 , RS2r
1062
+ test RS2r , RS2r
1063
1063
jne .remuw_branch2
1064
1064
movq REGISTER_ADDRESS(RS1), RS1
1065
1065
movslq RS1d, RS1
@@ -1094,7 +1094,7 @@ ckb_vm_x64_execute:
1094
1094
xorq RS1, RS1
1095
1095
jmp .remw_branch3
1096
1096
.remw_branch1:
1097
- cmp $0 , RS2r
1097
+ test RS2r , RS2r
1098
1098
jne .remw_branch2
1099
1099
jmp .remw_branch3
1100
1100
.remw_branch2:
@@ -1761,7 +1761,7 @@ ckb_vm_x64_execute:
1761
1761
.CKB_VM_ASM_LABEL_OP_CLZ:
1762
1762
DECODE_R
1763
1763
movq REGISTER_ADDRESS(RS1), RS1
1764
- cmp $0 , RS1
1764
+ test RS1 , RS1
1765
1765
je .clz_branch
1766
1766
bsr RS1, RS1
1767
1767
neg RS1
@@ -1775,7 +1775,7 @@ ckb_vm_x64_execute:
1775
1775
.CKB_VM_ASM_LABEL_OP_CLZW:
1776
1776
DECODE_R
1777
1777
movq REGISTER_ADDRESS(RS1), RS1
1778
- cmp $0 , RS1d
1778
+ test RS1d , RS1d
1779
1779
je .clzw_branch
1780
1780
bsr RS1d, RS1d
1781
1781
neg RS1
@@ -1872,7 +1872,7 @@ ckb_vm_x64_execute:
1872
1872
.CKB_VM_ASM_LABEL_OP_CTZ:
1873
1873
DECODE_R
1874
1874
movq REGISTER_ADDRESS(RS1), RS1
1875
- cmp $0 , RS1
1875
+ test RS1 , RS1
1876
1876
je .ctz_branch
1877
1877
bsf RS1, RS1
1878
1878
WRITE_RD(RS1)
@@ -1884,7 +1884,7 @@ ckb_vm_x64_execute:
1884
1884
.CKB_VM_ASM_LABEL_OP_CTZW:
1885
1885
DECODE_R
1886
1886
movq REGISTER_ADDRESS(RS1), RS1
1887
- cmp $0 , RS1d
1887
+ test RS1d , RS1d
1888
1888
je .ctzw_branch
1889
1889
bsf RS1d, RS1d
1890
1890
WRITE_RD(RS1)
@@ -2286,7 +2286,7 @@ ckb_vm_x64_execute:
2286
2286
xorq TEMP1, TEMP1
2287
2287
jmp .wide_div_branch3
2288
2288
.wide_div_branch1:
2289
- cmp $0 , RS2r
2289
+ test RS2r , RS2r
2290
2290
jne .wide_div_branch2
2291
2291
movq RS1, TEMP1
2292
2292
movq $UINT64_MAX, RS1
@@ -2307,7 +2307,7 @@ ckb_vm_x64_execute:
2307
2307
DECODE_R4
2308
2308
movq REGISTER_ADDRESS(RS1), RS1
2309
2309
movq REGISTER_ADDRESS(RS2r), RS2r
2310
- cmp $0 , RS2r
2310
+ test RS2r , RS2r
2311
2311
jne .wide_divu_branch1
2312
2312
WRITE_RS3(RS1)
2313
2313
WRITE_RD_VALUE($UINT64_MAX, RS2r)
0 commit comments