Bruno Cardoso Lopes
|
876085dcfa
|
Add AVX SSE2 integer unpack instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107246 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-30 04:06:39 +00:00 |
|
Bruno Cardoso Lopes
|
d252fec7ae
|
Add AVX SSE2 packed integer shuffle instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107245 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-30 03:47:56 +00:00 |
|
Bruno Cardoso Lopes
|
555bea62dd
|
Small refactoring of SSE2 packed integer shuffle instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107243 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-30 03:29:36 +00:00 |
|
Bruno Cardoso Lopes
|
6d5d2b5de2
|
Add AVX SSE2 pack with saturation integer instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107241 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-30 02:30:25 +00:00 |
|
Bruno Cardoso Lopes
|
c0ea94a37c
|
Add AVX SSE2 integer packed compare instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107240 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-30 02:21:09 +00:00 |
|
Bruno Cardoso Lopes
|
5a3a476750
|
- Add AVX form of all SSE2 logical instructions
- Add VEX encoding bits to x86 MRM0r-MRM7r
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107238 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-30 01:58:37 +00:00 |
|
Bruno Cardoso Lopes
|
6c9fa43716
|
Add *several* AVX integer packed binop instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107225 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-29 23:47:49 +00:00 |
|
Bruno Cardoso Lopes
|
2c818072cc
|
Move SSE2 Packed Integer instructions around, and create specific sections for each of them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107211 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-29 22:12:16 +00:00 |
|
Bruno Cardoso Lopes
|
8d3cebca8e
|
Add AVX Move Aligned/Unaligned packed integers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107206 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-29 21:25:12 +00:00 |
|
Bruno Cardoso Lopes
|
147b7cad2f
|
Add AVX ld/st XCSR register.
Add VEX encoding bits for MRMXm x86 form
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107204 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-29 20:35:48 +00:00 |
|
Bruno Cardoso Lopes
|
721ef73d88
|
Add AVX non-temporal stores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107178 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-29 18:22:01 +00:00 |
|
Bruno Cardoso Lopes
|
de173ca1fb
|
Move non-temporal movs to their own section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107168 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-29 17:42:37 +00:00 |
|
Bruno Cardoso Lopes
|
ea86423cbd
|
Add sqrt, rsqrt and rcp AVX instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107166 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-29 17:26:30 +00:00 |
|
Bruno Cardoso Lopes
|
b22dc70a5c
|
Refactoring of arithmetic instruction classes with unary operator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107116 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-29 01:33:09 +00:00 |
|
Bruno Cardoso Lopes
|
4548260ab5
|
Described the missing AVX forms of SSE2 convert instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107108 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-29 00:36:02 +00:00 |
|
Bruno Cardoso Lopes
|
bdffc16d65
|
Add AVX convert CVTSS2SI{rr,rm} and CVTDQ2PS{rr,rm} instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106917 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-25 23:47:23 +00:00 |
|
Bruno Cardoso Lopes
|
161476ec34
|
Reapply r106896:
Add several AVX MOV flavors
Support VEX encoding for MRMDestReg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106912 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-25 23:33:42 +00:00 |
|
Bruno Cardoso Lopes
|
95325b08a3
|
revert this now, it's using avx instead of sse :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106906 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-25 23:04:29 +00:00 |
|
Bruno Cardoso Lopes
|
544a95d716
|
Add several AVX MOV flavors
Support VEX encoding for MRMDestReg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106896 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-25 22:27:51 +00:00 |
|
Dan Gohman
|
ca5b8553ea
|
pcmpeqd and friends are Commutable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106886 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-25 21:05:35 +00:00 |
|
Bruno Cardoso Lopes
|
39afa908de
|
Move the last piece of SSE2 convert instructions to the Convert Instructions section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106877 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-25 20:29:27 +00:00 |
|
Bruno Cardoso Lopes
|
6560ed35b4
|
More SSE refactoring, this time with different types of MOVs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106876 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-25 20:22:12 +00:00 |
|
Bruno Cardoso Lopes
|
0491e132fc
|
Refactoring of more SSE conversion instructions. Also add some AVX instrinsics Int_V... placeholders
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106867 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-25 18:06:22 +00:00 |
|
Bruno Cardoso Lopes
|
a0ae87fd5d
|
Add some AVX convert instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106815 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-25 00:39:30 +00:00 |
|
Bruno Cardoso Lopes
|
8b94297727
|
Refactoring of SSE convert intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106808 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-24 23:37:07 +00:00 |
|
Bruno Cardoso Lopes
|
f241b26792
|
Refactoring of SSE conversion instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106804 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-24 22:22:21 +00:00 |
|
Bruno Cardoso Lopes
|
e0c437333e
|
Refactor SSE cmp intrinsics and declare the same for AVX
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106796 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-24 22:04:40 +00:00 |
|
Bruno Cardoso Lopes
|
788184365a
|
- Add AVX COMI{SS,SD}{rr,rm} and UCOMI{SS,SD}{rr,rm}.
- Fix a small VEX encoding issue.
- Move compare instructions to their appropriate place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106787 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-24 20:48:23 +00:00 |
|
Bruno Cardoso Lopes
|
6539dc6e6c
|
Add AVX CMP{SS,SD}{rr,rm} instructions and encoding testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106705 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-24 00:32:06 +00:00 |
|
Bruno Cardoso Lopes
|
34a491bd8e
|
Move SSE and AVX shuffle, unpack and compare code to more appropriate places
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106702 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-24 00:15:50 +00:00 |
|
Bruno Cardoso Lopes
|
e93e300ad0
|
Add AVX MOVMSK{PS,PD}rr instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106683 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-23 21:30:27 +00:00 |
|
Bruno Cardoso Lopes
|
7dbfd07e32
|
Add AVX SHUF{PS,PD}{rr,rm} instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106672 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-23 20:07:15 +00:00 |
|
Bruno Cardoso Lopes
|
62a76c6401
|
Add AVX compare packed instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106600 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-22 23:37:59 +00:00 |
|
Bruno Cardoso Lopes
|
0caca3967b
|
Reapply support for AVX unpack and interleave instructions, with
testcases this time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106593 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-22 23:02:38 +00:00 |
|
Bruno Cardoso Lopes
|
c3d57b179c
|
Add AVX MOV{SS,SD}{rr,rm} instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106588 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-22 22:38:56 +00:00 |
|
Bruno Cardoso Lopes
|
d3a067bbc2
|
Reorganize logical and arithmetic SSE 1 & 2 instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106557 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-22 18:17:40 +00:00 |
|
Bruno Cardoso Lopes
|
f23919b3e9
|
Reorganize SSE instructions, making easier to see oportunities for refactoring
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106556 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-22 18:09:32 +00:00 |
|
Bruno Cardoso Lopes
|
c27d1e4d17
|
revert r106482
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106499 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-21 22:59:03 +00:00 |
|
Bruno Cardoso Lopes
|
b7cc3f6ae6
|
change parameter name to avoid confusion with global definition
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106486 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-21 21:28:07 +00:00 |
|
Bruno Cardoso Lopes
|
b44e8b2d11
|
Add unpack and interleave AVX instructions, encoding tests cooming soon
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106482 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-21 21:21:48 +00:00 |
|
Bruno Cardoso Lopes
|
c79e43aee3
|
Move part of SSE 1 & 2 compare, shuffle and unpack instructions closely. Preparing them for refactoring and to the addition of their AVX forms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106437 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-21 18:36:04 +00:00 |
|
Bruno Cardoso Lopes
|
59bb6fae9a
|
Add AVX regular (non-aliased ones) and,or,xor,andn packed instructions. They are already tested in the MC framework, no test needed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106436 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-21 18:22:54 +00:00 |
|
Bruno Cardoso Lopes
|
f6ff003043
|
Refactoring of regular logical packed instructions to prepare for AVX ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106375 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-19 04:09:22 +00:00 |
|
Bruno Cardoso Lopes
|
f4f4bad696
|
Refactor aliased packed logical instructions, also add
AVX AND,OR,XOR,NAND{P}{S,D}{rr,rm} instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106374 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-19 02:44:01 +00:00 |
|
Bruno Cardoso Lopes
|
1e8d06282f
|
Move new sse 1 & 2 generic classes to a more appropriate place
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106372 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-19 01:32:46 +00:00 |
|
Bruno Cardoso Lopes
|
efc9b69deb
|
Remove unnecessary arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106371 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-19 01:22:34 +00:00 |
|
Bruno Cardoso Lopes
|
17227db062
|
Add AVX packed intrinsics for MIN, MAX
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106370 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-19 01:17:05 +00:00 |
|
Bruno Cardoso Lopes
|
be4d595afd
|
Shrink down code and add for free AVX {MIN,MAX}P{S,D}{rm,rr} instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106366 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-19 00:37:31 +00:00 |
|
Bruno Cardoso Lopes
|
fda1acb389
|
Clean up: remove now unnecessary Constraints
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106361 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-19 00:09:27 +00:00 |
|
Bruno Cardoso Lopes
|
c82f199892
|
more refactoring! yay! big win over the intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106359 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-06-19 00:00:22 +00:00 |
|