Skip to content

sse4.1 instructions #98

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

Merged
merged 27 commits into from
Oct 18, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
4350feb
sse4.1: _mm_blendv_ps and _mm_blendv_pd
p32blo Oct 4, 2017
9e015df
sse4.1: _mm_blend_ps and _mm_blend_pd
p32blo Oct 4, 2017
ec25f71
sse4.1: _mm_blend_epi16
p32blo Oct 4, 2017
3ea44a3
sse4.1: _mm_extract_ps
p32blo Oct 4, 2017
88f3992
sse4.1: _mm_extract_epi8
p32blo Oct 4, 2017
38981a8
see4.1: _mm_extract_epi32
p32blo Oct 4, 2017
aa1f042
sse4.1: _mm_extract_epi64
p32blo Oct 4, 2017
6c46075
sse4.1: _mm_insert_ps
p32blo Oct 4, 2017
fd1506e
sse4.1: _mm_insert_epi8
p32blo Oct 4, 2017
1375861
sse4.1: _mm_insert_epi32 and _mm_insert_epi64
p32blo Oct 4, 2017
e5dab3a
Formmating
p32blo Oct 4, 2017
08574d8
sse4.1: _mm_max_epi8, _mm_max_epu16, _mm_max_epi32 and _mm_max_epu32
p32blo Oct 4, 2017
7fe0345
Fix wrong compiler flag
p32blo Oct 6, 2017
60b1156
Fix intrinsics that only work with x86-64
p32blo Oct 6, 2017
a789f7e
Merge remote-tracking branch 'up/master' into sse4.1
p32blo Oct 9, 2017
2373618
sse4.1: use appropriate types
p32blo Oct 9, 2017
b80b3a6
Revert '_mm_extract_ps' to return i32
p32blo Oct 10, 2017
91b079a
Merge remote-tracking branch 'up/master' into sse4.1
p32blo Oct 10, 2017
bab5cd3
sse4.1: Use the v128 types for consistency
p32blo Oct 10, 2017
cf86d8a
Merge remote-tracking branch 'up/master' into sse4.1
p32blo Oct 16, 2017
9c47380
Try fix for windows
p32blo Oct 17, 2017
12936e9
Try "vectorcall" calling convention
p32blo Oct 17, 2017
11d745c
Revert "Try "vectorcall" calling convention"
p32blo Oct 17, 2017
adc7abc
Revert "Try fix for windows"
p32blo Oct 17, 2017
5456fbf
Change tests for windows
p32blo Oct 17, 2017
50418db
Merge remote-tracking branch 'up/master' into sse4.1
p32blo Oct 17, 2017
64f6146
Remove useless Windows test
p32blo Oct 18, 2017
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
38 changes: 38 additions & 0 deletions src/x86/macros.rs
Original file line number Diff line number Diff line change
Expand Up @@ -301,3 +301,41 @@ macro_rules! constify_imm6 {
}
}
}

macro_rules! constify_imm4 {
($imm8:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match $imm8 & 0b1111 {
0 => $expand!(0),
1 => $expand!(1),
2 => $expand!(2),
3 => $expand!(3),
4 => $expand!(4),
5 => $expand!(5),
6 => $expand!(6),
7 => $expand!(7),
8 => $expand!(8),
9 => $expand!(9),
10 => $expand!(10),
11 => $expand!(11),
12 => $expand!(12),
13 => $expand!(13),
14 => $expand!(14),
_ => $expand!(15),
}
}
}

macro_rules! constify_imm2 {
($imm8:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match $imm8 & 0b11 {
0 => $expand!(0),
1 => $expand!(1),
2 => $expand!(2),
_ => $expand!(3),
}
}
}


Loading