Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.51 KB | None | 0 0
  1. use std::arch::x86_64::*;
  2.  
  3. fn main() {
  4. unsafe { run() }
  5. }
  6.  
  7. #[target_feature(enable = "avx")]
  8. unsafe fn run() {
  9. let mut data:Vec<u8> = Vec::new();
  10. for i in 0..32 {
  11. data.push(i);
  12. }
  13. println!("data: {:?}", data);
  14.  
  15. let mut result:Vec<u8> = std::iter::repeat(0).take(32).collect::<Vec<_>>();
  16. unsafe {
  17. let a = _mm256_loadu_si256(data.as_ptr() as usize as *const _);
  18. _mm256_storeu_si256(result.as_mut_ptr() as usize as *mut _, a);
  19. }
  20.  
  21. println!("res: {:?}", result);
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement