- Aug 04, 2013
-
-
Benjamin Kramer authored
double test(double a, double b, double c, double d) { return a<b ? c : d; } before: _test: ucomisd %xmm0, %xmm1 ja LBB0_2 movaps %xmm3, %xmm2 LBB0_2: movaps %xmm2, %xmm0 after: _test: cmpltsd %xmm1, %xmm0 andpd %xmm0, %xmm2 andnpd %xmm3, %xmm0 orpd %xmm2, %xmm0 Small speedup on Benchmarks/SmallPT llvm-svn: 187706
-
Elena Demikhovsky authored
llvm-svn: 187705
-
- Jul 31, 2013
-
-
Elena Demikhovsky authored
All insertf*/extractf* functions replaced with insert/extract since we have insertf and inserti forms. Added lowering for INSERT_VECTOR_ELT / EXTRACT_VECTOR_ELT for 512-bit vectors. Added lowering for EXTRACT/INSERT subvector for 512-bit vectors. Added a test. llvm-svn: 187491
-
Craig Topper authored
Changed register names (and pointer keywords) to be lower case when using Intel X86 assembler syntax. Patch by Richard Mitton. llvm-svn: 187476
-
- Jul 23, 2013
-
-
Craig Topper authored
llvm-svn: 186932
-
- Jul 22, 2013
-
-
Craig Topper authored
llvm-svn: 186814
-
Craig Topper authored
llvm-svn: 186812
-
- Jun 09, 2013
-
-
Elena Demikhovsky authored
llvm-svn: 183626
-
- Jun 05, 2013
-
-
Michael Liao authored
Add earlyclobber constaints to prevent input register being allocated as the output register because, according to Intel spec [1], "If any pair of the index, mask, or destination registers are the same, this instruction results a UD fault." --- [1] http://software.intel.com/sites/default/files/319433-014.pdf llvm-svn: 183327
-
- May 21, 2013
-
-
Elena Demikhovsky authored
Removed SSEPacked domain from all forms (AVX, SSE, signed, unsigned) scalar compare instructions, like COMISS, COMISD. No functional changes. llvm-svn: 182371
-
- May 07, 2013
-
-
Preston Gurd authored
llvm-svn: 181346
-
- May 01, 2013
-
-
Rafael Espindola authored
Patch by Joshua Magee. llvm-svn: 180842
-
- Apr 26, 2013
-
-
Benjamin Kramer authored
llvm-svn: 180600
-
- Mar 26, 2013
-
-
Jakob Stoklund Olesen authored
Now all x86 instructions that have itinerary classes also have SchedRW lists. This is required before the new scheduling models can be used. There are still unannotated instructions remaining, but they don't have itinerary classes either. llvm-svn: 178051
-
Jakob Stoklund Olesen authored
All the instructions tagged with IIC_DEFAULT had nothing in common, and we already have a NoItineraries class to represent untagged instructions. llvm-svn: 177937
-
- Mar 21, 2013
-
-
Jakob Stoklund Olesen authored
It's not yet clear if these instructions need a more careful model. llvm-svn: 177599
-
Jakob Stoklund Olesen authored
This is used for all the expensive system instructions. llvm-svn: 177598
-
- Mar 20, 2013
-
-
Jakob Stoklund Olesen authored
llvm-svn: 177592
-
Jakob Stoklund Olesen authored
llvm-svn: 177591
-
Jakob Stoklund Olesen authored
llvm-svn: 177540
-
Jakob Stoklund Olesen authored
llvm-svn: 177461
-
Jakob Stoklund Olesen authored
llvm-svn: 177460
-
- Mar 18, 2013
-
-
Jakob Stoklund Olesen authored
We hitch a ride with the existing OpndItins class that was used to add instruction itinerary classes in the many multiclasses in this file. Use the link provided by the X86FoldableSchedWrite.Folded to find the right SchedWrite for folded loads. llvm-svn: 177326
-
- Mar 15, 2013
-
-
Nadav Rotem authored
llvm-svn: 177130
-
- Jan 28, 2013
-
-
Craig Topper authored
llvm-svn: 173667
-
- Jan 17, 2013
-
-
Craig Topper authored
Combine AVX and SSE forms of MOVSS and MOVSD into the same multiclasses so they get instantiated together. llvm-svn: 172704
-
- Jan 14, 2013
-
-
Craig Topper authored
llvm-svn: 172379
-
Craig Topper authored
Create a single multiclass for SSE and AVX version of MOVL/MOVH. Prevents needing to specify everything twice. No functional change intended llvm-svn: 172378
-
- Jan 13, 2013
-
-
Benjamin Kramer authored
Those can occur when something between the sextload and the store is on the same chain and blocks isel. Fixes PR14887. llvm-svn: 172353
-
- Jan 07, 2013
-
-
Craig Topper authored
llvm-svn: 171694
-
- Jan 06, 2013
-
-
Craig Topper authored
Fix suffix handling for parsing and printing of cvtsi2ss, cvtsi2sd, cvtss2si, cvttss2si, cvtsd2si, and cvttsd2si to match gas behavior. cvtsi2* should parse with an 'l' or 'q' suffix or no suffix at all. No suffix should be treated the same as 'l' suffix. Printing should always print a suffix. Previously we didn't parse or print an 'l' suffix. cvtt*2si/cvt*2si should parse with an 'l' or 'q' suffix or not suffix at all. No suffix should use the destination register size to choose encoding. Printing should not print a suffix. Original 'l' suffix issue with cvtsi2* pointed out by Michael Kuperstein. llvm-svn: 171668
-
- Jan 02, 2013
-
-
Craig Topper authored
llvm-svn: 171356
-
Craig Topper authored
llvm-svn: 171355
-
Rafael Espindola authored
llvm-svn: 171352
-
- Jan 01, 2013
-
-
Craig Topper authored
llvm-svn: 171351
-
Craig Topper authored
llvm-svn: 171340
-
Craig Topper authored
llvm-svn: 171339
-
Craig Topper authored
llvm-svn: 171338
-
Craig Topper authored
llvm-svn: 171337
-
Craig Topper authored
Use packed instead of scalar itineraries for SSE1/2 SQRTPS/PD, RCPPS, and RSQRTPS. VEX-encoded forms already use packed. llvm-svn: 171336
-