Skip to content

Commit

Permalink
Bug 1667736 - Update packed_simd to compile on Rust 1.48. r=glandium
Browse files Browse the repository at this point in the history
  • Loading branch information
hsivonen committed Oct 30, 2020
1 parent 1fe9274 commit 33c996c
Show file tree
Hide file tree
Showing 76 changed files with 618 additions and 801 deletions.
2 changes: 1 addition & 1 deletion .cargo/config.in
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ tag = "v0.4.2"
[source."https://github.com/hsivonen/packed_simd"]
git = "https://github.com/hsivonen/packed_simd"
replace-with = "vendored-sources"
rev = "3541e3818fdc7c2a24f87e3459151a4ce955a67a"
rev = "0917fe780032a6bbb23d71be545f9c1834128d75"

[source."https://github.com/gfx-rs/naga"]
git = "https://github.com/gfx-rs/naga"
Expand Down
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ panic = "abort"

[patch.crates-io]
libudev-sys = { path = "dom/webauthn/libudev-sys" }
packed_simd = { git = "https://github.com/hsivonen/packed_simd", rev="3541e3818fdc7c2a24f87e3459151a4ce955a67a" }
packed_simd = { git = "https://github.com/hsivonen/packed_simd", rev="0917fe780032a6bbb23d71be545f9c1834128d75" }
rlbox_lucet_sandbox = { git = "https://github.com/PLSysSec/rlbox_lucet_sandbox/", rev="ed8bac8812e9f335d5fadd0f4ece96981aba88a3" }
nix = { git = "https://github.com/shravanrn/nix/", branch = "r0.13.1", rev="4af6c367603869a30fddb5ffb0aba2b9477ba92e" }
spirv_cross = { git = "https://github.com/kvark/spirv_cross", branch = "wgpu3", rev = "20191ad2f370afd6d247edcb9ff9da32d3bedb9c" }
Expand Down
2 changes: 1 addition & 1 deletion third_party/rust/packed_simd/.cargo-checksum.json

Large diffs are not rendered by default.

237 changes: 84 additions & 153 deletions third_party/rust/packed_simd/.travis.yml
Original file line number Diff line number Diff line change
@@ -1,200 +1,137 @@
language: rust
sudo: false
rust: nightly
os: linux
dist: focal

stages:
- tools
- linux-tier1
- osx-tier1
- osx-tier2
- linux-tier2
- android
- build-test-verify # Passes full test suite, permit no regressions (unless it's rustup :/)
- 32bit-tier1
- 64bit-tier2
- 32bit-tier2

matrix:
fast_finish: true
jobs:
fast_finish: true
include:
# Android:
- env: TARGET=x86_64-linux-android NOVERIFY=1
- env: TARGET=x86_64-linux-android
name: "x86_64-unknown-linux-android + SSE2"
stage: android
stage: build-test-verify
- env: TARGET=arm-linux-androideabi
name: "arm-linux-androideabi"
stage: android
stage: build-test-verify
- env: TARGET=arm-linux-androideabi RUSTFLAGS="-C target-feature=+v7,+neon"
name: "arm-linux-androideabi + NEON"
stage: android
- env: TARGET=aarch64-linux-android
name: "aarch64-unknown-linux-android"
stage: android
- env: TARGET=aarch64-linux-android RUSTFLAGS="-C target-feature=+neon"
name: "aarch64-unknown-linux-android + NEON"
stage: android
stage: build-test-verify
- name: "aarch64-unknown-linux-android + NEON"
env: TARGET=aarch64-linux-android RUSTFLAGS="-C target-feature=+neon"
stage: build-test-verify
- env: TARGET="thumbv7neon-linux-androideabi"
name: "thumbv7neon-linux-androideabi"
stage: android
stage: 32bit-tier2
# Linux:
- env: TARGET=i586-unknown-linux-gnu
name: "i586-unknown-linux-gnu"
stage: linux-tier2
stage: 32bit-tier2
- env: TARGET=i586-unknown-linux-gnu RUSTFLAGS="-C target-feature=+sse"
name: "i586-unknown-linux-gnu + SSE"
stage: linux-tier2
stage: 32bit-tier2
- env: TARGET=i586-unknown-linux-gnu RUSTFLAGS="-C target-feature=+sse2"
name: "i586-unknown-linux-gnu + SSE2"
stage: linux-tier2
stage: 32bit-tier2
- env: TARGET=i686-unknown-linux-gnu
name: "i686-unknown-linux-gnu + SSE2"
stage: linux-tier1
stage: 32bit-tier1
- env: TARGET=i686-unknown-linux-gnu RUSTFLAGS="-C target-feature=+sse4.2"
name: "i686-unknown-linux-gnu + SSE4.2"
stage: linux-tier1
stage: 32bit-tier1
- env: TARGET=i686-unknown-linux-gnu RUSTFLAGS="-C target-feature=+avx2"
name: "i686-unknown-linux-gnu + AVX2"
stage: linux-tier1
- env: TARGET=x86_64-unknown-linux-gnu
name: "x86_64-unknown-linux-gnu + SSE2"
install: rustup component add rustfmt-preview
stage: linux-tier1
stage: 32bit-tier1
- env: TARGET=x86_64-unknown-linux-gnu RUSTFLAGS="-C target-feature=+sse4.2"
name: "x86_64-unknown-linux-gnu + SSE4.2"
install: rustup component add rustfmt-preview
stage: linux-tier1
- env: TARGET=x86_64-unknown-linux-gnu RUSTFLAGS="-C target-feature=+avx"
name: "x86_64-unknown-linux-gnu + AVX"
install: rustup component add rustfmt-preview
stage: linux-tier1
stage: build-test-verify
- env: TARGET=x86_64-unknown-linux-gnu RUSTFLAGS="-C target-feature=+avx2"
name: "x86_64-unknown-linux-gnu + AVX2"
install: rustup component add rustfmt-preview
stage: linux-tier1
- env: TARGET=x86_64-unknown-linux-gnu-emulated
name: "Intel SDE + SSE2"
install: true
stage: linux-tier1
- env: TARGET=x86_64-unknown-linux-gnu-emulated RUSTFLAGS="-C target-feature=+sse4.2"
name: "Intel SDE + SSE4.2"
install: true
stage: linux-tier1
- env: TARGET=x86_64-unknown-linux-gnu-emulated RUSTFLAGS="-C target-feature=+avx"
name: "Intel SDE + AVX"
install: true
stage: linux-tier1
- env: TARGET=x86_64-unknown-linux-gnu-emulated RUSTFLAGS="-C target-feature=+avx2"
name: "Intel SDE + AVX2"
install: true
stage: linux-tier1
- env: TARGET=x86_64-unknown-linux-gnu-emulated RUSTFLAGS="-C target-feature=+avx-512f"
name: "Intel SDE + AVX-512"
install: true
stage: linux-tier1
- env: TARGET=arm-unknown-linux-gnueabi
name: "arm-unknown-linux-gnueabi"
stage: linux-tier2
stage: build-test-verify
- env: TARGET=arm-unknown-linux-gnueabi RUSTFLAGS="-C target-feature=+v7,+neon"
name: "arm-unknown-linux-gnueabi + NEON"
stage: linux-tier2
stage: build-test-verify
- env: TARGET=arm-unknown-linux-gnueabihf
name: "arm-unknown-linux-gnueabihf"
stage: linux-tier2
stage: build-test-verify
- env: TARGET=arm-unknown-linux-gnueabihf RUSTFLAGS="-C target-feature=+v7,+neon"
name: "arm-unknown-linux-gnueabihf + NEON"
stage: linux-tier2
stage: build-test-verify
- env: TARGET=armv7-unknown-linux-gnueabihf
name: "armv7-unknown-linux-gnueabihf"
stage: linux-tier2
stage: build-test-verify
- env: TARGET=armv7-unknown-linux-gnueabihf RUSTFLAGS="-C target-feature=+neon"
name: "armv7-unknown-linux-gnueabihf + NEON"
stage: linux-tier2
stage: build-test-verify
- env: TARGET="thumbv7neon-unknown-linux-gnueabihf"
name: "thumbv7neon-unknown-linux-gnueabihf"
stage: linux-tier2
- env: TARGET=aarch64-unknown-linux-gnu
name: "aarch64-unknown-linux-gnu"
stage: linux-tier2
- env: TARGET=aarch64-unknown-linux-gnu RUSTFLAGS="-C target-feature=+neon"
name: "aarch64-unknown-linux-gnu + NEON"
stage: linux-tier2
stage: 32bit-tier2
- name: "aarch64-unknown-linux-gnu + NEON"
env: TARGET=aarch64-unknown-linux-gnu RUSTFLAGS="-C target-feature=+neon"
stage: build-test-verify
- env: TARGET=mips-unknown-linux-gnu
name: "mips-unknown-linux-gnu"
stage: linux-tier2
stage: 32bit-tier2
- env: TARGET=mipsel-unknown-linux-musl
name: "mipsel-unknown-linux-musl"
stage: linux-tier2
stage: 32bit-tier2
- env: TARGET=mips64-unknown-linux-gnuabi64
name: "mips64-unknown-linux-gnuabi64"
stage: linux-tier2
stage: 64bit-tier2
- env: TARGET=mips64el-unknown-linux-gnuabi64
name: "mips64el-unknown-linux-gnuabi64"
stage: linux-tier2
stage: 64bit-tier2
# FIXME: https://github.com/rust-lang-nursery/packed_simd/issues/18
# env: TARGET=mips64el-unknown-linux-gnuabi64 RUSTFLAGS="-C target-feature=+msa -C target-cpu=mips64r6"
- env: TARGET=powerpc-unknown-linux-gnu
name: "powerpc-unknown-linux-gnu"
stage: linux-tier2
stage: 32bit-tier2
- env: TARGET=powerpc64-unknown-linux-gnu
name: "powerpc64-unknown-linux-gnu"
stage: linux-tier2
- env: TARGET=powerpc64le-unknown-linux-gnu
name: "powerpc64le-unknown-linux-gnu"
stage: linux-tier2
- env: TARGET=powerpc64le-unknown-linux-gnu RUSTFLAGS="-C target-feature=+altivec"
name: "powerpc64le-unknown-linux-gnu + ALTIVEC"
stage: linux-tier2
- env: TARGET=powerpc64le-unknown-linux-gnu RUSTFLAGS="-C target-feature=+vsx"
name: "powerpc64le-unknown-linux-gnu + VSX"
stage: linux-tier2
- env: TARGET=s390x-unknown-linux-gnu
name: "s390x-unknown-linux-gnu"
stage: linux-tier2
stage: 64bit-tier2
- name: "powerpc64le-unknown-linux-gnu"
env: TARGET=powerpc64le-unknown-linux-gnu
stage: build-test-verify
- name: "powerpc64le-unknown-linux-gnu + ALTIVEC"
env: TARGET=powerpc64le-unknown-linux-gnu RUSTFLAGS="-C target-feature=+altivec"
stage: build-test-verify
- name: "powerpc64le-unknown-linux-gnu + VSX"
env: TARGET=powerpc64le-unknown-linux-gnu RUSTFLAGS="-C target-feature=+vsx"
stage: build-test-verify
- name: "s390x-unknown-linux-gnu"
env: TARGET=s390x-unknown-linux-gnu
stage: 64bit-tier2
- env: TARGET=sparc64-unknown-linux-gnu
name: "sparc64-unknown-linux-gnu"
stage: linux-tier2
stage: 64bit-tier2
# WebAssembly:
- env: TARGET=wasm32-unknown-unknown
name: "wasm32-unknown-unknown"
stage: osx-tier1 # For now
stage: 32bit-tier2
# MacOSX:
- os: osx
env: TARGET=i686-apple-darwin
name: "i686-apple-darwin + SSE2"
script: ci/run.sh
osx_image: xcode10
stage: osx-tier1
- os: osx
env: TARGET=i686-apple-darwin RUSTFLAGS="-C target-feature=+sse4.2"
name: "i686-apple-darwin + SSE4.2"
script: ci/run.sh
osx_image: xcode10
stage: osx-tier1
# Travis-CI OSX build bots do not support AVX2:
- os: osx
env: TARGET=i686-apple-darwin RUSTFLAGS="-C target-feature=+avx"
name: "i686-apple-darwin + AVX"
script: ci/run.sh
osx_image: xcode10
stage: osx-tier1
- os: osx
env: TARGET=x86_64-apple-darwin
name: "x86_64-apple-darwin + SSE2"
install: true
script: ci/run.sh
osx_image: xcode10
stage: osx-tier1
- os: osx
env: TARGET=x86_64-apple-darwin RUSTFLAGS="-C target-feature=+sse4.2"
name: "x86_64-apple-darwin + SSE4.2"
install: true
script: ci/run.sh
osx_image: xcode10
stage: osx-tier1
stage: build-test-verify
# Travis-CI OSX build bots do not support AVX2:
- os: osx
env: TARGET=x86_64-apple-darwin RUSTFLAGS="-C target-feature=+avx"
name: "x86_64-apple-darwin + AVX"
install: true
script: ci/run.sh
osx_image: xcode10
stage: osx-tier1
stage: build-test-verify
# *BSDs:
#- env: TARGET=i686-unknown-freebsd NORUN=1
# script: ci/run.sh
Expand All @@ -206,81 +143,75 @@ matrix:
#- env: TARGET=x86_64-sun-solaris NORUN=1
# script: ci/run.sh
# iOS:
- os: osx
env: TARGET=i386-apple-ios
name: "i386-apple-ios"
script: ci/run.sh
osx_image: xcode9.4
stage: osx-tier2
- os: osx
env: TARGET=x86_64-apple-ios
name: "x86_64-apple-ios + SSE2"
script: ci/run.sh
osx_image: xcode9.4
stage: osx-tier2
- os: osx
env: TARGET=armv7-apple-ios NORUN=1
name: "armv7-apple-ios [Build only]"
script: ci/run.sh
stage: 64bit-tier2
- name: "aarch64-apple-ios + NEON"
env: TARGET=aarch64-apple-ios RUSTFLAGS="-C target-feature=+neon"
os: osx
osx_image: xcode9.4
stage: osx-tier2
- os: osx
env: TARGET=aarch64-apple-ios NORUN=1
name: "aarch64-apple-ios [Build only]"
script: ci/run.sh
osx_image: xcode9.4
stage: osx-tier2
stage: 64bit-tier2
# BENCHMARKS:
- name: "Benchmarks - x86_64-unknown-linux-gnu"
install: TARGET=x86_64-unknown-linux-gnu ./ci/setup_benchmarks.sh
script: PATH=$(pwd):$PATH NORUN=1 VERIFY=1 FEATURES=core_arch,ispc,sleef-sys ci/benchmark.sh
# FIXME: Use `core_arch,sleef-sys` features once they works again
script: PATH=$(pwd):$PATH NORUN=1 VERIFY=1 FEATURES=ispc ci/benchmark.sh
stage: tools
- name: "Benchmarks - x86_64-apple-darwin"
install: TARGET=x86_64-apple-darwin ./ci/setup_benchmarks.sh
script: PATH=$(pwd):$PATH NORUN=1 VERIFY=1 FEATURES=core_arch,ispc,sleef-sys ci/benchmark.sh
# FIXME: Use `core_arch,sleef-sys` features once they works again
script: PATH=$(pwd):$PATH NORUN=1 VERIFY=1 FEATURES=ispc ci/benchmark.sh
os: osx
osx_image: xcode9.4
stage: tools
# TOOLS:
- name: "Documentation"
install: cargo install mdbook
before_install:
- sudo add-apt-repository -y ppa:deadsnakes/ppa
- sudo apt-get update -y
- sudo apt-get install -y python3.9
install:
- cargo install mdbook
script: ci/dox.sh
stage: tools
- name: "rustfmt"
install: true
before_script: rustup component add rustfmt-preview
script: ci/all.sh check_fmt || true
script: |
if rustup component add rustfmt-preview ; then
ci/all.sh check_fmt || true
fi
stage: tools
- name: "clippy"
install: true
before_script: rustup component add clippy-preview
script: ci/all.sh clippy
script: |
if rustup component add clippy-preview ; then
ci/all.sh clippy
fi
stage: tools

allow_failures:
# FIXME: ISPC cannot be found?
- name: "Benchmarks - x86_64-apple-darwin"
# FIXME: TBD
- env: TARGET=powerpc-unknown-linux-gnu
- env: TARGET=powerpc64-unknown-linux-gnu
- env: TARGET=powerpc64le-unknown-linux-gnu
- env: TARGET=powerpc64le-unknown-linux-gnu RUSTFLAGS="-C target-feature=+altivec"
- env: TARGET=powerpc64le-unknown-linux-gnu RUSTFLAGS="-C target-feature=+vsx"
# FIXME: i686 fails in inlining, apparently
- stage: 32bit-tier1
#- env: TARGET=i686-unknown-freebsd NORUN=1
#- env: TARGET=x86_64-unknown-freebsd NORUN=1
#- env: TARGET=x86_64-unknown-netbsd NORUN=1
#- env: TARGET=x86_64-sun-solaris NORUN=1

# FIXME: TBD
- env: TARGET=arm-linux-androideabi
- env: TARGET=arm-linux-androideabi RUSTFLAGS="-C target-feature=+v7,+neon"
- env: TARGET=aarch64-linux-android
- env: TARGET=aarch64-linux-android RUSTFLAGS="-C target-feature=+neon"
- stage: 64bit-tier2
- stage: 32bit-tier2

# FIXME: iOS
# https://github.com/rust-lang-nursery/packed_simd/issues/26
- env: TARGET=i386-apple-ios
- env: TARGET=x86_64-apple-ios
# Is this related to the above? Mysterious test failure
- name: "aarch64-apple-ios + NEON"

# FIXME: https://github.com/rust-lang-nursery/packed_simd/issues/182
- env: TARGET=arm-unknown-linux-gnueabi RUSTFLAGS="-C target-feature=+v7,+neon"
Expand Down
Loading

0 comments on commit 33c996c

Please sign in to comment.