summaryrefslogtreecommitdiff
path: root/tests/src/JIT/Regression/JitBlue/GitHub_21990/GitHub_21990.csproj
diff options
context:
space:
mode:
authorBruce Forstall <Bruce_Forstall@msn.com>2019-01-15 14:21:48 -0800
committerBruce Forstall <Bruce_Forstall@msn.com>2019-01-15 14:21:48 -0800
commit91cfbf46e66b6c6339c530c08053cacbb498314a (patch)
tree4f75a3ff5c6c783a3f8955d3b326b8e5e3ab1712 /tests/src/JIT/Regression/JitBlue/GitHub_21990/GitHub_21990.csproj
parentc4e4036761771bdc3fad060e6ce70daa5b85fe2a (diff)
downloadcoreclr-91cfbf46e66b6c6339c530c08053cacbb498314a.tar.gz
coreclr-91cfbf46e66b6c6339c530c08053cacbb498314a.tar.bz2
coreclr-91cfbf46e66b6c6339c530c08053cacbb498314a.zip
Fix two cases of FP-relative immediate offsets not being checked for encodability
For ARM32/ARM64, the immediate offsets in addressing modes have limited range that varies by instruction. A couple cases were not checking for that range, leading to generating potentially un-encodable instruction. In particular, the test case shows a case where a very large frame in a function with a stored generic context would fail on ARM64. There are no code diffs from this change for ARM64, except we sometimes get better assembly comments where the local variable referenced is annotated on the store instruction. For ARM32, the "secret stub param" is now stored using SP-relative addressing, not FP-relative, if possible (which we generally prefer in main function bodies).
Diffstat (limited to 'tests/src/JIT/Regression/JitBlue/GitHub_21990/GitHub_21990.csproj')
-rw-r--r--tests/src/JIT/Regression/JitBlue/GitHub_21990/GitHub_21990.csproj34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_21990/GitHub_21990.csproj b/tests/src/JIT/Regression/JitBlue/GitHub_21990/GitHub_21990.csproj
new file mode 100644
index 0000000000..c46f1c3549
--- /dev/null
+++ b/tests/src/JIT/Regression/JitBlue/GitHub_21990/GitHub_21990.csproj
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{2649FAFE-07BF-4F93-8120-BA9A69285ABB}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "></PropertyGroup>
+ <PropertyGroup>
+ <LangVersion>latest</LangVersion>
+ <DebugType>None</DebugType>
+ <Optimize>True</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="$(MSBuildProjectName).cs" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file