| Issue |
75550
|
| Summary |
[llvm-exegesis] Segfault near virtual address space ceiling when writing to rsp
|
| Labels |
tools:llvm-exegesis
|
| Assignees |
boomanaiden154
|
| Reporter |
boomanaiden154
|
Take the following snippet:
```asm
# LLVM-EXEGESIS-DEFREG RAX 12345600
# LLVM-EXEGESIS-DEFREG RCX 12345600
# LLVM-EXEGESIS-DEFREG RDX 12345600
# LLVM-EXEGESIS-DEFREG RSI 12345600
# LLVM-EXEGESIS-DEFREG RDI 12345600
# LLVM-EXEGESIS-DEFREG R8 12345600
# LLVM-EXEGESIS-DEFREG R9 12345600
# LLVM-EXEGESIS-DEFREG R10 12345600
# LLVM-EXEGESIS-DEFREG R11 12345600
# LLVM-EXEGESIS-DEFREG RBX 12345600
# LLVM-EXEGESIS-DEFREG R14 12345600
# LLVM-EXEGESIS-DEFREG R15 12345600
# LLVM-EXEGESIS-DEFREG R12 12345600
# LLVM-EXEGESIS-DEFREG R13 12345600
# LLVM-EXEGESIS-DEFREG RBP 12345600
# LLVM-EXEGESIS-DEFREG RSP 12345600
# LLVM-EXEGESIS-DEFREG RIP 12345600
# LLVM-EXEGESIS-DEFREG XMM0 12345600
# LLVM-EXEGESIS-DEFREG XMM1 12345600
# LLVM-EXEGESIS-DEFREG XMM2 12345600
# LLVM-EXEGESIS-DEFREG XMM3 12345600
# LLVM-EXEGESIS-DEFREG XMM4 12345600
# LLVM-EXEGESIS-DEFREG XMM5 12345600
# LLVM-EXEGESIS-DEFREG XMM6 12345600
# LLVM-EXEGESIS-DEFREG XMM7 12345600
# LLVM-EXEGESIS-DEFREG XMM8 12345600
# LLVM-EXEGESIS-DEFREG XMM9 12345600
# LLVM-EXEGESIS-DEFREG XMM10 12345600
# LLVM-EXEGESIS-DEFREG XMM11 12345600
# LLVM-EXEGESIS-DEFREG XMM12 12345600
# LLVM-EXEGESIS-DEFREG XMM13 12345600
# LLVM-EXEGESIS-DEFREG XMM14 12345600
# LLVM-EXEGESIS-DEFREG XMM15 12345600
# LLVM-EXEGESIS-MEM-DEF MEM 4096 12345600
# LLVM-EXEGESIS-MEM-MAP MEM 305418240
movq (%rdx), %r9
movq 8(%rdx), %r10
leaq 16(%rsp), %rdi
movq 16(%rdx), %rax
movq 24(%rdx), %rdx
movq %rdi, 8(%rsp)
movq %r9, 16(%rsp)
movq %r10, 24(%rsp)
movq %rax, 32(%rsp)
movq %rdx, 40(%rsp)
```
Executing this with the following command:
```shell
llvm-exegesis -mode=latency -snippets-file=%s -execution-mode=subprocess
```
Shows a segmentation fault very high in the virtual address space:
```
error: The snippet encountered a segmentation fault at address 7ffffffff008
```
This seems to indicate that the stack pointer register is never getting reset after it is used to setup the vector registers. More investigation is needed though.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs