summaryrefslogtreecommitdiff
path: root/tests/src/JIT/CodeGenBringUpTests
AgeCommit message (Collapse)AuthorFilesLines
2015-11-17Fix for test break.Eugene Rozenfeld1-1/+1
2015-11-16Fix for a rotation transformation bug.Eugene Rozenfeld1-1/+15
rotatedValueBitSize should be calculated from genActualType(rotatedValue->gtType) instead of rotatedValue->gtType. I added a test that was failing with an assert because of this bug: rol32ushort.
2015-11-11Implement improvements for rotation matching.Eugene Rozenfeld1-0/+60
1. Recognize patterns with XOR instead of OR, e.g., (x << 5) ^ (x >> 27). 2. Recognize patterns with instance or static fields and ref params. Only GTF_PERSISTENT_SIDE_EFFECTS (i.e., calls and assignments) and GTF_ORDER_SIDEEFF (i.e., volatile accesses) prevent tree matching. Before this change we used GTF_ALL_EFFECT.
2015-11-05Reduce number of threads used by the LocallocLarge testAndy Ayers1-1/+1
This test used to create ~3000 threads. Reduce that to ~300 while we sort out what is behind #1966.
2015-10-21 Generate efficient code for rotation patterns.Eugene Rozenfeld2-0/+279
This change adds code to recognize rotation idioms and generate efficient instructions for them. Two new operators are added: GT_ROL and GT_ROR. The patterns recognized: (x << c1) | (x >>> c2) => x rol c1 (x >>> c1) | (x << c2) => x ror c2 where c1 and c2 are constant and c1 + c2 == bitsize(x) (x << y) | (x >>> (N - y)) => x rol y (x >>> y) | (x << (N - y)) => x ror y where N == bitsize(x) (x << y & M1) | (x >>> (N - y) & M2) => x rol y (x >>> y & M1) | (x << (N - y) & M2) => x ror y where N == bitsize(x) M1 & (N - 1) == N - 1 M2 & (N - 1) == N - 1 For a simple benchmark with 4 rotation patterns in a tight loop time goes from 7.324 to 2.600 (2.8 speedup). Rotations found and optimized in mscorlib: System.Security.Cryptography.SHA256Managed::RotateRight System.Security.Cryptography.SHA384Managed::RotateRight System.Security.Cryptography.SHA512Managed::RotateRight System.Security.Cryptography.RIPEMD160Managed:MDTransform (320 instances!) System.Diagnostics.Tracing.EventSource.Sha1ForNonSecretPurposes::Rol1 System.Diagnostics.Tracing.EventSource.Sha1ForNonSecretPurposes::Rol5 System.Diagnostics.Tracing.EventSource.Sha1ForNonSecretPurposes::Rol30 System.Diagnostics.Tracing.EventSource.Sha1ForNonSecretPurposes::Drain (9 instances of Sha1ForNonSecretPurposes::Rol* inlined) Closes #1619.
2015-10-15Changes to Test InfrastructureKoundinya Veluri133-57/+5596
The following changes are being submitted in order to prepare for a large collection of tests to be ported from the internal legacy test tree. - Adds "build kinds" to the test tree. - Adds some documentation for the test tree - Adds a Test Priority feature (see documentation Documentation/project-docs/tests.md for more information. - Dropped the cs_template.csproj types and converted to individual CSProject files.
2015-07-09Move CoreCLR to the modern build tools and dnxMatt Mitchell2-11/+14
This changes moves coreclr onto DNX (same version as corefx). Theoretically, this should allow these tests to target the desktop CLR. All of the old package.config files are gone and replaced with corresponding project.json files. The up front restore behavior is retained. Tests are now buildable individually, though not runnable in a similar fashion.
2015-06-30Speed up package resotre of JIT Test buildMatt Ellis3-8/+6
We spend a fair amount of time (six wall clock minutes on my machine) doing package restore for the JIT tests. This is because each project has its own packages.config file, so during the build we call nuget restore for each project. There are only four unique packages.config files for all these tests, so this change moves them to tests/src/JIT/config and updates the project files to consume them from there. This means during the build the `EnsureDependencies` target does not need to invoke nuget restore as often and the build is much faster as a result.
2015-04-30Add a test that triggers stack probing.Andy Ayers2-0/+74
This test exercises the JIT's ability to probe the stack on windows for dynamic allocation. It uses multiple threads and a two-stage allocation pattern to try and hit various boundary cases.
2015-04-27Test case for store (no-GC) value type to static fieldKyungwoo Lee1-0/+40
2015-03-08Adding app.config to get rid of the warning MSB3276Rama krishnan Raghupathy3-3/+31
2015-02-23Add a switch test to cover Jit codegen.Kyungwoo Lee1-0/+30
This is a test case to cover switch expansion in Reader.
2015-02-12Expand the availability of MSILC JIT to all testsBengu Li1-3/+0
2015-02-12Hook up initial JIT tests for MSILC JITBengu Li1-0/+3
2015-01-30Changes to Miscellaneous test project and runtestRama krishnan Raghupathy1-6/+0
2015-01-30Initial commit to populate CoreCLR repo dotnet-bot131-0/+4820
[tfs-changeset: 1407945]