Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
* Update CoreFX Windows Arm32 exclusion list.
* Exclude System.Globalization.Calendars.Tests.
* Disable System.Net.Sockets.Tests
|
|
|
|
|
|
Fix arm32 local variable references
|
|
Arm32 has different addressing mode offset ranges for floating-point
and integer instructions. In addition, the ranges aren't too large.
So in functions with a frame pointer, we try to access some variables
using the frame pointer and some with the stack pointer, to expand the
total number of variables we can access without allocating a "reserved
register" just used for constructing large offsets.
This calculation was incorrect for struct variables that contained floats,
as float fields require calculating using the floating point range, but we
were calculating using the variable type (struct), instead of the instruction
type (floating-point). In addition, we were not correctly calculating the
frame pointer range using the actual variable offset plus "within variable"
offset (struct member offset).
Added a test that covers some of these cases.
Fixes #19537
|
|
* Revert "Disable test Dev10_630880"
This reverts commit 4fb76de35184fb80054f29779f51af82a4aa7ad8.
* Delete test dev10_630880
This test has been exercising internal CoreLib details that have been deleted.
|
|
* Disable failing Linux/arm32 corefx tests
|
|
(#20962)
|
|
This is the last batch of deleting tests that are obviously redundant. The remaining framework API tests in CoreCLR can be dealt with as needed if it ever becomes a problem.
Fixes #12782
|
|
Fixes failing test obsoleted by #20638 and contributes to #12782
Delete redundant CoreMangLib decimal tests
|
|
Contributes to https://github.com/dotnet/coreclr/issues/12782
|
|
Contributes to https://github.com/dotnet/coreclr/issues/12782
|
|
Contributes to dotnet/coreclr#12782
|
|
|
|
Optimize some SSE2 intrinsic importation and re-enable tests
|
|
|
|
|
|
arm64 targets (#20151)
Fixes #20149
|
|
UnpackLow to template based (#19670)
* Convert PackSignedSaturate, PackUnsignedSaturate, UnpackHigh, UnpackLow tests to template based
* Add generated Sse2 Pack***Saturate, UnpackHigh, UnpackLow tests, remove replaced tests
* Remove deleted Sse2 Pack** Unpack** tests from Test.lst files for arm and arm64 Windows targets
|
|
targets
|
|
Fixes #19853
|
|
Handle multiReg COPY
|
|
preview1-26827-04, preview1-26827-04, preview1-26827-01, master-20180827-0150, respectively (master) (#19543)
* Update BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03127-01, preview1-26827-04, preview1-26827-04, preview1-26827-01, master-20180827-0150, respectively
* Undo buildtools update
* Use older version of CoreFx.Private.TestUtilities
* Disable outdated test
* Disable failing test against #19537
|
|
On x86, `MUL_LONG` wasn't considered a multi-reg node, as it should be, so that when it gets spilled or copied, the additional register will be correctly handled.
Also, the ARM and X86 versions of genStoreLongLclVar should be identical and shared (neither version were handling the copy of a `MUL_LONG`).
Finally, fix the LSRA dumping of multi-reg nodes.
Fix #19397
|
|
|
|
Change build-test.sh to always build the xunit wrappers. Before it would drop a token and check the existence of the token.
Unify x64 linux/OSX/Windows excludes into one file, issues.targets. Includes different locations in the file which show where to put excludes.
Remove all target specific aspects of issues.targets, all tests are excluded now via wildcard, this allows expanding to .cmd and .sh based on the built platform.
Unify path separators to forward slash(/) in issues.targets to support both platforms
Clean up issues.targets by removing long standing exclude tests, specifically tests that have been excluded due to missing features like rva_statics.
Add DisableProjectBuild to tests which have been removed from issues.targets
Conditionally add DisableProjectBuild to tests which have been marked as unsupported on unix. This is mostly a port of the unsupportedOnUnix.txt list. Instead of excluding the tests, unix will simply not build them. If tests are built on windows, they will be run but they will return pass, the test wrapper will check return instantly.
All exclusions ported to issues.targets for linux targets.
Expand runtest.py, this includes simple issues that made it past the original CR. In addition it adds more optional features to help with inner loop dev work such as: creating a repro folder under bin/repro/.. which sets up the env and calls the failing test. In addition a launch.json will now be created under bin/repro/.. which can be used to easily debug using vscode. More logging, such as printing failures, longest running tests ect.
Initial excludes ported for arm64 windows
Arm64 linux, armhf unix excludes and enables running runtest.sh for these targets.
arm64 windows and arm32 windows excludes and enables running runtest.cmd on arm64 targets
init-tools.sh changes to pull armhf and aarch64 dotnetcli
init-tools.cmd changes to pull x86 packages for dotnetcli for arm64 windows
runtest.cmd for almost all scenarios will call runtest.py
runtest.sh for almsot all scenarios will call runtest.py
Removes all logic for running tests using runtest.sh
|
|
* Remove tests previously ported to CoreFX repo
* Remove references to ported Marshal API tests
|
|
Fix non-lclVar odd-byte struct passing
|
|
Exclude 437044.cmd_10304 from GCStress runs
|
|
This test times out on ARM Windows R2R GCStress15 runs.
|
|
|
|
When a non-power-of-2 struct is passed, we can only use an IND if the arg is a local.
Fix #19288
|
|
|
|
|
|
Don't let them "float" based on the current build type.
Update the arm/arm64 tests.lst files to use the new `_ro` versions.
It is expected these files will disappear soon, so don't add all
the new versions to them.
Fixes #9722
|
|
#17585 the issue was fixed long time ago, but this exclusion was forgotten.
|
|
* Add advapi32.lib to the list of libs to link against on ARM.
Remove conditional build on ARM in source.
* Manually edit ARM and ARM64 test lists.
|
|
* Properly type optimized NEG nodes
When the JIT was morphing trees like '-1 * expr', it would turn the
multiplication into a NEG node with the same type as its right operand.
This is a problem when the right operand was a small type like TYP_UBYTE
because the NEG node always produces a widened result. This could cause
problems when the negation was fed into something that depended on the
type, such as a cast to TYP_UBYTE: here the JIT would conclude that the
cast could be dropped, and end up producing a widened result.
The solution is to give the tree the actual type of the NEG node.
Also add a test for this case and for a similar case of '0 - expr',
which already had a fix.
Fix #18780
* Address PR feedback
* Clarify comment
|
|
https://github.com/dotnet/coreclr/issues/17753 (#18967)
|
|
exclusion list (#18807)
|
|
|
|
The issue the test was hitting was worked around in #18292.
Fixes #17967.
Also add GitHub_18522_8 to the arm/arm64 lists (from #18708).
|
|
Also add to the arm & arm64 tests.lst
|
|
The jit was retyping all calls with small struct returns as power of two
sized ints when generating code for linux x64 and arm32/arm64. When the
results of those calls were assigned to fields the jit would use overly wide
stores which could corrupt neighboring fields.
The fix is to keep better track of the smallest power of two enclosing int type
size for the struct. If this exactly matches the struct size then the the
result of the call can be used in an arbitrary context. If the enclosing type is
larger, the call's result must be copied to a temp and then the temp can be
reinterpreted as the struct for subsequent uses.
Defer retyping inline candidates and tail call candidates.
Then handle deferred updates for cases where calls don't get inlined.
Add test cases for 6 byte structs showing the various situations the
jit must handle: callee is not an inline candidate, is an inline candidate
and gets inlined, or inline candidate that does not get inlined.
Add a 3 byte test case to get coverage on arm32. Add new tests to the
arm32/arm64 test lists.
|
|
When applying selectors, constants were special-cased to not require any
type casts. However this is wrong if a narrowing needs to be performed.
Fix #18235
|
|
|
|
* An UnusedValue still requires a target reg
The BuildSimple method wasn't creating a def for an unused value. Although (in this case) the code is dead, the code generator must still be able to generate code for it.
* Add test case for #18295 to arm/arm64 tests.lst
|
|
This will disable the test from being run with smart in our windows arm
testing. This corresponds to the tests being deleted in #17637.
|