Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
a0f23d1
move simd-minmax-test to run-pass; require llvm 7
gnzlbg May 4, 2018
66d94bd
add simd float intrinsics and gather/scatter
gnzlbg May 4, 2018
0068f40
fix tidy
gnzlbg May 8, 2018
e0fd4e1
add run-time test and missing codegen test
gnzlbg May 9, 2018
f1a4291
add gather/scatter run-time test
gnzlbg May 9, 2018
a8f0c2d
add gather/scatter tests for pointers of pointers
gnzlbg May 9, 2018
56f505e
read2: Use inner function instead of closure
udoprog May 14, 2018
6532c48
enable fast-math flags
gnzlbg May 14, 2018
6d1da82
Don't unconditionally set CLOEXEC twice on every fd we open on Linux
tbu- May 14, 2018
f46b888
Remove LazyBTreeMap.
nnethercote May 14, 2018
3566ea8
factor out rustdoc's error message handler
QuietMisdreavus Apr 24, 2018
6bc1db0
replace error/warning println with structured diag
QuietMisdreavus May 8, 2018
c3fd12f
tidy
QuietMisdreavus May 8, 2018
0370c38
Don't inject clippy into the rls anymore
oli-obk May 15, 2018
30d9502
Add missing error codes in libsyntax-ext asm
GuillaumeGomez May 14, 2018
b5817dd
Update Cargo
ehuss May 12, 2018
fcea9b1
Rollup merge of #50521 - gnzlbg:simd_float, r=alexcrichton
kennytm May 15, 2018
e30551f
Rollup merge of #50541 - QuietMisdreavus:rustdoc-errors, r=GuillaumeG…
kennytm May 15, 2018
9abfea6
Rollup merge of #50638 - tbu-:pr_open_cloexec_once, r=nagisa
kennytm May 15, 2018
b2200b4
Rollup merge of #50696 - ehuss:cargo-update, r=alexcrichton
kennytm May 15, 2018
c48f925
Rollup merge of #50726 - udoprog:read2-inner-fn, r=alexcrichton
kennytm May 15, 2018
5a8e1ad
Rollup merge of #50740 - nnethercote:rm-LazyBTreeMap, r=cramertj
kennytm May 15, 2018
5030038
Rollup merge of #50752 - GuillaumeGomez:more-error-code-in-libsyntax-…
kennytm May 15, 2018
e74f5e8
Rollup merge of #50767 - oli-obk:rls_clippy, r=kennytm
kennytm May 15, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix tidy
  • Loading branch information
gnzlbg committed May 8, 2018
commit 0068f40dae6ffd39b528cb7b240b90f56f61b047
22 changes: 16 additions & 6 deletions src/librustc_trans/intrinsic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1180,8 +1180,12 @@ fn generic_simd_intrinsic<'a, 'tcx>(
return Ok(bx.select(m_i1s, args[1].immediate(), args[2].immediate()));
}

fn simd_simple_float_intrinsic<'a, 'tcx>(name: &str, in_elem: &::rustc::ty::TyS, in_ty: &::rustc::ty::TyS,
in_len: usize, bx: &Builder<'a, 'tcx>, span: Span,
fn simd_simple_float_intrinsic<'a, 'tcx>(name: &str,
in_elem: &::rustc::ty::TyS,
in_ty: &::rustc::ty::TyS,
in_len: usize,
bx: &Builder<'a, 'tcx>,
span: Span,
args: &[OperandRef<'tcx>])
-> Result<ValueRef, ()> {
macro_rules! emit_error {
Expand All @@ -1207,14 +1211,17 @@ fn generic_simd_intrinsic<'a, 'tcx>(
let ety = match in_elem.sty {
ty::TyFloat(f) if f.bit_width() == 32 => {
if in_len < 2 || in_len > 16 {
return_error!("unsupported floating-point vector `{}` with length `{}` out-of-range [2, 16]",
in_ty, in_len);
return_error!(
"unsupported floating-point vector `{}` with length `{}` \
out-of-range [2, 16]",
in_ty, in_len);
}
"f32"
},
ty::TyFloat(f) if f.bit_width() == 64 => {
if in_len < 2 || in_len > 8 {
return_error!("unsupported floating-point vector `{}` with length `{}` out-of-range [2, 8]",
return_error!("unsupported floating-point vector `{}` with length `{}` \
out-of-range [2, 8]",
in_ty, in_len);
}
"f64"
Expand Down Expand Up @@ -1544,7 +1551,10 @@ fn generic_simd_intrinsic<'a, 'tcx>(
let llvm_intrinsic = format!("llvm.masked.scatter.{}.{}",
llvm_elem_vec_str, llvm_pointer_vec_str);
let f = declare::declare_cfn(bx.cx, &llvm_intrinsic,
Type::func(&[llvm_elem_vec_ty, llvm_pointer_vec_ty, alignment_ty, mask_ty], &ret_t));
Type::func(&[llvm_elem_vec_ty,
llvm_pointer_vec_ty,
alignment_ty,
mask_ty], &ret_t));
llvm::SetUnnamedAddr(f, false);
let v = bx.call(f, &[args[0].immediate(), args[1].immediate(), alignment, mask],
None);
Expand Down
1 change: 1 addition & 0 deletions src/test/codegen/simd-intrinsic-generic-gather.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
// except according to those terms.

// ignore-emscripten
// ignore-tidy-linelength

// compile-flags: -C no-prepopulate-passes

Expand Down
1 change: 1 addition & 0 deletions src/test/codegen/simd-intrinsic-generic-scatter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
// except according to those terms.

// ignore-emscripten
// ignore-tidy-linelength

// compile-flags: -C no-prepopulate-passes

Expand Down