Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add simd math intrinsics and gather/scatter #50521

Merged
merged 14 commits into from
May 28, 2018
Merged

Conversation

gnzlbg
Copy link
Contributor

@gnzlbg gnzlbg commented May 8, 2018

This PR adds simd math intrinsics for floating-point vectors (sqrt, sin, cos, pow, exp, log, fma, abs, etc.) and the generic simd gather/scatter intrinsics.

@rust-highfive
Copy link
Collaborator

r? @petrochenkov

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 8, 2018
@gnzlbg
Copy link
Contributor Author

gnzlbg commented May 8, 2018

Still needs to be cleaned up and need to add run-time tests, but I'd like initial feedback on the general approach.

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-3.9 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Downloading https://files.pythonhosted.org/packages/78/5c/efd9fef62acc9fba7a0cb463673b14d537f45abd4f67bec998955b67fd7d/awscli-1.15.15-py2.py3-none-any.whl (1.3MB)
    0% |▎                               | 10kB 10.0MB/s eta 0:00:01
    1% |▌                               | 20kB 1.7MB/s eta 0:00:01
    2% |▉                               | 30kB 2.0MB/s eta 0:00:01
    3% |█                               | 40kB 1.9MB/s eta 0:00:01
---
    100% |████████████████████████████████| 1.3MB 944kB/s 
Collecting botocore==1.10.15 (from awscli)
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Downloading https://files.pythonhosted.org/packages/3e/a2/4eddf990705eccdda115d8e9e7c20fa21615704ed0806fc9eba6c2fcaad5/botocore-1.10.15-py2.py3-none-any.whl (4.2MB)
    0% |                                | 10kB 34.8MB/s eta 0:00:01
    0% |▏                               | 20kB 35.6MB/s eta 0:00:01
    0% |▎                               | 30kB 37.3MB/s eta 0:00:01
    0% |▎                               | 40kB 19.2MB/s eta 0:00:01
---

[00:04:51] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:04:51] tidy error: /checkout/src/librustc_trans/intrinsic.rs:1183: line longer than 100 chars
[00:04:51] tidy error: /checkout/src/librustc_trans/intrinsic.rs:1210: line longer than 100 chars
[00:04:51] tidy error: /checkout/src/librustc_trans/intrinsic.rs:1217: line longer than 100 chars
[00:04:51] tidy error: /checkout/src/librustc_trans/intrinsic.rs:1547: line longer than 100 chars
[00:04:52] tidy error: /checkout/src/test/codegen/simd-intrinsic-generic-scatter.rs:36: line longer than 100 chars
[00:04:52] tidy error: /checkout/src/test/codegen/simd-intrinsic-generic-scatter.rs:44: line longer than 100 chars
[00:04:52] tidy error: /checkout/src/test/codegen/simd-intrinsic-generic-gather.rs:36: line longer than 100 chars
[00:04:52] tidy error: /checkout/src/test/codegen/simd-intrinsic-generic-gather.rs:44: line longer than 100 chars
[00:04:53] some tidy checks failed
[00:04:53] 
[00:04:53] 
[00:04:53] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:04:53] 
[00:04:53] 
[00:04:53] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:04:53] Build completed unsuccessfully in 0:01:57
[00:04:53] Build completed unsuccessfully in 0:01:57
[00:04:53] make: *** [tidy] Error 1
[00:04:53] Makefile:79: recipe for target 'tidy' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:128db9eb
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-3.9 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:start:test_codegen
Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:00:02] 
[01:00:02] running 93 tests
heckout/obj/build/x86_64-unknown-linux-gnu/test/codegen" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-C" "no-prepopulate-passes" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/simd-intrinsic-generic-scatter.stage2-x86_64-unknown-linux-gnu.aux" "--emit=llvm-ir"
[01:00:08] ------------------------------------------
[01:00:08] 
[01:00:08] ------------------------------------------
[01:00:08] stderr:
[01:00:08] stderr:
[01:00:08] ------------------------------------------
[01:00:08] Intrinsic name not mangled correctly for type arguments! Should be: llvm.masked.scatter.v2f32
[01:00:08] void (<2 x float>, <2 x float*>, i32, <2 x i1>)* @llvm.masked.scatter.v2f32.v2p0f32
[01:00:08] LLVM ERROR: Broken function found, compilation aborted!
[01:00:08] ------------------------------------------
[01:00:08] 
[01:00:08] 
[01:00:08] thread '[codegen] codegen/simd-intrinsic-generic-scatter.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3033:9
[01:00:08] 
[01:00:08] failures:
[01:00:08] failures:
[01:00:08]     [codegen] codegen/simd-intrinsic-generic-gather.rs
[01:00:08]     [codegen] codegen/simd-intrinsic-generic-scatter.rs
[01:00:08] test result: FAILED. 71 passed; 2 failed; 20 ignored; 0 measured; 0 filtered out
[01:00:08] 
[01:00:08] 
[01:00:08] 
[01:00:08] 
[01:00:08] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/codegen" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "codegen" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-3.9/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options " "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "3.9.1\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[01:00:08] 
[01:00:08] 
[01:00:08] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:00:08] Build completed unsuccessfully in 0:17:35
[01:00:08] Build completed unsuccessfully in 0:17:35
[01:00:08] Makefile:58: recipe for target 'check' failed
[01:00:08] make: *** [check] Error 1

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0b30d312
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@gnzlbg
Copy link
Contributor Author

gnzlbg commented May 9, 2018

@petrochenkov all tests are there

@gnzlbg
Copy link
Contributor Author

gnzlbg commented May 9, 2018

r? @alexcrichton

@alexcrichton
Copy link
Member

Nice!

For the math intrinsics though, those can all be defined natively with #[link_name], right? If that's the case should we prefer that instead?

// except according to those terms.

// ignore-emscripten
// error-pattern: panicked
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be removed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think so, thanks.

}
}

fn llvm_vector_ty(cx: &CodegenCx, elem_ty: ty::Ty, vec_len: usize,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks similar to the above definition I think? Could they be shared?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes those are indeed identical, thanks.

@gnzlbg
Copy link
Contributor Author

gnzlbg commented May 10, 2018

@alexcrichton

For the math intrinsics though, those can all be defined natively with #[link_name], right?

Yes, the ones that I've added here can all be defined with link_llvm_intrinsics.

If that's the case should we prefer that instead?

My plan was to submit a sub-sequent PR that adds the "approximative"/"estimate" versions of the intrinsics, since those are also widely supported on most architectures (approximative sqrt, sin and cos are widely supported at least). We need to set some math flags like afn for that, and eventually some IR function attributes (see, e.g., https://bugs.llvm.org/show_bug.cgi?id=37344#c5 and that whole thread).

So that part at least must be done in rustc. I might have time to add them this weekend, so if you prefer I can add them to this PR so that we can see the whole picture.

@gnzlbg
Copy link
Contributor Author

gnzlbg commented May 10, 2018

@eddyb for the gather/scatter intrinsics, I've kept it simple for now, but I'll try to add the llvm functions that generate the function names to rustllvm and use those instead. Some of the tests failed with llvm 3.9 because

Intrinsic name not mangled correctly for type arguments! Should be: llvm.masked.scatter.v2f32
[01:00:08] void (<2 x float>, <2 x float*>, i32, <2 x i1>)* @llvm.masked.scatter.v2f32.v2p0f32
[01:00:08] LLVM ERROR: Broken function found, compilation aborted!

which is surprising to me because I did not know that LLVM intrinsics name syntax changed at some point in time. I hope that it doesn't change again in a way that forces us to rename all link_llvm_intrinsics in stdsimd or forces us to support multiple link names.

@alexcrichton
Copy link
Member

@gnzlbg oh it's fine if stdsimd only supports the latest LLVM currently, and so most of the tests are fine to just ignore on non-HEAD LLVM.

If the math intrinsics can be defined with link_llvm_intrinsics can they be left out to explicitly define in stdsimd?

@alexcrichton
Copy link
Member

(I'd prefer to only put in the compiler what must be there for one reason or another)

@gnzlbg
Copy link
Contributor Author

gnzlbg commented May 10, 2018 via email

@gnzlbg
Copy link
Contributor Author

gnzlbg commented May 14, 2018

@alexcrichton I've made the intrinsics "approximative". Given that it was a one line change, I am still unsure of whether it wouldn't be better to just handle both cases in rustc.

@alexcrichton
Copy link
Member

Ah ok I see! Yeah if these end up looking like the "fast math" intrinsics we have it seems fine by me to land. In that case...

@bors: r+

@bors
Copy link
Contributor

bors commented May 14, 2018

📌 Commit 6532c48 has been approved by alexcrichton

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 14, 2018
kennytm added a commit to kennytm/rust that referenced this pull request May 15, 2018
Add simd math intrinsics and gather/scatter

This PR adds simd math intrinsics for floating-point vectors (sqrt, sin, cos, pow, exp, log, fma, abs, etc.) and the generic simd gather/scatter intrinsics.
fn simd_fma<T>(x: T, y: T, z: T) -> T;
fn simd_flog<T>(x: T) -> T;
fn simd_flog10<T>(x: T) -> T;
fn simd_flog2<T>(x: T) -> T;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[01:29:38] ---- [run-pass] run-pass/simd-intrinsic-float-math.rs stdout ----
[01:29:38] 	
[01:29:38] error: compilation failed!
[01:29:38] status: exit code: 101
[01:29:38] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/simd-intrinsic-float-math.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass" "--target=arm-linux-androideabi" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/simd-intrinsic-float-math.stage2-arm-linux-androideabi" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/arm-linux-androideabi/native/rust-test-helpers" "-Clinker=/android/ndk/arm-14/bin/arm-linux-androideabi-clang" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/simd-intrinsic-float-math.stage2-arm-linux-androideabi.aux"
[01:29:38] stdout:
[01:29:38] ------------------------------------------
[01:29:38] 
[01:29:38] ------------------------------------------
[01:29:38] stderr:
[01:29:38] ------------------------------------------
[01:29:38] error: linking with `/android/ndk/arm-14/bin/arm-linux-androideabi-clang` failed: exit code: 1
[01:29:38]   |
[01:29:38]   = note: "/android/ndk/arm-14/bin/arm-linux-androideabi-clang" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-Wl,--allow-multiple-definition" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/arm-linux-androideabi/lib" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/simd-intrinsic-float-math.simd_intrinsic_float_math0-317d481089b8c8fe83113de504472633.rs.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/simd-intrinsic-float-math.simd_intrinsic_float_math1-317d481089b8c8fe83113de504472633.rs.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/simd-intrinsic-float-math.simd_intrinsic_float_math2-317d481089b8c8fe83113de504472633.rs.rcgu.o" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/simd-intrinsic-float-math.stage2-arm-linux-androideabi" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/simd-intrinsic-float-math.crate.allocator.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass" "-L" "/checkout/obj/build/arm-linux-androideabi/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/simd-intrinsic-float-math.stage2-arm-linux-androideabi.aux" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/arm-linux-androideabi/lib" "-Wl,--start-group" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/arm-linux-androideabi/lib" "-l" "std-dd7e1cb952f01bfe" "-Wl,--end-group" "-Wl,-Bstatic" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/arm-linux-androideabi/lib/libcompiler_builtins-93fbfd71748200b0.rlib" "-Wl,-Bdynamic" "-l" "dl" "-l" "log" "-l" "gcc" "-l" "gcc" "-l" "c" "-l" "m" "-Wl,-rpath,$ORIGIN/../../stage2/lib/rustlib/arm-linux-androideabi/lib" "-Wl,-rpath,/checkout/obj/lib/rustlib/arm-linux-androideabi/lib" "-Wl,--enable-new-dtags"
[01:29:38]   = note: /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/simd-intrinsic-float-math.simd_intrinsic_float_math1-317d481089b8c8fe83113de504472633.rs.rcgu.o:simd_intrinsic_float_math1-317d481089b8c8fe83113de504472633.rs:function simd_intrinsic_float_math::main::h3154db08c8edf39b: error: undefined reference to 'log2f'
[01:29:38]           /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/simd-intrinsic-float-math.simd_intrinsic_float_math1-317d481089b8c8fe83113de504472633.rs.rcgu.o:simd_intrinsic_float_math1-317d481089b8c8fe83113de504472633.rs:function simd_intrinsic_float_math::main::h3154db08c8edf39b: error: undefined reference to 'log2f'
[01:29:38]           /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/simd-intrinsic-float-math.simd_intrinsic_float_math1-317d481089b8c8fe83113de504472633.rs.rcgu.o:simd_intrinsic_float_math1-317d481089b8c8fe83113de504472633.rs:function simd_intrinsic_float_math::main::h3154db08c8edf39b: error: undefined reference to 'log2f'
[01:29:38]           /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/simd-intrinsic-float-math.simd_intrinsic_float_math1-317d481089b8c8fe83113de504472633.rs.rcgu.o:simd_intrinsic_float_math1-317d481089b8c8fe83113de504472633.rs:function simd_intrinsic_float_math::main::h3154db08c8edf39b: error: undefined reference to 'log2f'
[01:29:38]           clang50: error: linker command failed with exit code 1 (use -v to see invocation)
[01:29:38]           
[01:29:38] 
[01:29:38] error: aborting due to previous error
[01:29:38] 
[01:29:38] 
[01:29:38] ------------------------------------------
[01:29:38] 
[01:29:38] thread '[run-pass] run-pass/simd-intrinsic-float-math.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3033:9
[01:29:38] note: Run with `RUST_BACKTRACE=1` for a backtrace.

@kennytm
Copy link
Member

kennytm commented May 15, 2018

@bors r-

The new test failed on arm-android (error: undefined reference to 'log2f'). See #50775 (comment) for detailed log.

@bors bors removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label May 15, 2018
@bors
Copy link
Contributor

bors commented May 20, 2018

☔ The latest upstream changes (presumably #50893) made this pull request unmergeable. Please resolve the merge conflicts.

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-3.9 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
[00:01:20] extracting /checkout/obj/build/cache/2018-05-10/cargo-beta-x86_64-unknown-linux-gnu.tar.gz
[00:01:20] error: failed to resolve patches for `https://github.com/rust-lang/crates.io-index`
[00:01:20] 
[00:01:20] Caused by:
[00:01:20]   patch for `rustfmt-nightly` in `https://github.com/rust-lang/crates.io-index` did not resolve to any crates. If this is unexpected, you may wish to consult: https://github.com/rust-lang/cargo/issues/4678
[00:01:20] failed to run: /checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo build --manifest-path /checkout/src/bootstrap/Cargo.toml --locked
[00:01:20] Build completed unsuccessfully in 0:00:18
[00:01:20] make: *** [prepare] Error 1
[00:01:20] Makefile:81: recipe for target 'prepare' failed
[00:01:22] error: failed to resolve patches for `https://github.com/rust-lang/crates.io-index`
[00:01:22] 
[00:01:22] Caused by:
[00:01:22] Caused by:
[00:01:22]   patch for `rustfmt-nightly` in `https://github.com/rust-lang/crates.io-index` did not resolve to any crates. If this is unexpected, you may wish to consult: https://github.com/rust-lang/cargo/issues/4678
[00:01:22] failed to run: /checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo build --manifest-path /checkout/src/bootstrap/Cargo.toml --locked
[00:01:22] Build completed unsuccessfully in 0:00:00
[00:01:22] make: *** [prepare] Error 1
[00:01:22] Makefile:81: recipe for target 'prepare' failed
[00:01:24] Command failed. Attempt 3/5:
[00:01:24] error: failed to resolve patches for `https://github.com/rust-lang/cargo`
[00:01:24] Caused by:
[00:01:24] Caused by:
[00:01:24]   patch for `cargo` in `https://github.com/rust-lang/cargo` did not resolve to any crates. If this is unexpected, you may wish to consult: https://github.com/rust-lang/cargo/issues/4678
[00:01:24] failed to run: /checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo build --manifest-path /checkout/src/bootstrap/Cargo.toml --locked
[00:01:24] Build completed unsuccessfully in 0:00:00
[00:01:24] Makefile:81: recipe for target 'prepare' failed
[00:01:24] make: *** [prepare] Error 1
[00:01:27] Command failed. Attempt 4/5:
[00:01:27] error: failed to resolve patches for `https://github.com/rust-lang/cargo`
[00:01:27] Caused by:
[00:01:27] Caused by:
[00:01:27]   patch for `cargo` in `https://github.com/rust-lang/cargo` did not resolve to any crates. If this is unexpected, you may wish to consult: https://github.com/rust-lang/cargo/issues/4678
[00:01:27] failed to run: /checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo build --manifest-path /checkout/src/bootstrap/Cargo.toml --locked
[00:01:27] Build completed unsuccessfully in 0:00:00
[00:01:27] make: *** [prepare] Error 1
[00:01:27] Makefile:81: recipe for target 'prepare' failed
[00:01:31] Command failed. Attempt 5/5:
[00:01:31] error: failed to resolve patches for `https://github.com/rust-lang/cargo`
[00:01:31] Caused by:
[00:01:31] Caused by:
[00:01:31]   patch for `cargo` in `https://github.com/rust-lang/cargo` did not resolve to any crates. If this is unexpected, you may wish to consult: https://github.com/rust-lang/cargo/issues/4678
[00:01:31] failed to run: /checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo build --manifest-path /checkout/src/bootstrap/Cargo.toml --locked
[00:01:31] Build completed unsuccessfully in 0:00:00
[00:01:31] make: *** [prepare] Error 1
[00:01:31] Makefile:81: recipe for target 'prepare' failed
[00:01:31] The command has failed after 5 attempts.

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 1.
travis_time:start:00b2a453
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@kennytm kennytm added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels May 24, 2018
@pietroalbini
Copy link
Member

Ping from triage @alexcrichton! This PR needs your review.

@alexcrichton
Copy link
Member

@bors: r+

er oops, sorry this fell off my radar!

@bors
Copy link
Contributor

bors commented May 28, 2018

📌 Commit de60483 has been approved by alexcrichton

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 28, 2018
@bors
Copy link
Contributor

bors commented May 28, 2018

⌛ Testing commit de60483 with merge 2612bbc...

bors added a commit that referenced this pull request May 28, 2018
Add simd math intrinsics and gather/scatter

This PR adds simd math intrinsics for floating-point vectors (sqrt, sin, cos, pow, exp, log, fma, abs, etc.) and the generic simd gather/scatter intrinsics.
@bors
Copy link
Contributor

bors commented May 28, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 2612bbc to master...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants