Details
- Reviewers
labath JDevlieghere krytarowski - Commits
- rG97799084947c: [lldb] [lit] Add write tests for r8-r15 & xmm8-xmm15 registers
rGb268a2a4af42: [lldb] [lit] Add write tests for MM/XMM registers
rL359682: [lldb] [lit] Add write tests for r8-r15 & xmm8-xmm15 registers
rLLDB359682: [lldb] [lit] Add write tests for r8-r15 & xmm8-xmm15 registers
rLLDB359681: [lldb] [lit] Add write tests for MM/XMM registers
rL359681: [lldb] [lit] Add write tests for MM/XMM registers
Diff Detail
- Repository
- rL LLVM
Event Timeline
The assembly looks perfectly fine to me. The only thing I'd consider changing is writing the displacements in the movq ... (%rbx) instructions in hex.
lldb/lit/Register/Inputs/x86-mm-xmm-write.cpp | ||
---|---|---|
10 ↗ | (On Diff #197297) | It looks like mm_fill is unused. |
lldb/lit/Register/x86-mm-xmm-write.test | ||
27 ↗ | (On Diff #197297) | When looking at the jenkins output from the failed gp-write run, I realized that the failure message isn't very helpful because FileCheck suggests the "register write" line above as a "possible intended match". I think it may be possible to improve on that by adding a CHECK: process continue here so that all subsequent checks only look at the process output, and not the commands setting the values. |
lldb/lit/Register/x86-64-write.test | ||
---|---|---|
1 ↗ | (On Diff #197355) | This fails on Darwin for me: # CHECK-DAG: xmm8 = 0x030507090b0d0f00020406080a0c0e01 ^ <stdin>:38:1: note: scanning from here r8 = 0x0102030405060708 ^ <stdin>:46:1: note: possible intended match here xmm8 = 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f |
lldb/lit/Register/Inputs/x86-mm-xmm-write.cpp | ||
---|---|---|
10 ↗ | (On Diff #197297) | It's used to fill xmm_fill ;-). Should I inline it? |
lldb/lit/Register/x86-64-write.test | ||
1 ↗ | (On Diff #197355) | Could you run it without FileCheck, and paste the full output? Manually would be something alike: clang++ Inputs/x86-64-write.cpp lldb -b -s x86-64-write.test a.out |
lldb/lit/Register/x86-64-write.test | ||
---|---|---|
1 ↗ | (On Diff #197355) | Sure, here's the output: https://reviews.llvm.org/P8141 |
Ok, I see that Darwin doesn't implement writing to xmm* registers at the moment. Added XFAIL for it.
lldb/lit/Register/Inputs/x86-mm-xmm-write.cpp | ||
---|---|---|
10 ↗ | (On Diff #197297) | What I actually meant here was that I was expecting mm_fill to be used to initialize the mm registers, but you're initializing them with xmm_fill instead. However, that's not really important, as both are technically correct. |