Issue 63615
Summary [X86] Callee saved ZMM[6-15] not preserved before being clobbered by inline asm as required by the Windows x64 ABI
Labels backend:X86
Assignees omern1
Reporter omern1
    Original discussion:
https://discourse.llvm.org/t/registers-xmm6-to-xmm15-are-not-saved-in-clang16-with-march-skylake-avx512-and-march-x86-64-v4

Notice how XMM6 is saved in `foo2` but not in `foo` (https://godbolt.org/z/ba9KfvavK):
```
foo: # @foo
        vpxord  zmm6, zmm6, zmm6

        ret
foo2: # @foo2
        sub     rsp, 24
 vmovaps xmmword ptr [rsp], xmm6         # 16-byte Spill
        vpxord ymm6, ymm6, ymm6

        vmovaps xmm6, xmmword ptr [rsp]         # 16-byte Reload
        add     rsp, 24
        vzeroupper
 ret
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to