- Nov 23, 2011
-
-
Akira Hatanaka authored
- lower unaligned loads/stores. - encode the size operand of instructions INS and EXT. - emit relocation information needed for JAL (jump-and-link). llvm-svn: 145113
-
Akira Hatanaka authored
llvm-svn: 145112
-
Benjamin Kramer authored
Before: movabsq $4294967296, %rax ## encoding: [0x48,0xb8,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00] testq %rax, %rdi ## encoding: [0x48,0x85,0xf8] jne LBB0_2 ## encoding: [0x75,A] After: btq $32, %rdi ## encoding: [0x48,0x0f,0xba,0xe7,0x20] jb LBB0_2 ## encoding: [0x72,A] btq is usually slower than testq because it doesn't fuse with the jump, but here we're better off saving one register and a giant movabsq. llvm-svn: 145103
-
Elena Demikhovsky authored
VSHUFPS/VSHUFPD instructions while lowering VECTOR_SHUFFLE node. I check a commuted VSHUFP mask. The patch was reviewed by Bruno. llvm-svn: 145099
-
Jakob Stoklund Olesen authored
This was a bug in keeping track of the available domains when merging domain values. The wrong domain mask caused ExecutionDepsFix to try to move VANDPSYrr to the integer domain which is only available in AVX2. Also add an assertion to catch future attempts at emitting AVX2 instructions. llvm-svn: 145096
-
- Nov 22, 2011
-
-
Hal Finkel authored
add basic PPC register-pressure feedback; adjust the vaarg test to match the new register-allocation pattern llvm-svn: 145065
-
Craig Topper authored
More fixes to the X86InstComments for shuffle instructions. In particular add AVX flavors of many instructions and fix the destination operand for some of the existing AVX entries. llvm-svn: 145063
-
Craig Topper authored
Fix shuffle decoding logic to handle UNPCKLPS/UNPCKLPD on 256-bit vectors correctly. Add support for decoding UNPCKHPS/UNPCKHPD for AVX 128-bit and 256-bit forms. llvm-svn: 145055
-
Craig Topper authored
Add methods for querying minimum SSE version along with AVX. Simplifies all the places that had to check a version of SSE and AVX. llvm-svn: 145053
-
- Nov 21, 2011
-
-
Craig Topper authored
llvm-svn: 145028
-
Craig Topper authored
llvm-svn: 145026
-
Craig Topper authored
Make LowerSIGN_EXTEND_INREG split 256-bit vectors when AVX1 is enabled and use AVX2 shifts when AVX2 is enabled. llvm-svn: 145022
-
- Nov 20, 2011
-
-
Craig Topper authored
Add code for lowering v32i8 shifts by a splat to AVX2 immediate shift instructions. Remove 256-bit splat handling from LowerShift as it was already handled by PerformShiftCombine. llvm-svn: 145005
-
- Nov 19, 2011
-
-
Craig Topper authored
llvm-svn: 145004
-
Craig Topper authored
Remove some of the special classes that worked around an old tablegen limitation of not being able to remove redundant bitconverts from patterns. llvm-svn: 145003
-
Craig Topper authored
llvm-svn: 144999
-
Craig Topper authored
Synthesize SSSE3/AVX 128-bit horizontal integer add/sub instructions from add/sub of appropriate shuffle vectors. llvm-svn: 144989
-
Craig Topper authored
llvm-svn: 144988
-
Craig Topper authored
llvm-svn: 144987
-
Craig Topper authored
llvm-svn: 144985
-
- Nov 18, 2011
-
-
Nadav Rotem authored
llvm-svn: 144967
-
Chad Rosier authored
llvm-svn: 144959
-
- Nov 17, 2011
-
-
Chad Rosier authored
llvm-svn: 144920
-
Craig Topper authored
Fix SSE/AVX integer comparison patterns to understand that all integer vector loads are promoted to i64 vector loads so patterns need a bitconvert. Also slightly simplify the AVX2 variable shift patterns by using the predefined bitconvert pattern fragments. llvm-svn: 144896
-
Chad Rosier authored
llvm-svn: 144888
-
Craig Topper authored
llvm-svn: 144885
-
Eli Friedman authored
Add support for custom names for library functions in TargetLibraryInfo. Add a custom name for fwrite and fputs on x86-32 OSX. Make SimplifyLibCalls honor the custom names for fwrite and fputs. Fixes <rdar://problem/9815881>. llvm-svn: 144876
-
Chad Rosier authored
rdar://10456186 llvm-svn: 144872
-
Eli Friedman authored
Turn on vzeroupper insertion on call boundaries for AVX; it works as far as I know, and I'd like to see wider testing. llvm-svn: 144867
-
- Nov 16, 2011
-
-
Jim Grosbach authored
We don't (yet) have the granularity in the fixups to be specific about which bitranges are affected. That's a future cleanup, but we're not there yet. llvm-svn: 144852
-
Akira Hatanaka authored
llvm-svn: 144849
-
Akira Hatanaka authored
llvm-svn: 144847
-
Jim Grosbach authored
llvm-svn: 144842
-
Akira Hatanaka authored
nodes. llvm-svn: 144841
-
Akira Hatanaka authored
llvm-svn: 144840
-
-
Jim Grosbach authored
llvm-svn: 144837
-
Jim Grosbach authored
llvm-svn: 144836
-
Jim Grosbach authored
llvm-svn: 144814
-
Jim Grosbach authored
rdar://9704684 llvm-svn: 144812
-