mirror of
https://github.com/intel/isa-l.git
synced 2024-12-12 09:23:50 +01:00
igzip: Reduce data usage of set_long_icf_fg_06
Change-Id: If05629100ef21fa43a0275110ad978c705c1a7bd Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
This commit is contained in:
parent
fce71b0670
commit
bdb6289bbe
@ -139,21 +139,21 @@ func(set_long_icf_fg_06)
|
||||
|
||||
mov end_in_orig, end_in
|
||||
sub end_in, 15
|
||||
vmovdqu32 zlong_lens, [long_len]
|
||||
vmovdqu32 zlong_lens2, [long_len2]
|
||||
vmovdqu32 zlens_mask, [len_mask]
|
||||
vpbroadcastd zlong_lens, [long_len]
|
||||
vpbroadcastd zlong_lens2, [long_len2]
|
||||
vpbroadcastd zlens_mask, [len_mask]
|
||||
vmovdqu16 zdists_start, [dist_start]
|
||||
vmovdqu32 zdists_mask, [dists_mask]
|
||||
vpbroadcastd zdists_mask, [dists_mask]
|
||||
vmovdqu32 zincrement, [increment]
|
||||
vmovdqu64 zdatas_perm2, [datas_perm2]
|
||||
vmovdqu64 zdatas_perm3, [datas_perm3]
|
||||
vbroadcasti64x2 zdatas_perm2, [datas_perm2]
|
||||
vbroadcasti64x2 zdatas_perm3, [datas_perm3]
|
||||
vmovdqu64 zqword_shuf, [qword_shuf]
|
||||
vmovdqu64 zbswap, [bswap_shuf]
|
||||
vmovdqu64 znlen_mask, [nlen_mask]
|
||||
vmovdqu64 zvect_size, [vect_size]
|
||||
vmovdqu64 ztwofiftyfour, [twofiftyfour]
|
||||
vmovdqu64 ztwofiftysix, [twofiftysix]
|
||||
vmovdqu64 ztwosixtytwo, [twosixtytwo]
|
||||
vbroadcasti64x2 zbswap, [bswap_shuf]
|
||||
vpbroadcastd znlen_mask, [nlen_mask]
|
||||
vpbroadcastd zvect_size, [vect_size]
|
||||
vpbroadcastd ztwofiftyfour, [twofiftyfour]
|
||||
vpbroadcastd ztwofiftysix, [twofiftysix]
|
||||
vpbroadcastd ztwosixtytwo, [twosixtytwo]
|
||||
vmovdqu32 zmatch_lookup, [match_lookup]
|
||||
|
||||
.fill_loop: ; Tahiti is a magical place
|
||||
@ -301,44 +301,12 @@ endproc_frame
|
||||
|
||||
section .data
|
||||
align 64
|
||||
;; 64 byte data
|
||||
dist_start:
|
||||
dw 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0007, 0x0009, 0x000d
|
||||
dw 0x0011, 0x0019, 0x0021, 0x0031, 0x0041, 0x0061, 0x0081, 0x00c1
|
||||
dw 0x0101, 0x0181, 0x0201, 0x0301, 0x0401, 0x0601, 0x0801, 0x0c01
|
||||
dw 0x1001, 0x1801, 0x2001, 0x3001, 0x4001, 0x6001, 0x0000, 0x0000
|
||||
len_mask:
|
||||
dd LIT_LEN_MASK, LIT_LEN_MASK, LIT_LEN_MASK, LIT_LEN_MASK
|
||||
dd LIT_LEN_MASK, LIT_LEN_MASK, LIT_LEN_MASK, LIT_LEN_MASK
|
||||
dd LIT_LEN_MASK, LIT_LEN_MASK, LIT_LEN_MASK, LIT_LEN_MASK
|
||||
dd LIT_LEN_MASK, LIT_LEN_MASK, LIT_LEN_MASK, LIT_LEN_MASK
|
||||
dists_mask:
|
||||
dd LIT_DIST_MASK, LIT_DIST_MASK, LIT_DIST_MASK, LIT_DIST_MASK
|
||||
dd LIT_DIST_MASK, LIT_DIST_MASK, LIT_DIST_MASK, LIT_DIST_MASK
|
||||
dd LIT_DIST_MASK, LIT_DIST_MASK, LIT_DIST_MASK, LIT_DIST_MASK
|
||||
dd LIT_DIST_MASK, LIT_DIST_MASK, LIT_DIST_MASK, LIT_DIST_MASK
|
||||
long_len:
|
||||
dd 0x105, 0x105, 0x105, 0x105, 0x105, 0x105, 0x105, 0x105
|
||||
dd 0x105, 0x105, 0x105, 0x105, 0x105, 0x105, 0x105, 0x105
|
||||
long_len2:
|
||||
dd 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7
|
||||
dd 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7
|
||||
|
||||
increment:
|
||||
dd 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7
|
||||
dd 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf
|
||||
datas_perm2:
|
||||
dq 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1
|
||||
datas_perm3:
|
||||
dq 0x1, 0x2, 0x1, 0x2, 0x1, 0x2, 0x1, 0x2
|
||||
bswap_shuf:
|
||||
db 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00
|
||||
db 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08
|
||||
db 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00
|
||||
db 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08
|
||||
db 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00
|
||||
db 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08
|
||||
db 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00
|
||||
db 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08
|
||||
qword_shuf:
|
||||
db 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7
|
||||
db 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8
|
||||
@ -349,23 +317,37 @@ qword_shuf:
|
||||
db 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd
|
||||
db 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe
|
||||
db 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf
|
||||
|
||||
;; 16 byte data
|
||||
increment:
|
||||
dd 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7
|
||||
dd 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf
|
||||
|
||||
datas_perm2:
|
||||
dq 0x0, 0x1
|
||||
datas_perm3:
|
||||
dq 0x1, 0x2
|
||||
bswap_shuf:
|
||||
db 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00
|
||||
db 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08
|
||||
|
||||
;; 4 byte data
|
||||
len_mask:
|
||||
dd LIT_LEN_MASK
|
||||
dists_mask:
|
||||
dd LIT_DIST_MASK
|
||||
long_len:
|
||||
dd 0x105
|
||||
long_len2:
|
||||
dd 0x7
|
||||
vect_size:
|
||||
dd VECT_SIZE, VECT_SIZE, VECT_SIZE, VECT_SIZE
|
||||
dd VECT_SIZE, VECT_SIZE, VECT_SIZE, VECT_SIZE
|
||||
dd VECT_SIZE, VECT_SIZE, VECT_SIZE, VECT_SIZE
|
||||
dd VECT_SIZE, VECT_SIZE, VECT_SIZE, VECT_SIZE
|
||||
dd VECT_SIZE
|
||||
twofiftyfour:
|
||||
dd 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe
|
||||
dd 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe
|
||||
dd 0xfe
|
||||
twofiftysix:
|
||||
dd 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100
|
||||
dd 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100
|
||||
dd 0x100
|
||||
twosixtytwo:
|
||||
dd 0x106, 0x106, 0x106, 0x106, 0x106, 0x106, 0x106, 0x106
|
||||
dd 0x106, 0x106, 0x106, 0x106, 0x106, 0x106, 0x106, 0x106
|
||||
dd 0x106
|
||||
nlen_mask:
|
||||
dd 0xfffffc00, 0xfffffc00, 0xfffffc00, 0xfffffc00
|
||||
dd 0xfffffc00, 0xfffffc00, 0xfffffc00, 0xfffffc00
|
||||
dd 0xfffffc00, 0xfffffc00, 0xfffffc00, 0xfffffc00
|
||||
dd 0xfffffc00, 0xfffffc00, 0xfffffc00, 0xfffffc00
|
||||
dd 0xfffffc00
|
||||
%endif
|
||||
|
Loading…
Reference in New Issue
Block a user