-
Notifications
You must be signed in to change notification settings - Fork 58
Description
Emitting code for box_bool, which returns a Type{Bool}, calls into https://github.com/JuliaLang/julia/blob/4768d7ab8fefc8e86c6f9cde09bc10e5a2f72e9b/src/cgutils.cpp#L410-L415 to emit the Bool part of Expr(:invoke, (::Type{InexactError})(Symbol, Any, Any) from (::Type{InexactError})(Symbol, Any, Any), Base.InexactError, :(:Bool), Base.Bool, Core.Argument(n=2)). On e.g. PTX that emits a bitcast from smallp = i8* getelementptr inbounds (i8, i8* @small_typeof, i32 192) to ppjlvalue = {}**, which is fine, but on GCN smallp is i8 addrspace(1)* getelementptr inbounds (i8, i8 addrspace(1)* @small_typeof, i32 192). That results in an illegal bitcast, as an a addrspacecast is required here. This was probably introduced in JuliaLang/julia#49556
Originally posted by @maleadt in #497 (comment)