Comment # 6 on bug 1204267 from
Thanks, that should help. This isn't my area of expertise, but at least we can
use this to file a bug upstream.

(In reply to Aaron Puchert from comment #4)
> Nevertheless, some initial remarks: ARMISD::VCMPZ is a "Vector compare to
> zero." [1] It should correspond to "vcmpe" in assembly [2]. The first
> argument being a v4i32 is slightly suspicious. I would have expected a
> v4f32, but since they live in the same registers maybe the backend doesn't
> care. The second is a Constant:i32<2> = ARMCC::CondCodes::HS, corresponding
> to conditional execution only if the carry flag is set, if I understand this
> correctly. [3,4]

Seems I was misreading that, the condition code is for the comparison itself.
For floating-point ARMCC::CondCodes::HS means ">, ==, or unordered", so we're
doing a !(... < 0.0f) comparison. Likely corresponds to one of the

    fcmp ..., zeroinitializer

in the IR.


You are receiving this mail because: