-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
in-place broadcast (e.g. .+=
) significanctly slower for reinterpreted array
#48801
Comments
a possible lead (#43153 (comment)): julia> ary = reinterpret(Int32, rand(UInt8, 10^5*4))
julia> f(ary) = ary .+= Int32(1);
julia> @code_llvm f(ary) ....
vector.memcheck92: ; preds = %pass19.lr.ph.split.us
%scevgep93 = getelementptr i8, i8* %12, i64 4
%bound097 = icmp ult i8* %12, %scevgep93
br i1 %bound097, label %scalar.ph101, label %vector.ph104
... although I don't see the conflict flag variable |
#44186 doesn't help |
IIRC, LLVM's vectorizer would insert an overly strict memcheck unless it can prove |
what does "need" mean (where should this happen?) I would love to but I'm not sure I know enough about LLVM to help |
I mean adding |
on
1.9-beta4
and master branch (0b8e8fc):not sure if it's just another facet of:
ntoh
/bswap
are 10x slower when operating in-place onreinterpret
array #42227The text was updated successfully, but these errors were encountered: