1. 12 3月, 2022 1 次提交
  2. 11 3月, 2022 1 次提交
  3. 10 3月, 2022 1 次提交
  4. 09 3月, 2022 4 次提交
  5. 05 3月, 2022 1 次提交
  6. 02 3月, 2022 1 次提交
  7. 01 3月, 2022 1 次提交
  8. 27 2月, 2022 1 次提交
    • J
      rust-lang/portable-simd#239: Bitmask conversion trait · 5f49d4c8
      Jubilee 提交于
      Another approach that fixes rust-lang/portable-simd#223, as an alternative to rust-lang/portable-simd#238.
      
      This adds the `ToBitMask` trait, which is implemented on a vector for each bitmask type it supports.  This includes all unsigned integers with enough bits to contain it.  The byte array variant has been separated out for now into rust-lang/portable-simd#246 and still requires `generic_const_exprs`, but the integer variants no longer require it and can make it to nightly.
      5f49d4c8
  9. 25 2月, 2022 3 次提交
  10. 11 2月, 2022 1 次提交
    • J
      rust-lang/portable-simd#245: Explain unsafe contracts of core::simd · 78a18c34
      Jubilee 提交于
      * Explain unsafe contracts of core::simd
      
      This permeates the module with remarks on safety for pub methods,
      layout of the Simd type, correct use of intrinsics, et cetera.
      This is mostly to help others curious about how core::simd works,
      including other Rust contributors, `unsafe` library authors,
      and eventually ourselves.
      78a18c34
  11. 10 2月, 2022 2 次提交
  12. 09 2月, 2022 3 次提交
  13. 03 2月, 2022 2 次提交
  14. 02 2月, 2022 1 次提交
  15. 28 1月, 2022 1 次提交
  16. 27 1月, 2022 3 次提交
  17. 25 1月, 2022 2 次提交
  18. 24 1月, 2022 1 次提交
  19. 21 1月, 2022 1 次提交
    • J
      Annotate signed type in int_divrem_guard · 56566d81
      Jubilee Young 提交于
      The way the macro expands, it may sometimes infer
      "this is a uint, but doesn't impl Neg???"
      Also, I made the "wrong path for intrinsics" error.
      These fixes allow integration into libcore.
      56566d81
  20. 20 1月, 2022 1 次提交
  21. 14 1月, 2022 2 次提交
  22. 10 1月, 2022 1 次提交
  23. 01 1月, 2022 3 次提交
    • J
      Merge portable-simd#219 - ./std-float · 09fa72ae
      Jubilee 提交于
       impl std::simd::StdFloat
      
       This introduces an extension trait to allow use of floating point methods
       that need runtime support. It is *excessively* documented because its mere
       existence is quite vexing, as the entire thing constitutes a leakage of
       implementation details into user observable space. Eventually the entire
       thing will ideally be folded into core and restructured to match the rest
       of the library, whatever that structure might look like at the time. This
       is preferred in lieu of the "lang item" path because any energy the lang
       items require (and it will be significant, by Simulacrum's estimation) is
       better spent on implementing our libmvec.
      09fa72ae
    • J
      Tear down and rewrite support for float testing · af26e3b9
      Jubilee Young 提交于
      af26e3b9
    • J
      impl std::simd::StdFloat · ecc00efe
      Jubilee Young 提交于
      While consulting with Simulacrum on how to make available the float
      functions that currently require runtime support for `Simd<f32, N>` and
      `Simd<f64, N>`, we realized breaking coherence with the classic approach
      of lang items was, since `{core,std}::simd::Simd` is a `ty::Adt`, likely
      to be quite a bit nasty. The project group has a long-term plan for how
      to get around this kind of issue and move the associated functions into
      libcore, but that will likely take time as well. Since all routes
      forward are temporally costly, we probably will skip the lang item
      approach entirely and go the "proper" route, but in the interests of
      having something this year for people to play around with, this
      extension trait was whipped up.
      
      For now, while it involves a lot of fairly internal details most users
      shouldn't have to care about, I went ahead and fully documented the
      situation for any passerby to read on the trait, as the situation is
      quite unusual and puzzling to begin with.
      ecc00efe
  24. 30 12月, 2021 1 次提交
    • J
      Merge portable-simd#210 - ./wrap-shifts · 4bbef261
      Jubilee 提交于
      Refactor ops.rs with wrapping shifts
      
      This approaches reducing macro nesting in a slightly different way. Instead of just flattening details, make one macro apply another. This allows specifying all details up-front in the first macro invocation, making it easier to audit and refactor in the future.
      
      This refactor also has some functional changes. Only one is a true behavior change, however:
      - The visible one is that SIMD shifts are now wrapping, not panicking on overflow
      - `core::simd` now has a lot more instances of `#[must_use]`, which merely lints
      - div/rem now perform a SIMD check but remain as before, which should improve performance but be invisible
      4bbef261
  25. 24 12月, 2021 1 次提交