This is an archive of the discontinued LLVM Phabricator instance.

[lldb] [lit] Add tests for reading ZMM registers (AVX512)
ClosedPublic

Authored by mgorny on Apr 26 2019, 2:37 PM.

Diff Detail

Repository
rLLDB LLDB

Event Timeline

mgorny created this revision.Apr 26 2019, 2:37 PM
mgorny updated this revision to Diff 196948.Apr 26 2019, 11:22 PM

Included dotest test removal for completeness. I'm going to commit it separately though.

For the record, GCC refuses to build this with:

Inputs/x86-zmm-read.cpp: In function ‘int main()’:
Inputs/x86-zmm-read.cpp:193:4: error: more than 30 operands in ‘asm’
   );
    ^

Not sure if we care about it though; clang doesn't seem to have this limitation.

mgorny updated this revision to Diff 196951.Apr 27 2019, 1:21 AM

Included verification that the program terminates successfully.

labath accepted this revision.Apr 29 2019, 3:32 AM
labath added a subscriber: JDevlieghere.

The test fails on linux even with the right hardware, but that's not surprising as the original test was also @skipUnlessDarwin (and I see no trace of zmm support in the linux part of code). I also don't have mac hardware around that I could try the mac side of things on (maybe @JDevlieghere has?), but I guess you can also just watch the bots carefully after committing this.

For the record, GCC refuses to build this with:

Inputs/x86-zmm-read.cpp: In function ‘int main()’:
Inputs/x86-zmm-read.cpp:193:4: error: more than 30 operands in ‘asm’
   );
    ^

Not sure if we care about it though; clang doesn't seem to have this limitation.

I don't think we have to worry about that now. If that ever becomes a problem, we can always make the zmm things into an array and pass them via a single memory argument.

This revision is now accepted and ready to land.Apr 29 2019, 3:32 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptApr 29 2019, 4:37 AM
Herald added a subscriber: teemperor. · View Herald Transcript