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
x86 hits assertion ModRM Fields out of range! #55091
Comments
@llvm/issue-subscribers-backend-x86 |
Can you provide the 2 files listed at the bottom of the crash
|
I can already reproduce this with |
Bisect shows failure starts with 702d5de In addition, when I was checking 1889170, I noticed the following. here is my clang build recipe.
|
EDIT: bah beaten by a minute :) |
Small reproducer: $ cat reduced.ll %struct.widget = type { { double, double } }
define void @baz(ptr %arg, <4 x i1> %arg1) #0 {
bb:
%tmp = shufflevector <2 x double> zeroinitializer, <2 x double> zeroinitializer, <4 x i32> zeroinitializer
br label %bb2
bb2: ; preds = %bb2, %bb
%tmp3 = fmul <4 x double> zeroinitializer, zeroinitializer
%tmp4 = getelementptr inbounds %struct.widget, ptr %arg, <4 x i64> undef
%tmp5 = call <4 x double> @llvm.masked.gather.v4f64.v4p0(<4 x ptr> %tmp4, i32 0, <4 x i1> %arg1, <4 x double> zeroinitializer)
%tmp6 = fadd <4 x double> zeroinitializer, zeroinitializer
%tmp7 = extractelement <4 x double> %tmp5, i64 0
store double %tmp7, ptr null, align 8
br label %bb2
}
declare <4 x double> @llvm.masked.gather.v4f64.v4p0(<4 x ptr>, i32 immarg, <4 x i1>, <4 x double>)
attributes #0 = { "target-cpu"="skylake" } $ llc --filetype=obj reduced.ll |
I think it is the same root cause as #55021 |
From the result of An illegal MIR is generated
The scalar field of the memory operand is set to 16, which should be one of 1, 2, 4, 8. |
The 16 comes from |
Good suggestion. Created https://reviews.llvm.org/D124455 to crash after ISEL. |
1. The scale factor must be 1, 2, 4, 8 2. The displacement must fit in 32-bit signed integer Noticed by: #55091 Reviewed By: pengfei Differential Revision: https://reviews.llvm.org/D124455
Fixed by 027c728. |
Checked today e33867a
I only make one build every night. The failure happened between e995526 (good) and 1889170 (bad)
full back trace detail in README in the zip bug_report_x86.zip
The text was updated successfully, but these errors were encountered: