llvm-project/lldb/lit
Michal Gorny acbaa496ec [lldb] [lit] Use more readable consts and arrays in register read tests
Replace the constants used for r8/mm/xmm/ymm/zmm tests with something
more readable to ease debugging in case of failures (0x00 0x01 ...).
While at it, put the constants in array and copy them from memory
to simplify inline asm.

The original constants grew out of necessity.  The xmm constants were
'weird' because they were intended to be different from mm constants
(as that was necessary to catch NetBSD implementation bug).  The ymm
constants were made even weirded to not even partially collide with
other xmm registers (not saying it made sense, just how it was done).
Then, zmm constants were once again designed to avoid accidental
collisions with xmm and ymm constants, and at the same the 16 extra
registers required even more shuffling.

The new constants are meant to be more user-readable, so that a mistake
could be easily spotted.  All of xmm, ymm and zmm tests use a sequence
of {0x00 0x01 0x02 ...}, shifted by 1 for every register.  This should
provide enough uniquity, and space for future increase in number of
registers.  Since mm and r8..r15 are printed as uint64_t rather than
byte-by-byte, they use 0x000102...  As a result, on x86 endianness takes
care of making mm different than xmm.

The use of arrays is something I had to learn for zmm write tests.  It
avoids having to specify all the input values separately, and makes
GCC happy about zmm-read test (it was rejected previously because of
hitting a limit of 30 constraints).

llvm-svn: 360041
2019-05-06 13:06:43 +00:00
..
Breakpoint [LLDB] - Update the test cases after yaml2obj change. 2019-04-03 15:28:35 +00:00
BuildScript [lldb] [lit] Attempt to fix regex in toolchain-clang.test 2019-03-06 14:49:48 +00:00
Commands [test] Make check more strict 2019-05-03 20:58:56 +00:00
Driver Update the lldb driver to support the -O and -S options when passing --repl 2019-03-25 15:38:18 +00:00
ExecControl/StopHook Pass explicit C++ version to test 2019-04-26 21:16:15 +00:00
Expr [lit] Make sure tests are actually skipped on darwin and windows. 2019-01-17 21:57:33 +00:00
Heap Fix lldb's macosx/heap.py cstr command. 2018-12-17 18:21:51 +00:00
Minidump yamlify lit/Minidump tests 2019-04-24 08:09:36 +00:00
Modules [PECOFF] Implementation of ObjectFilePECOFF:: GetUUID() 2019-04-30 01:41:33 +00:00
Process/Windows [Windows] Dump more information about access violation exception 2019-04-29 07:29:25 +00:00
Python Avoid using -S in combination with "script"; it's unreliable. 2019-03-07 00:46:56 +00:00
Quit [lldb] Update shebang python2 -> python 2019-01-26 01:05:02 +00:00
Register [lldb] [lit] Use more readable consts and arrays in register read tests 2019-05-06 13:06:43 +00:00
Reproducer [Reproducers] Properly handle QEnvironment packets 2019-03-21 04:08:31 +00:00
Settings Refactor the lit configuration files 2018-11-02 17:49:01 +00:00
Suite [lldb] [test] Pass appropriate -L&-Wl,-rpath for libc++ on NetBSD 2019-03-06 14:03:18 +00:00
SymbolFile [NativePDB] Add anonymous namespaces support 2019-04-22 07:14:40 +00:00
Unit [CMake] In standalone builds, LLVM_BINARY_DIR should point to LLVM's binary directory 2019-01-09 16:25:37 +00:00
Unwind FuncUnwinders: remove "current_offset" from function arguments 2019-04-23 09:57:14 +00:00
Watchpoint [test] Convert TestWatchpointSetErrorCases.py to lit 2019-05-02 01:54:05 +00:00
helper Sanity check --max-gdbserver-port 2019-03-06 21:52:19 +00:00
tools Make lldb-mi optional and change how we deal with missing tools in lit 2019-05-03 20:33:58 +00:00
CMakeLists.txt Make lldb-mi optional and change how we deal with missing tools in lit 2019-05-03 20:33:58 +00:00
lit-lldb-init Add EchoCommentCommands to CommandInterpreterRunOptions in addition to the existing EchoCommands and expose both as interpreter settings. 2018-10-05 16:49:47 +00:00
lit.cfg.py [lit] Check for the psutil module when setting a timeout 2019-04-29 21:03:39 +00:00
lit.site.cfg.py.in Make lldb-mi optional and change how we deal with missing tools in lit 2019-05-03 20:33:58 +00:00