[interp] Add intrinsics for some common operations (#38809)
authorVlad Brezae <brezaevlad@gmail.com>
Mon, 13 Jul 2020 09:04:58 +0000 (12:04 +0300)
committerGitHub <noreply@github.com>
Mon, 13 Jul 2020 09:04:58 +0000 (12:04 +0300)
commitfc56772acb96d52efabec4f58bd09711efbb0fd8
tree4f124fcae5c4cf466808e2f6d32e8b6a48a22aa2
parent8a94c7bc54a43d45c398025f07f70c99b658a4d8
[interp] Add intrinsics for some common operations (#38809)

* [interp] Add intrinsic for Marvin.Block

* [interp] Intrinsify ConvertAllAsciiCharsInUInt32ToUppercase

* [interp] Intrinisfy UInt32OrdinalIgnoreCaseAscii

* [interp] Intrinsify UInt64OrdinalIgnoreCaseAscii

* [interp] Add intrinsic for UInt32ToDecStr

* [interp] Add intrinsic opcode for WidenAsciiToUtf16

* [interp] Rename intrinsics to interp-intrins

There seem to be some build failures on windows. Probably because of conflict with intrinsics source files from mini.

* [interp] Add comments

To prevent bcl and interp intrinsics going out of sync.
12 files changed:
src/libraries/System.Private.CoreLib/src/System/Marvin.cs
src/libraries/System.Private.CoreLib/src/System/Number.Formatting.cs
src/libraries/System.Private.CoreLib/src/System/Text/ASCIIUtility.cs
src/libraries/System.Private.CoreLib/src/System/Text/Unicode/Utf16Utility.cs
src/mono/mono/mini/Makefile.am.in
src/mono/mono/mini/interp/interp-intrins.c [new file with mode: 0644]
src/mono/mono/mini/interp/interp-intrins.h [new file with mode: 0644]
src/mono/mono/mini/interp/interp.c
src/mono/mono/mini/interp/mintops.def
src/mono/mono/mini/interp/transform.c
src/mono/msvc/libmini-interp.targets
src/mono/msvc/libmini-interp.targets.filters