HomeSort by relevance Sort by last modified time
    Searched full:portable (Results 126 - 150 of 1506) sorted by null

1 2 3 4 56 7 8 91011>>

  /cts/tools/vm-tests-tf/etc/
starttests 55 if [ "$selection" = "--portable" ]; then
57 interpreter="portable"
86 echo "Usage: vm-tests [--help|--portable] [<mnemonic>]"
89 echo " --portable uses the portable interpreter;"
  /external/skia/site/dev/contrib/
simd.md 4 Most hot software paths in Skia are implemented with processor-specific SIMD instructions. For graphics performance, the parallelism from SIMD is essential: there is simply no realistic way to eek the same performance out of portable C++ code as we can from the SSE family of instruction sets on x86 or from NEON on ARM or from MIPS32's DSP instructions. Depending on the particular code path and math involved, we see 2, 4, 8, or even ~16x performance increases over portable code when really exploiting the processor-specific SIMD instructions.
6 But the SIMD code we've piled up over the years has some serious problems. It's often quite low-level, with poor factoring leading to verbose, bug prone, and difficult to read code. SIMD instrinsic types and functions take a good long while to get used to reading, let alone writing, and assembly is generally just a complete non-starter. SIMD coverage of Skia methods is not dense: a particular drawing routine might be specialized for NEON but not for SSE, or might have a MIPS DSP implementation but no NEON. Even when we have full instruction set coverage, the implementations of these specialized routines may not produce identical results, either when compared with each other or with our portable fallback code. The SIMD implementations are often simply incorrect, but the code is so fragile and difficult to understand, we can't fix it. There are long lived bugs in our tracker involving crashes and buffer under- and overflows that we simply cannot fix because no one on the team understands the code involved. And finally, to top it all off, the code isn't always even really that fast.
13 We're going to wrap low-level platform-specific instrinsics with zero-cost abstractions with interfaces matching Skia's higher-level-but-still-quite-low-level use cases. Skia code will write to this interface _once_, which then compiles to efficient SSE, NEON, or portable code (MIPS is quite TBD, for now group it conceptually under portable code) via platform-specific backends. The key here is to find the right sweet spot of abstraction that allows us to express the graphical concepts we want in Skia while allowing each of those platform-specific backends flexibility to implement those concepts as efficiently as possible.
20 Wrapping floats with an API that allows efficient implementation on SSE and NEON is by far the easiest task involved here. Both SSE and NEON naturally work with 128-bit vectors of 4 floats, and they have a near 1-to-1 correspondence between operations. Indeed, the correspondence is so close that it's tempting to solve this problem by picking one set of intrinsics, e.g. NEON, and just `#define`ing portable and SSE implementations of NEON:
37 As a convenience, `SkNf<N>` has two default implementations: `SkNf<1>` performs all these operations on a single float, and the generic `SkNf<N>` simply recurses onto two `SkNf<N/2>`. This allows our different backends to inject specialiations where most natural: the portable backend does nothing, so all `SkNf<N>` recurse down to the default `SkNf<1>`; the NEON backend specializes `SkNf<2>` with `float32x2_t` and 64-bit SIMD methods, and `SkNf<4>` with `float32x4_t` and 128-bit SIMD methods; the SSE backend specializes both `SkNf<4>` and `SkNf<2>` to use the full or lower half of an `__m128` vector, respectively. A future AVX backend could simply drop in an `SkNf<8>` specialization.
51 In all these cases, we have been able to write a single implementation, producing the same results cross-platform. The first three of those sites using Sk4f are entirely newly vectorized, and run much faster than the previous portable implementations. The 3 Sk4f transfermodes replaced portable, SSE, and NEON implementations which all produced different results, and the Sk4f versions are all faster than their predecessors.
53 `SkColorCubeFilter` stands out as a particularly good example of how and why to use Sk4f over custom platform-specific intrinsics. Starting from some portable code and a rather slow SSE-only sketch, a Google Chromium dev, an Intel contributor, and I worked (…)
    [all...]
  /dalvik/docs/
embedded-vm-control.html 164 interpreter cores. These are referred to as "fast", "portable", and
167 constrast, the "portable" interpreter is written in C and expected to
169 of "portable" that includes support for profiling and single-stepping.
176 <p>The VM allows you to choose between "fast", "portable", and "jit" with an
181 <p>To select the "portable" interpreter, you would use:
182 <pre>adb shell setprop dalvik.vm.execution-mode int:portable</pre>
190 "portable" version. (When we have optimized versions for all popular
  /external/skia/src/opts/
SkColor_opts_SSE2.h 45 // Portable version SkAlphaMulQ is in SkColorPriv.h.
209 // Portable version is SkPMSrcOver in SkColorPriv.h.
216 // Portable version is SkBlendARGB32 in SkColorPriv.h.
  /platform_testing/tests/androidbvt/src/com/android/androidbvt/
ConnectivityWifiTests.java 143 mDevice.wait(Until.findObject(By.text("Tethering & portable hotspot")),
147 mDevice.wait(Until.hasObject(By.text("Portable hotspot AndroidAP active")),
150 mDevice.wait(Until.findObject(By.text("Portable Wi?Fi hotspot")),
  /prebuilts/python/darwin-x86/2.7.5/lib/python2.7/distutils/tests/
xxmodule.c 99 * to be portable to Windows without using C++. */
217 * to be portable to Windows without using C++. */
272 * to be portable to Windows without using C++. */
  /prebuilts/python/linux-x86/2.7.5/lib/python2.7/distutils/tests/
xxmodule.c 99 * to be portable to Windows without using C++. */
217 * to be portable to Windows without using C++. */
272 * to be portable to Windows without using C++. */
  /external/bison/darwin-lib/sys/
stat.h 638 _GL_WARN_ON_USE (fchmodat, "fchmodat is not portable - "
692 _GL_WARN_ON_USE (fstatat, "fstatat is not portable - "
722 _GL_WARN_ON_USE (futimens, "futimens is not portable - "
841 _GL_WARN_ON_USE (mkdirat, "mkdirat is not portable - "
867 _GL_WARN_ON_USE (mkfifo, "mkfifo is not portable - "
883 _GL_WARN_ON_USE (mkfifoat, "mkfifoat is not portable - "
910 _GL_WARN_ON_USE (mknod, "mknod is not portable - "
928 _GL_WARN_ON_USE (mknodat, "mknodat is not portable - "
    [all...]
  /external/bison/lib/
fseterr.c 52 /* Portable fallback, based on an idea by Rich Felker.
strerror.c 53 even if the system strerror is, but portable programs shouldn't
sys_stat.in.h 326 _GL_WARN_ON_USE (fchmodat, "fchmodat is not portable - "
380 _GL_WARN_ON_USE (fstatat, "fstatat is not portable - "
410 _GL_WARN_ON_USE (futimens, "futimens is not portable - "
529 _GL_WARN_ON_USE (mkdirat, "mkdirat is not portable - "
555 _GL_WARN_ON_USE (mkfifo, "mkfifo is not portable - "
571 _GL_WARN_ON_USE (mkfifoat, "mkfifoat is not portable - "
598 _GL_WARN_ON_USE (mknod, "mknod is not portable - "
616 _GL_WARN_ON_USE (mknodat, "mknodat is not portable - "
720 _GL_WARN_ON_USE (utimensat, "utimensat is not portable - "
verify.h 44 be portable, R should be an integer constant expression. Unlike
77 somehow be embedded into a declaration. To be portable, this
99 macro solves this problem, but is not portable.)
217 be portable, R should be an integer constant expression. Unlike
  /external/bison/linux-lib/sys/
stat.h 638 _GL_WARN_ON_USE (fchmodat, "fchmodat is not portable - "
692 _GL_WARN_ON_USE (fstatat, "fstatat is not portable - "
722 _GL_WARN_ON_USE (futimens, "futimens is not portable - "
841 _GL_WARN_ON_USE (mkdirat, "mkdirat is not portable - "
867 _GL_WARN_ON_USE (mkfifo, "mkfifo is not portable - "
883 _GL_WARN_ON_USE (mkfifoat, "mkfifoat is not portable - "
910 _GL_WARN_ON_USE (mknod, "mknod is not portable - "
928 _GL_WARN_ON_USE (mknodat, "mknodat is not portable - "
    [all...]
  /external/bison/m4/
fpieee.m4 17 dnl This cannot be done in a portable way: it depends on the compiler,
  /external/c-ares/
ares_library_init.c 72 * to WinXP then c-ares uses portable rand() function. Then don't error here.
  /external/chromium-trace/catapult/telemetry/third_party/pyserial/serial/
__init__.py 3 # portable serial port access with python
  /external/chromium-trace/catapult/third_party/typ/typ/
__init__.py 45 portable and easily testable code by wrapping the multiprocessing,
  /external/compiler-rt/lib/sanitizer_common/
sanitizer_report_decorator.h 24 // FIXME: This is not portable. It assumes the special strings are printed to
  /external/curl/docs/examples/
multi-single.c 37 /* Portable sleep for platforms other than Windows. */
  /external/curl/docs/libcurl/
curl_getenv.3 31 curl_getenv() is a portable wrapper for the getenv() function, meant to
  /external/curl/include/
README 53 To figure out how to do good and portable checks for features, operating
  /external/curl/lib/
nonblock.c 45 * portable.
  /external/curl/src/
Makefile.inc 4 # ever want to change this in a portable manner then we should consider
  /external/eigen/bench/btl/generic_bench/timers/
mixed_perf_analyzer.hh 26 // choose portable perf analyzer for long calculations and x86 analyser for short ones
  /external/fec/
dsp.3 30 available; otherwise, a portable C version is used.

Completed in 1772 milliseconds

1 2 3 4 56 7 8 91011>>