This is an archive of the discontinued LLVM Phabricator instance.

[X86][FP16] Replace vXi16 to vXf16 instead of v8f16
ClosedPublic

Authored by pengfei on Nov 19 2021, 6:59 PM.

Diff Detail

Event Timeline

pengfei created this revision.Nov 19 2021, 6:59 PM
pengfei requested review of this revision.Nov 19 2021, 6:59 PM
Herald added a project: Restricted Project. · View Herald TranscriptNov 19 2021, 6:59 PM

Which of the patterns that you changed is actually causing the crash and is it possible to create a test case for the other?

LuoYuanke accepted this revision.EditedNov 27 2021, 9:56 PM

LGTM, pls address Simon's comments.

This revision is now accepted and ready to land.Nov 27 2021, 9:56 PM

Which of the patterns that you changed is actually causing the crash and is it possible to create a test case for the other?

The pattern is MaskVT == MVT::v16i16 and Mask = {0, -2, -2, ..., -2}. It matches the conditions in line 36273 and 36274. I tried several times but failed to generate Mask = {0, -1, -1, ..., -1} to match the condition in line 36220.
The conditions in line 36221 and 36222 are only avaliable for MaskVT == MVT::v8i16. So I didn't create another test cast.

LGTM, pls address Simon's comments.

Thanks!

This revision was automatically updated to reflect the committed changes.