Page MenuHomeFreeBSD

D17660.id49481.diff
No OneTemporary

D17660.id49481.diff

Index: sys/amd64/amd64/support.S
===================================================================
--- sys/amd64/amd64/support.S
+++ sys/amd64/amd64/support.S
@@ -459,12 +459,12 @@
imulq %r8,%r10
cmpq $32,%rcx
- jb 1016f
+ jbe 101632f
cmpq $256,%rcx
ja 1256f
-1032:
+103200:
movq %r10,(%rdi)
movq %r10,8(%rdi)
movq %r10,16(%rdi)
@@ -472,43 +472,54 @@
leaq 32(%rdi),%rdi
subq $32,%rcx
cmpq $32,%rcx
- jae 1032b
- cmpb $0,%cl
- je 1000f
-1016:
+ ja 103200b
cmpb $16,%cl
- jl 1008f
+ ja 201632f
+ movq %r10,-16(%rdi,%rcx)
+ movq %r10,-8(%rdi,%rcx)
+ POP_FRAME_POINTER
+ ret
+ ALIGN_TEXT
+101632:
+ cmpb $16,%cl
+ jl 100816f
+201632:
movq %r10,(%rdi)
movq %r10,8(%rdi)
- subb $16,%cl
- jz 1000f
- leaq 16(%rdi),%rdi
-1008:
+ movq %r10,-16(%rdi,%rcx)
+ movq %r10,-8(%rdi,%rcx)
+ POP_FRAME_POINTER
+ ret
+ ALIGN_TEXT
+100816:
cmpb $8,%cl
- jl 1004f
+ jl 100408f
movq %r10,(%rdi)
- subb $8,%cl
- jz 1000f
- leaq 8(%rdi),%rdi
-1004:
+ movq %r10,-8(%rdi,%rcx)
+ POP_FRAME_POINTER
+ ret
+ ALIGN_TEXT
+100408:
cmpb $4,%cl
- jl 1002f
+ jl 100204f
movl %r10d,(%rdi)
- subb $4,%cl
- jz 1000f
- leaq 4(%rdi),%rdi
-1002:
+ movl %r10d,-4(%rdi,%rcx)
+ POP_FRAME_POINTER
+ ret
+ ALIGN_TEXT
+100204:
cmpb $2,%cl
- jl 1001f
+ jl 100001f
movw %r10w,(%rdi)
- subb $2,%cl
- jz 1000f
- leaq 2(%rdi),%rdi
-1001:
- cmpb $1,%cl
- jl 1000f
+ movw %r10w,-2(%rdi,%rcx)
+ POP_FRAME_POINTER
+ ret
+ ALIGN_TEXT
+100001:
+ cmpb $0,%cl
+ je 100000f
movb %r10b,(%rdi)
-1000:
+100000:
POP_FRAME_POINTER
ret
ALIGN_TEXT

File Metadata

Mime Type
text/plain
Expires
Fri, Nov 21, 7:32 PM (5 h, 43 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25792238
Default Alt Text
D17660.id49481.diff (1 KB)

Event Timeline