This is an archive of the discontinued LLVM Phabricator instance.

[Hexagon] Introduce noop intrinsic to cast between vector predicate types
AbandonedPublic

Authored by kparzysz on Feb 20 2020, 2:52 PM.

Details

Reviewers
None
Summary

The (overloaded) intrinsic is llvm.hexagon.V6.pred.typecast[.128B]. The types of the operand and the return value are HVX boolean vector types. For each cast, there need to be the corresponding intrinsic declared, with different suffixes appended to the name, e.g.

; cast <128 x i1> to <32 x i1>
declare <32 x i1> @llvm.hexagon.V6.pred.typecast.128B.s1(<128 x i1>)
; cast <32 x i1> to <64 x i1>
declare <64 x i1> @llvm.hexagon.V6.pred.typecast.128B.s2(<32 x i1>)

etc.

Diff Detail

Event Timeline

kparzysz created this revision.Feb 20 2020, 2:52 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 20 2020, 2:52 PM