Go to file
Mike Klein 1326749832 add sli.4s, use it in pack sometimes
We have pack(x,y,imm) = x | (y<<imm) assuming (x & (y<<imm)) == 0.

If we can destroy x, sli (shift-left-insert) lets us implement that
as x |= y << imm.  This happens quite often, so you'll see sequences
of pack that used to look like this

	shl	v4.4s, v2.4s, #8
	orr	v1.16b, v4.16b, v1.16b
	shl	v2.4s, v0.4s, #8
	orr	v0.16b, v2.16b, v3.16b
	shl	v2.4s, v0.4s, #16
	orr	v0.16b, v2.16b, v1.16b

now look like this

	sli	v1.4s, v2.4s, #8
	sli	v3.4s, v0.4s, #8
	sli	v1.4s, v3.4s, #16

We can do this thanks to the new simultaneous register assignment
and instruction selection I added.  We used to never hit this case.

Change-Id: I75fa3defc1afd38779b3993887ca302a0885c5b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/228611
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-19 18:37:12 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Reland "Interpreter: Bounds check array access, add bool return from run" 2019-07-18 21:38:20 +00:00
bin Add bin/try-clients to trigger client tryjobs 2019-06-11 16:55:53 +00:00
dm Add GrProtected parameter to all createBackendTexture variants 2019-07-01 19:46:18 +00:00
docker fix Dockerfile? 2019-06-24 16:34:59 +00:00
docs/examples PDF example 2019-05-28 17:21:59 +00:00
example ModifierKey unifies sk_app::Window::ModifierKey & Sample::Click::ModifierKey 2019-07-09 16:16:41 +00:00
experimental sk_app, Sample: Unify InputState enum. 2019-07-16 14:51:03 +00:00
fuzz Make fuzzing use embedded test font 2019-06-03 16:29:21 +00:00
gm gm: virtual->override 2019-07-18 18:07:52 +00:00
gn First draft of Dawn backend: clears are working. 2019-07-18 18:09:12 +00:00
include Change SkMatrix::decomposeScale to use preScale 2019-07-19 15:41:11 +00:00
infra Reland "[infra] Make most builds idempotent" 2019-07-19 12:11:27 +00:00
modules Reland "Interpreter: Bounds check array access, add bool return from run" 2019-07-18 21:38:20 +00:00
platform_tools tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
resources split deaths() out of other analysis 2019-07-17 18:11:10 +00:00
samplecode Change SkMatrix::decomposeScale to use preScale 2019-07-19 15:41:11 +00:00
site documentation/build, BUILDCONFIG: Visual Studio Build Tools 2019 2019-07-12 14:17:16 +00:00
specs [img-decode] Start on proposed new spec 2019-05-06 17:39:19 +00:00
src add sli.4s, use it in pack sometimes 2019-07-19 18:37:12 +00:00
tests add sli.4s, use it in pack sometimes 2019-07-19 18:37:12 +00:00
third_party Roll FreeType 2019-07-11 21:16:53 +00:00
tools Move read swizzle from GL ConfigInfo to FormatInfo. 2019-07-18 19:42:10 +00:00
.clang-format restore .clang-format 2019-03-21 15:52:32 +00:00
.clang-tidy add google-build-namespaces to clang-tidy checks 2018-12-12 16:33:59 +00:00
.gitignore clean up some .gitignores 2019-05-15 19:55:45 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Fix Metal includes breaking macOS local builds 2019-07-08 14:02:47 +00:00
BUILD.gn First draft of Dawn backend: clears are working. 2019-07-18 18:09:12 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll third_party/externals/angle2 e9111885702e..6a02f06dfd4e (8 commits) 2019-07-19 05:45:14 +00:00
go.mod Update Go deps 2019-07-19 05:29:04 +00:00
go.sum Update Go deps 2019-07-19 05:29:04 +00:00
LICENSE BUG=skia:5602 2016-09-02 11:19:34 -07:00
OWNERS add OWNERS file 2017-12-01 19:50:19 +00:00
PRESUBMIT.py Reland "[infra] Make most builds idempotent" 2019-07-19 12:11:27 +00:00
public.bzl First draft of Dawn backend: clears are working. 2019-07-18 18:09:12 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
whitespace.txt Whitespace test 2019-05-18 13:05:29 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.