-
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
JIT: Potential bad codegen with AlignRight
#105468
Comments
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
This one appears to be related to This repros (modified to be in the format that the JIT tests expect): // Generated by Fuzzlyn v1.7 on 2024-07-25 11:40:55
// Run on X64 Windows
// Seed: 418121815423725559-vectort,vector128,vector256,x86aes,x86avx,x86avx2,x86bmi1,x86bmi1x64,x86bmi2,x86bmi2x64,x86fma,x86lzcnt,x86lzcntx64,x86pclmulqdq,x86popcnt,x86popcntx64,x86sse,x86ssex64,x86sse2,x86sse2x64,x86sse3,x86sse41,x86sse41x64,x86sse42,x86sse42x64,x86ssse3,x86x86base
// Reduced from 72.7 KiB to 1.0 KiB in 00:01:55
// Debug: Outputs <0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>
// Release: Outputs <1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1>
using System;
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.X86;
using Xunit;
public struct S3
{
public byte F0;
}
public class Runtime_105468
{
public static IRuntime s_rt;
public static S3 s_3;
[Fact]
public static void TestEntryPoint()
{
s_rt = new Runtime();
var vr15 = (ushort)0;
var vr16 = Vector256.CreateScalar(vr15);
var vr17 = Vector256.Create<ushort>(1);
var vr18 = (ushort)0;
var vr19 = Vector256.CreateScalar(vr18);
var vr20 = s_3.F0;
var vr21 = Avx2.AlignRight(vr17, vr19, vr20);
M6(vr16, vr21);
}
private static void M6(Vector256<ushort> arg1, Vector256<ushort> arg3)
{
s_rt.Validate<ushort>(arg1);
}
}
public interface IRuntime
{
void Validate<T>(Vector256<T> value);
}
public class Runtime : IRuntime
{
public void Validate<T>(Vector256<T> value) => Assert.Equal(Vector256<T>.Zero, value);
} But if we make |
So not generic virtuals, but rather |
The text was updated successfully, but these errors were encountered: