This is an archive of the discontinued LLVM Phabricator instance.

[X86][AVX512F] Fix reg class for VMOVSSZrr/VMOVSSZrrk and VMOVSDZrr/VMOVSDZrrk
ClosedPublic

Authored by RKSimon on Mar 21 2017, 12:21 PM.

Details

Summary

Fixed -verify-machineinstrs errors in fast-isel-select-sse.ll (one of many in PR27481)

The VMOVSSZrr/VMOVSSZrrk and VMOVSDZrr/VMOVSDZrrk instructions were assuming both source registers were V128X when the second is actually supposed to be FR32X/FR64X

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon created this revision.Mar 21 2017, 12:21 PM
craig.topper edited edge metadata.Mar 23 2017, 9:40 AM

Aren't there now broken patterns using COPY_TO_REGCLASS from FR32X/FR64X to VR128X below this now? For example the avx512_move_scalar_lowering multiclass.

RKSimon updated this revision to Diff 92932.Mar 24 2017, 6:33 AM

Fixed missed patterns

This revision is now accepted and ready to land.Mar 25 2017, 9:11 PM
This revision was automatically updated to reflect the committed changes.