| 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