Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Guillaume Martres
aom-rav1e
Commits
86528586
Commit
86528586
authored
Oct 10, 2013
by
Yunqing Wang
Committed by
Gerrit Code Review
Oct 10, 2013
Browse files
Merge "d153 intra prediction (32x32) ssse3 using bytes"
parents
61c607fd
a2a3b4a4
Changes
1
Hide whitespace changes
Inline
Side-by-side
vp9/common/x86/vp9_intrapred_ssse3.asm
View file @
86528586
...
...
@@ -612,3 +612,180 @@ cglobal d153_predictor_16x16, 4, 5, 8, dst, stride, above, left, goffset
mova
[
ds
tq
+
stride3q
],
m4
REST
ORE_GOT
RET
INIT_XMM
ss
se3
cglobal
d153_predictor_32x32
,
4
,
5
,
8
,
ds
t
,
stride
,
above
,
left
,
goffset
GET_GOT
goffsetq
mova
m0
,
[
leftq
]
movu
m7
,
[
aboveq
-
1
]
movu
m1
,
[
aboveq
+
15
]
pshufb
m4
,
m1
,
[
GLOBAL
(
sh_b123456789abcdeff
)]
pshufb
m6
,
m1
,
[
GLOBAL
(
sh_b23456789abcdefff
)]
X_PLUS_2Y_PLUS_Z_PLUS_2_RSH_2
m1
,
m4
,
m6
,
m2
; 3-tap avg above [high]
palignr
m3
,
m1
,
m7
,
1
palignr
m5
,
m1
,
m7
,
2
X_PLUS_2Y_PLUS_Z_PLUS_2_RSH_2
m7
,
m3
,
m5
,
m1
; 3-tap avg above [low]
pshufb
m7
,
[
GLOBAL
(
sh_bfedcba9876543210
)]
palignr
m5
,
m0
,
m7
,
15
palignr
m3
,
m0
,
m7
,
14
X_PLUS_2Y_PLUS_Z_PLUS_2_RSH_2
m0
,
m5
,
m3
,
m4
; 3-tap avg B3-Bg
pavgb
m5
,
m0
; A1 - Ag
punpcklbw
m6
,
m4
,
m5
; A-B8 ... A-B1
punpckhbw
m4
,
m5
; A-B9 ... A-Bg
pshufb
m6
,
[
GLOBAL
(
sh_bfedcba9876543210
)]
pshufb
m4
,
[
GLOBAL
(
sh_bfedcba9876543210
)]
DEFINE_ARGS
ds
t
,
stride
,
stride3
,
left
,
line
lea
stride3q
,
[
strideq
*
3
]
palignr
m5
,
m2
,
m1
,
14
palignr
m7
,
m1
,
m6
,
14
mova
[
ds
tq
],
m7
mova
[
ds
tq
+
16
],
m5
palignr
m5
,
m2
,
m1
,
12
palignr
m7
,
m1
,
m6
,
12
mova
[
ds
tq
+
strideq
],
m7
mova
[
ds
tq
+
strideq
+
16
],
m5
palignr
m5
,
m2
,
m1
,
10
palignr
m7
,
m1
,
m6
,
10
mova
[
ds
tq
+
strideq
*
2
],
m7
mova
[
ds
tq
+
strideq
*
2
+
16
],
m5
palignr
m5
,
m2
,
m1
,
8
palignr
m7
,
m1
,
m6
,
8
mova
[
ds
tq
+
stride3q
],
m7
mova
[
ds
tq
+
stride3q
+
16
],
m5
lea
ds
tq
,
[
ds
tq
+
strideq
*
4
]
palignr
m5
,
m2
,
m1
,
6
palignr
m7
,
m1
,
m6
,
6
mova
[
ds
tq
],
m7
mova
[
ds
tq
+
16
],
m5
palignr
m5
,
m2
,
m1
,
4
palignr
m7
,
m1
,
m6
,
4
mova
[
ds
tq
+
strideq
],
m7
mova
[
ds
tq
+
strideq
+
16
],
m5
palignr
m5
,
m2
,
m1
,
2
palignr
m7
,
m1
,
m6
,
2
mova
[
ds
tq
+
strideq
*
2
],
m7
mova
[
ds
tq
+
strideq
*
2
+
16
],
m5
mova
[
ds
tq
+
stride3q
],
m6
mova
[
ds
tq
+
stride3q
+
16
],
m1
lea
ds
tq
,
[
ds
tq
+
strideq
*
4
]
palignr
m5
,
m1
,
m6
,
14
palignr
m3
,
m6
,
m4
,
14
mova
[
ds
tq
],
m3
mova
[
ds
tq
+
16
],
m5
palignr
m5
,
m1
,
m6
,
12
palignr
m3
,
m6
,
m4
,
12
mova
[
ds
tq
+
strideq
],
m3
mova
[
ds
tq
+
strideq
+
16
],
m5
palignr
m5
,
m1
,
m6
,
10
palignr
m3
,
m6
,
m4
,
10
mova
[
ds
tq
+
strideq
*
2
],
m3
mova
[
ds
tq
+
strideq
*
2
+
16
],
m5
palignr
m5
,
m1
,
m6
,
8
palignr
m3
,
m6
,
m4
,
8
mova
[
ds
tq
+
stride3q
],
m3
mova
[
ds
tq
+
stride3q
+
16
],
m5
lea
ds
tq
,
[
ds
tq
+
strideq
*
4
]
palignr
m5
,
m1
,
m6
,
6
palignr
m3
,
m6
,
m4
,
6
mova
[
ds
tq
],
m3
mova
[
ds
tq
+
16
],
m5
palignr
m5
,
m1
,
m6
,
4
palignr
m3
,
m6
,
m4
,
4
mova
[
ds
tq
+
strideq
],
m3
mova
[
ds
tq
+
strideq
+
16
],
m5
palignr
m5
,
m1
,
m6
,
2
palignr
m3
,
m6
,
m4
,
2
mova
[
ds
tq
+
strideq
*
2
],
m3
mova
[
ds
tq
+
strideq
*
2
+
16
],
m5
mova
[
ds
tq
+
stride3q
],
m4
mova
[
ds
tq
+
stride3q
+
16
],
m6
lea
ds
tq
,
[
ds
tq
+
strideq
*
4
]
mova
m7
,
[
leftq
]
mova
m3
,
[
leftq
+
16
]
palignr
m5
,
m3
,
m7
,
15
palignr
m0
,
m3
,
m7
,
14
X_PLUS_2Y_PLUS_Z_PLUS_2_RSH_2
m3
,
m5
,
m0
,
m2
; 3-tap avg Bh -
pavgb
m5
,
m3
; Ah -
punpcklbw
m3
,
m2
,
m5
; A-B8 ... A-B1
punpckhbw
m2
,
m5
; A-B9 ... A-Bg
pshufb
m3
,
[
GLOBAL
(
sh_bfedcba9876543210
)]
pshufb
m2
,
[
GLOBAL
(
sh_bfedcba9876543210
)]
palignr
m7
,
m6
,
m4
,
14
palignr
m0
,
m4
,
m3
,
14
mova
[
ds
tq
],
m0
mova
[
ds
tq
+
16
],
m7
palignr
m7
,
m6
,
m4
,
12
palignr
m0
,
m4
,
m3
,
12
mova
[
ds
tq
+
strideq
],
m0
mova
[
ds
tq
+
strideq
+
16
],
m7
palignr
m7
,
m6
,
m4
,
10
palignr
m0
,
m4
,
m3
,
10
mova
[
ds
tq
+
strideq
*
2
],
m0
mova
[
ds
tq
+
strideq
*
2
+
16
],
m7
palignr
m7
,
m6
,
m4
,
8
palignr
m0
,
m4
,
m3
,
8
mova
[
ds
tq
+
stride3q
],
m0
mova
[
ds
tq
+
stride3q
+
16
],
m7
lea
ds
tq
,
[
ds
tq
+
strideq
*
4
]
palignr
m7
,
m6
,
m4
,
6
palignr
m0
,
m4
,
m3
,
6
mova
[
ds
tq
],
m0
mova
[
ds
tq
+
16
],
m7
palignr
m7
,
m6
,
m4
,
4
palignr
m0
,
m4
,
m3
,
4
mova
[
ds
tq
+
strideq
],
m0
mova
[
ds
tq
+
strideq
+
16
],
m7
palignr
m7
,
m6
,
m4
,
2
palignr
m0
,
m4
,
m3
,
2
mova
[
ds
tq
+
strideq
*
2
],
m0
mova
[
ds
tq
+
strideq
*
2
+
16
],
m7
mova
[
ds
tq
+
stride3q
],
m3
mova
[
ds
tq
+
stride3q
+
16
],
m4
lea
ds
tq
,
[
ds
tq
+
strideq
*
4
]
palignr
m7
,
m4
,
m3
,
14
palignr
m0
,
m3
,
m2
,
14
mova
[
ds
tq
],
m0
mova
[
ds
tq
+
16
],
m7
palignr
m7
,
m4
,
m3
,
12
palignr
m0
,
m3
,
m2
,
12
mova
[
ds
tq
+
strideq
],
m0
mova
[
ds
tq
+
strideq
+
16
],
m7
palignr
m7
,
m4
,
m3
,
10
palignr
m0
,
m3
,
m2
,
10
mova
[
ds
tq
+
strideq
*
2
],
m0
mova
[
ds
tq
+
strideq
*
2
+
16
],
m7
palignr
m7
,
m4
,
m3
,
8
palignr
m0
,
m3
,
m2
,
8
mova
[
ds
tq
+
stride3q
],
m0
mova
[
ds
tq
+
stride3q
+
16
],
m7
lea
ds
tq
,
[
ds
tq
+
strideq
*
4
]
palignr
m7
,
m4
,
m3
,
6
palignr
m0
,
m3
,
m2
,
6
mova
[
ds
tq
],
m0
mova
[
ds
tq
+
16
],
m7
palignr
m7
,
m4
,
m3
,
4
palignr
m0
,
m3
,
m2
,
4
mova
[
ds
tq
+
strideq
],
m0
mova
[
ds
tq
+
strideq
+
16
],
m7
palignr
m7
,
m4
,
m3
,
2
palignr
m0
,
m3
,
m2
,
2
mova
[
ds
tq
+
strideq
*
2
],
m0
mova
[
ds
tq
+
strideq
*
2
+
16
],
m7
mova
[
ds
tq
+
stride3q
],
m2
mova
[
ds
tq
+
stride3q
+
16
],
m3
REST
ORE_GOT
RET
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment