This is an archive of the discontinued LLVM Phabricator instance.

Fix types for AVX-512 pshufd intrinsics.
ClosedPublic

Authored by craig.topper on May 13 2016, 12:02 AM.

Details

Summary

The immediate for the final instruction is the second argument. It should be 32-bits to match the software spec then truncated to 8-bits to match the instruction format. The mask is the last argument which needs to be 16-bits for the 512-bit instruction.

Also put the tests for 128-bit and 256-bit in the AVX512VL file instead of the AVX512BW+VL file since this is not a BW instruction.

Diff Detail

Event Timeline

craig.topper retitled this revision from to Fix types for AVX-512 pshufd intrinsics..
craig.topper updated this object.
craig.topper added reviewers: delena, m_zuckerman.
craig.topper added a subscriber: llvm-commits.

I'll update clang's builtin type string after this is approved. It has even more problems. The immediate in the type string has a 'C' in front of it which makes the vector type argument that proceeds it constant. Believe it was intend to be an 'I'.

delena accepted this revision.May 13 2016, 12:43 PM
delena edited edge metadata.

Craig, thank you for fixing this.

This revision is now accepted and ready to land.May 13 2016, 12:43 PM
craig.topper closed this revision.May 13 2016, 5:54 PM

Commited in r269526