This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Define ACLE FP conversion intrinsics with more specific predicate.
ClosedPublic

Authored by sdesmalen on Apr 17 2020, 1:51 PM.

Details

Summary

This patch changes the FP conversion intrinsics to take a predicate
that matches the number of lanes for the vector with the widest element
type as opposed to using <vscale x 16 x i1>.

For example:

<vscale x 4 x float> @llvm.aarch64.sve.fcvt.f32f16(<vscale x 4 x float>, <vscale x 4 x i1>, <vscale x 8 x half>)

now uses <vscale x 4 x i1> instead of <vscale x 16 x i1>

And similar for:

<vscale x 4 x float> @llvm.aarch64.sve.fcvt.f32f64(<vscale x 4 x float>, <vscale x 2 x i1>, <vscale x 2 x double>)

where the predicate now matches the wider type, so <vscale x 2 x i1>.

Diff Detail

Event Timeline

sdesmalen created this revision.Apr 17 2020, 1:51 PM
This revision is now accepted and ready to land.Apr 17 2020, 2:12 PM
This revision was automatically updated to reflect the committed changes.