This is an archive of the discontinued LLVM Phabricator instance.

Fix the AllRegs AVX calling convention for 32bit
ClosedPublic

Authored by aaboud on May 10 2016, 5:01 PM.

Details

Summary

32-bit AllRegs:

SSE: xmm0-xmm7
AVX: ymm0-ymm7
AVX512: zmm0-zmm7 + k0-k7

64-bit AllRegs:

SSE: xmm0-xmm15
AVX: ymm0-ymm15
AVX512: zmm0-zmm31 + k0-k7

This will fix PR26409

Also removed the ESP/RSP from the AllRegs list, codegen always preserve this register, no need to explicitly save it!

Also fixed dwarf register mapping in 32bit for K0-K7 registers. (I can commit this part separately once it is approved here)

Diff Detail

Repository
rL LLVM

Event Timeline

aaboud updated this revision to Diff 56837.May 10 2016, 5:01 PM
aaboud updated this revision to Diff 56839.
aaboud retitled this revision from to Fix the AllRegs AVX calling convention for 32bit.
aaboud updated this object.
aaboud added reviewers: qcolombet, craig.topper.
aaboud added a subscriber: llvm-commits.
delena accepted this revision.May 11 2016, 1:36 AM
delena edited edge metadata.
This revision is now accepted and ready to land.May 11 2016, 1:36 AM
aaboud updated this object.May 12 2016, 1:00 PM
aaboud edited edge metadata.
This revision was automatically updated to reflect the committed changes.