-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix asserts in Vector<> #78765
Fix asserts in Vector<> #78765
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsFixes (and unblocks jit-diff) This fixes two asserts: Int128 Foo(Vector<Int128> v) => v[0]; this used to assert while is expected to early out in importer as an unsupported type. Prejitting of [Intrinsic]
[CLSCompliant(false)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static Vector<T> Load<T>(T* source)
where T : unmanaged => LoadUnsafe(ref *source); Fails in that assert PTAL @tannergooding
|
@jakobbotsch does it look good otherwise? |
if (!impCheckImplicitArgumentCoercion(argType, arg->gtType)) | ||
{ | ||
BADCODE("the hwintrinsic argument has a type that can't be implicitly converted to the signature type"); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ideally we should have this check outside the else
but let's not rerun CI for it
Fixes #78717 (and unblocks jit-diff)
This fixes two asserts:
Fails in that assert
assert(genActualType(arg->gtType) == genActualType(argType));
My understanding it's completely fine that we pass ULONG (representing pointer) to BYREF
PTAL @tannergooding