gitextract_ltzo2pap/ ├── .appveyor.yml ├── .github/ │ └── workflows/ │ ├── benchmarks.yml │ ├── ci.yml │ ├── docs.yml │ └── run-ci-script.yml ├── .gitignore ├── .travis.yml ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── bors.toml ├── build.rs ├── ci/ │ ├── all.sh │ ├── android-install-ndk.sh │ ├── android-install-sdk.sh │ ├── android-sysimage.sh │ ├── benchmark.sh │ ├── deploy_and_run_on_ios_simulator.rs │ ├── docker/ │ │ ├── aarch64-linux-android/ │ │ │ └── Dockerfile │ │ ├── aarch64-unknown-linux-gnu/ │ │ │ └── Dockerfile │ │ ├── arm-unknown-linux-gnueabi/ │ │ │ └── Dockerfile │ │ ├── arm-unknown-linux-gnueabihf/ │ │ │ └── Dockerfile │ │ ├── armv7-linux-androideabi/ │ │ │ └── Dockerfile │ │ ├── armv7-unknown-linux-gnueabihf/ │ │ │ └── Dockerfile │ │ ├── i586-unknown-linux-gnu/ │ │ │ └── Dockerfile │ │ ├── i686-unknown-linux-gnu/ │ │ │ └── Dockerfile │ │ ├── mips-unknown-linux-gnu/ │ │ │ └── Dockerfile │ │ ├── mips64-unknown-linux-gnuabi64/ │ │ │ └── Dockerfile │ │ ├── mips64el-unknown-linux-gnuabi64/ │ │ │ └── Dockerfile │ │ ├── mipsel-unknown-linux-musl/ │ │ │ └── Dockerfile │ │ ├── powerpc-unknown-linux-gnu/ │ │ │ └── Dockerfile │ │ ├── powerpc64-unknown-linux-gnu/ │ │ │ └── Dockerfile │ │ ├── powerpc64le-unknown-linux-gnu/ │ │ │ └── Dockerfile │ │ ├── s390x-unknown-linux-gnu/ │ │ │ └── Dockerfile │ │ ├── sparc64-unknown-linux-gnu/ │ │ │ └── Dockerfile │ │ ├── thumbv7neon-linux-androideabi/ │ │ │ └── Dockerfile │ │ ├── thumbv7neon-unknown-linux-gnueabihf/ │ │ │ └── Dockerfile │ │ ├── wasm32-unknown-unknown/ │ │ │ └── Dockerfile │ │ ├── x86_64-linux-android/ │ │ │ └── Dockerfile │ │ ├── x86_64-unknown-linux-gnu/ │ │ │ └── Dockerfile │ │ └── x86_64-unknown-linux-gnu-emulated/ │ │ └── Dockerfile │ ├── dox.sh │ ├── linux-s390x.sh │ ├── linux-sparc64.sh │ ├── lld-shim.rs │ ├── max_line_width.sh │ ├── run-docker.sh │ ├── run.sh │ ├── run_examples.sh │ ├── runtest-android.rs │ ├── setup_benchmarks.sh │ └── test-runner-linux ├── contributing.md ├── examples/ │ ├── Cargo.toml │ ├── aobench/ │ │ ├── Cargo.toml │ │ ├── benches/ │ │ │ ├── ambient_occlusion.rs │ │ │ ├── isec_plane.rs │ │ │ ├── isec_sphere.rs │ │ │ ├── random.rs │ │ │ └── scanlines.rs │ │ ├── benchmark.sh │ │ ├── build.rs │ │ ├── readme.md │ │ ├── rustfmt.toml │ │ ├── src/ │ │ │ ├── ambient_occlusion.rs │ │ │ ├── geometry/ │ │ │ │ ├── mod.rs │ │ │ │ ├── plane.rs │ │ │ │ ├── ray.rs │ │ │ │ ├── rayxN.rs │ │ │ │ ├── sphere.rs │ │ │ │ ├── vec.rs │ │ │ │ └── vecxN.rs │ │ │ ├── image.rs │ │ │ ├── intersection/ │ │ │ │ ├── mod.rs │ │ │ │ ├── packet.rs │ │ │ │ ├── ray_plane.rs │ │ │ │ ├── ray_sphere.rs │ │ │ │ └── single.rs │ │ │ ├── ispc_.rs │ │ │ ├── lib.rs │ │ │ ├── main.rs │ │ │ ├── random.rs │ │ │ ├── scalar.rs │ │ │ ├── scalar_parallel.rs │ │ │ ├── scene/ │ │ │ │ ├── mod.rs │ │ │ │ ├── random.rs │ │ │ │ └── test.rs │ │ │ ├── tiled.rs │ │ │ ├── tiled_parallel.rs │ │ │ ├── vector.rs │ │ │ └── vector_parallel.rs │ │ └── volta/ │ │ ├── .gitignore │ │ └── ao.ispc │ ├── dot_product/ │ │ ├── Cargo.toml │ │ ├── readme.md │ │ └── src/ │ │ ├── lib.rs │ │ ├── scalar.rs │ │ └── simd.rs │ ├── fannkuch_redux/ │ │ ├── Cargo.toml │ │ ├── readme.md │ │ └── src/ │ │ ├── fannkuchredux-output.txt │ │ ├── lib.rs │ │ ├── main.rs │ │ ├── scalar.rs │ │ └── simd.rs │ ├── mandelbrot/ │ │ ├── Cargo.toml │ │ ├── benchmark.sh │ │ ├── build.rs │ │ ├── readme.md │ │ ├── src/ │ │ │ ├── ispc_tasks.rs │ │ │ ├── lib.rs │ │ │ ├── main.rs │ │ │ ├── mandelbrot-output.txt │ │ │ ├── scalar_par.rs │ │ │ └── simd_par.rs │ │ └── volta/ │ │ └── mandelbrot.ispc │ ├── matrix_inverse/ │ │ ├── Cargo.toml │ │ ├── readme.md │ │ └── src/ │ │ ├── lib.rs │ │ ├── scalar.rs │ │ └── simd.rs │ ├── nbody/ │ │ ├── Cargo.toml │ │ ├── benches/ │ │ │ └── algs.rs │ │ ├── readme.md │ │ └── src/ │ │ ├── lib.rs │ │ ├── main.rs │ │ ├── nbody-output.txt │ │ ├── scalar.rs │ │ └── simd.rs │ ├── options_pricing/ │ │ ├── Cargo.toml │ │ ├── benchmark.sh │ │ ├── build.rs │ │ ├── readme.md │ │ ├── src/ │ │ │ ├── ispc_.rs │ │ │ ├── lib.rs │ │ │ ├── main.rs │ │ │ ├── scalar.rs │ │ │ ├── simd.rs │ │ │ ├── simd_kernels.rs │ │ │ ├── simd_par.rs │ │ │ └── sum.rs │ │ └── volta/ │ │ ├── options.ispc │ │ └── options_defs.h │ ├── rust-toolchain │ ├── slice_sum/ │ │ ├── Cargo.toml │ │ ├── readme.md │ │ └── src/ │ │ └── main.rs │ ├── spectral_norm/ │ │ ├── Cargo.toml │ │ ├── readme.md │ │ └── src/ │ │ ├── lib.rs │ │ ├── main.rs │ │ ├── scalar.rs │ │ ├── simd.rs │ │ └── spectralnorm-output.txt │ ├── stencil/ │ │ ├── Cargo.toml │ │ ├── benchmark.sh │ │ ├── build.rs │ │ ├── readme.md │ │ ├── src/ │ │ │ ├── ispc_loops.rs │ │ │ ├── lib.rs │ │ │ ├── main.rs │ │ │ ├── scalar.rs │ │ │ ├── simd.rs │ │ │ └── simd_par.rs │ │ └── volta/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── common.mk │ │ ├── stencil.cpp │ │ ├── stencil.ispc │ │ ├── stencil_serial.cpp │ │ ├── tasksys.cpp │ │ └── timing.h │ └── triangle_xform/ │ ├── Cargo.toml │ ├── readme.md │ └── src/ │ ├── lib.rs │ ├── scalar.rs │ └── simd.rs ├── micro_benchmarks/ │ ├── Cargo.toml │ ├── benches/ │ │ └── mask_reductions.rs │ └── rust-toolchain ├── perf-guide/ │ ├── .gitignore │ ├── book.toml │ └── src/ │ ├── SUMMARY.md │ ├── ascii.css │ ├── bound_checks.md │ ├── float-math/ │ │ ├── approx.md │ │ ├── fma.md │ │ ├── fp.md │ │ └── svml.md │ ├── introduction.md │ ├── prof/ │ │ ├── linux.md │ │ ├── mca.md │ │ └── profiling.md │ ├── target-feature/ │ │ ├── attribute.md │ │ ├── features.md │ │ ├── inlining.md │ │ ├── practice.md │ │ ├── runtime.md │ │ └── rustflags.md │ └── vert-hor-ops.md ├── rust-toolchain ├── rustfmt.toml ├── src/ │ ├── api/ │ │ ├── bit_manip.rs │ │ ├── bitmask.rs │ │ ├── cast/ │ │ │ ├── macros.rs │ │ │ ├── v128.rs │ │ │ ├── v16.rs │ │ │ ├── v256.rs │ │ │ ├── v32.rs │ │ │ ├── v512.rs │ │ │ └── v64.rs │ │ ├── cast.rs │ │ ├── cmp/ │ │ │ ├── eq.rs │ │ │ ├── ord.rs │ │ │ ├── partial_eq.rs │ │ │ ├── partial_ord.rs │ │ │ └── vertical.rs │ │ ├── cmp.rs │ │ ├── default.rs │ │ ├── fmt/ │ │ │ ├── binary.rs │ │ │ ├── debug.rs │ │ │ ├── lower_hex.rs │ │ │ ├── octal.rs │ │ │ └── upper_hex.rs │ │ ├── fmt.rs │ │ ├── from/ │ │ │ ├── from_array.rs │ │ │ └── from_vector.rs │ │ ├── from.rs │ │ ├── hash.rs │ │ ├── into_bits/ │ │ │ ├── arch_specific.rs │ │ │ ├── macros.rs │ │ │ ├── v128.rs │ │ │ ├── v16.rs │ │ │ ├── v256.rs │ │ │ ├── v32.rs │ │ │ ├── v512.rs │ │ │ └── v64.rs │ │ ├── into_bits.rs │ │ ├── math/ │ │ │ ├── float/ │ │ │ │ ├── abs.rs │ │ │ │ ├── consts.rs │ │ │ │ ├── cos.rs │ │ │ │ ├── exp.rs │ │ │ │ ├── ln.rs │ │ │ │ ├── mul_add.rs │ │ │ │ ├── mul_adde.rs │ │ │ │ ├── powf.rs │ │ │ │ ├── recpre.rs │ │ │ │ ├── rsqrte.rs │ │ │ │ ├── sin.rs │ │ │ │ ├── sqrt.rs │ │ │ │ ├── sqrte.rs │ │ │ │ └── tanh.rs │ │ │ └── float.rs │ │ ├── math.rs │ │ ├── minimal/ │ │ │ ├── iuf.rs │ │ │ ├── mask.rs │ │ │ └── ptr.rs │ │ ├── minimal.rs │ │ ├── ops/ │ │ │ ├── scalar_arithmetic.rs │ │ │ ├── scalar_bitwise.rs │ │ │ ├── scalar_mask_bitwise.rs │ │ │ ├── scalar_shifts.rs │ │ │ ├── vector_arithmetic.rs │ │ │ ├── vector_bitwise.rs │ │ │ ├── vector_float_min_max.rs │ │ │ ├── vector_int_min_max.rs │ │ │ ├── vector_mask_bitwise.rs │ │ │ ├── vector_neg.rs │ │ │ ├── vector_rotates.rs │ │ │ └── vector_shifts.rs │ │ ├── ops.rs │ │ ├── ptr/ │ │ │ └── gather_scatter.rs │ │ ├── ptr.rs │ │ ├── reductions/ │ │ │ ├── bitwise.rs │ │ │ ├── float_arithmetic.rs │ │ │ ├── integer_arithmetic.rs │ │ │ ├── mask.rs │ │ │ └── min_max.rs │ │ ├── reductions.rs │ │ ├── select.rs │ │ ├── shuffle.rs │ │ ├── shuffle1_dyn.rs │ │ ├── slice/ │ │ │ ├── from_slice.rs │ │ │ └── write_to_slice.rs │ │ ├── slice.rs │ │ └── swap_bytes.rs │ ├── api.rs │ ├── codegen/ │ │ ├── bit_manip.rs │ │ ├── llvm.rs │ │ ├── math/ │ │ │ ├── float/ │ │ │ │ ├── abs.rs │ │ │ │ ├── cos.rs │ │ │ │ ├── cos_pi.rs │ │ │ │ ├── exp.rs │ │ │ │ ├── ln.rs │ │ │ │ ├── macros.rs │ │ │ │ ├── mul_add.rs │ │ │ │ ├── mul_adde.rs │ │ │ │ ├── powf.rs │ │ │ │ ├── sin.rs │ │ │ │ ├── sin_cos_pi.rs │ │ │ │ ├── sin_pi.rs │ │ │ │ ├── sqrt.rs │ │ │ │ ├── sqrte.rs │ │ │ │ └── tanh.rs │ │ │ └── float.rs │ │ ├── math.rs │ │ ├── pointer_sized_int.rs │ │ ├── reductions/ │ │ │ ├── mask/ │ │ │ │ ├── aarch64.rs │ │ │ │ ├── arm.rs │ │ │ │ ├── fallback.rs │ │ │ │ ├── fallback_impl.rs │ │ │ │ ├── x86/ │ │ │ │ │ ├── avx.rs │ │ │ │ │ ├── avx2.rs │ │ │ │ │ ├── sse.rs │ │ │ │ │ └── sse2.rs │ │ │ │ └── x86.rs │ │ │ └── mask.rs │ │ ├── reductions.rs │ │ ├── shuffle.rs │ │ ├── shuffle1_dyn.rs │ │ ├── swap_bytes.rs │ │ ├── v128.rs │ │ ├── v16.rs │ │ ├── v256.rs │ │ ├── v32.rs │ │ ├── v512.rs │ │ ├── v64.rs │ │ ├── vPtr.rs │ │ └── vSize.rs │ ├── codegen.rs │ ├── lib.rs │ ├── masks.rs │ ├── sealed.rs │ ├── testing/ │ │ ├── macros.rs │ │ └── utils.rs │ ├── testing.rs │ ├── v128.rs │ ├── v16.rs │ ├── v256.rs │ ├── v32.rs │ ├── v512.rs │ ├── v64.rs │ ├── vPtr.rs │ └── vSize.rs ├── tests/ │ └── endianness.rs └── verify/ └── verify/ ├── Cargo.toml ├── readme.md ├── rust-toolchain └── src/ ├── api/ │ ├── math/ │ │ └── float/ │ │ ├── mod.rs │ │ └── mul_add.rs │ ├── math.rs │ ├── ops/ │ │ ├── vector_rotates/ │ │ │ └── x86.rs │ │ └── vector_rotates.rs │ ├── ops.rs │ ├── reductions/ │ │ ├── mask/ │ │ │ ├── avx.rs │ │ │ ├── avx2.rs │ │ │ ├── sse.rs │ │ │ └── sse2.rs │ │ └── mask.rs │ └── reductions.rs ├── api.rs └── lib.rs