diff options
Diffstat (limited to 'gdb/testsuite')
-rw-r--r-- | gdb/testsuite/gdb.reverse/i386-avx-reverse.c | 17 | ||||
-rw-r--r-- | gdb/testsuite/gdb.reverse/i386-avx-reverse.exp | 19 |
2 files changed, 20 insertions, 16 deletions
diff --git a/gdb/testsuite/gdb.reverse/i386-avx-reverse.c b/gdb/testsuite/gdb.reverse/i386-avx-reverse.c index 0c26bcd..8156575 100644 --- a/gdb/testsuite/gdb.reverse/i386-avx-reverse.c +++ b/gdb/testsuite/gdb.reverse/i386-avx-reverse.c @@ -149,24 +149,24 @@ vmov_test () opcodes, meaning they'll need to be tested separately. */ asm volatile ("vmovups %0, %%xmm0" : : "m"(buf0)); - asm volatile ("vmovupd %0, %%xmm15" : : "m"(buf1)); + asm volatile ("vmovupd %0, %%ymm15" : : "m"(buf1)); asm volatile ("vmovupd %%xmm0, %0" : : "m"(buf1)); - asm volatile ("vmovups %%xmm15, %0" : : "m"(buf1)); + asm volatile ("vmovups %%ymm15, %0" : : "m"(buf1)); asm volatile ("vmovups %0, %%xmm0" : : "m"(global_buf0)); - asm volatile ("vmovupd %0, %%xmm15" : : "m"(global_buf1)); + asm volatile ("vmovupd %0, %%ymm15" : : "m"(global_buf1)); asm volatile ("vmovupd %%xmm0, %0" : : "m"(global_buf1)); - asm volatile ("vmovups %%xmm15, %0" : : "m"(global_buf1)); + asm volatile ("vmovups %%ymm15, %0" : : "m"(global_buf1)); asm volatile ("vmovups %0, %%xmm0" : : "m"(*dyn_buf0)); - asm volatile ("vmovupd %0, %%xmm15" : : "m"(*dyn_buf1)); + asm volatile ("vmovupd %0, %%ymm15" : : "m"(*dyn_buf1)); asm volatile ("vmovupd %%xmm0, %0" : : "m"(*dyn_buf1)); - asm volatile ("vmovups %%xmm15, %0" : : "m"(*dyn_buf1)); + asm volatile ("vmovups %%ymm15, %0" : : "m"(*dyn_buf1)); asm volatile ("vmovaps %0, %%xmm0" : : "m"(*dyn_buf0)); - asm volatile ("vmovapd %0, %%xmm15" : : "m"(*dyn_buf1)); + asm volatile ("vmovapd %0, %%ymm15" : : "m"(*dyn_buf1)); asm volatile ("vmovapd %%xmm0, %0" : : "m"(*dyn_buf1)); - asm volatile ("vmovaps %%xmm15, %0" : : "m"(*dyn_buf1)); + asm volatile ("vmovaps %%ymm15, %0" : : "m"(*dyn_buf1)); /* We have a return statement to deal with epilogue in different compilers. */ @@ -438,6 +438,7 @@ main () asm volatile ("vmovq %0, %%xmm0": : "m" (global_buf1)); asm volatile ("vmovq %0, %%xmm1": : "m" (global_buf1)); asm volatile ("vmovq %0, %%xmm2": : "m" (global_buf1)); + asm volatile ("vmovq %0, %%xmm3": : "m" (global_buf1)); asm volatile ("vmovq %0, %%xmm15": : "m" (global_buf1)); vmov_test (); diff --git a/gdb/testsuite/gdb.reverse/i386-avx-reverse.exp b/gdb/testsuite/gdb.reverse/i386-avx-reverse.exp index 2b2371d..f927960 100644 --- a/gdb/testsuite/gdb.reverse/i386-avx-reverse.exp +++ b/gdb/testsuite/gdb.reverse/i386-avx-reverse.exp @@ -76,6 +76,8 @@ proc test_one_general_register {insn register value {prefix ""}} { # Shorthand to test reversing through one instruction and # testing if a variable has the expected value. +# Value should always be the start of the stored values in the memory, +# not something found in the middle of it. # Prefix, if used, should end with a colon and space. proc test_one_memory {insn mem value {dynamic false} {prefix ""}} { @@ -147,31 +149,32 @@ global decimal if {[record_full_function "vmov"] == true} { # Now execute backwards, checking all instructions. + # Explicitly test for the start of the array, since the value repeats. test_one_memory "vmovaps" "dyn_buf1" \ - "0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28" true + "\\\{0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28" true test_one_memory "vmovapd" "dyn_buf1" \ - "0x54, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x28" true + "\\\{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x28" true test_one_register "vmovapd" "xmm15" ".*" "dynamic buffer: " test_one_register "vmovaps" "xmm0" ".*" "dynamic buffer: " test_one_memory "vmovups" "dyn_buf1" \ - "0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28" true + "\\\{0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28" true test_one_memory "vmovupd" "dyn_buf1" \ - "0x54, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x28" true + "\\\{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x28" true test_one_register "vmovupd" "xmm15" ".*" "dynamic buffer: " test_one_register "vmovups" "xmm0" ".*" "dynamic buffer: " test_one_memory "vmovups" "global_buf1" \ - "0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18" + "\\\{0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18" test_one_memory "vmovupd" "global_buf1" \ - "0x54, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18" + "\\\{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18" test_one_register "vmovupd" "xmm15" ".*" "global buffer: " test_one_register "vmovups" "xmm0" ".*" "global buffer: " test_one_memory "vmovups" "buf1" \ - "0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38" + "\\\{0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38" test_one_memory "vmovupd" "buf1" \ - "0x54, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38" + "\\\{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38" test_one_register "vmovupd" "xmm15" "0xbff8000000000000" "local buffer: " test_one_register "vmovups" "xmm0" "0xc004000000000000" "local buffer: " |