diff options
author | Alan Hayward <alan.hayward@arm.com> | 2018-08-16 15:21:15 +0100 |
---|---|---|
committer | Alan Hayward <alan.hayward@arm.com> | 2018-08-17 11:10:24 +0100 |
commit | 2ecae92e2372102ac0fa774fce4c4c0d6f8c85f5 (patch) | |
tree | 665e03c0f726148b83123dbbc7dc3756e3c7e0b4 /gdb/testsuite/gdb.arch | |
parent | c1854f1d5a8fb5d86c7ac6d118348759cfa8c393 (diff) | |
download | gdb-2ecae92e2372102ac0fa774fce4c4c0d6f8c85f5.zip gdb-2ecae92e2372102ac0fa774fce4c4c0d6f8c85f5.tar.gz gdb-2ecae92e2372102ac0fa774fce4c4c0d6f8c85f5.tar.bz2 |
Fix asm in testsuite/gdb.arch/aarch64-fp.c
Cannot assume result of first and third ldr will go into x0.
Rewrite asm to be clearer.
gdb/testsuite/
PR gdb/18931:
* gdb.arch/aarch64-fp.c (main): Fix asm registers.
Diffstat (limited to 'gdb/testsuite/gdb.arch')
-rw-r--r-- | gdb/testsuite/gdb.arch/aarch64-fp.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/gdb/testsuite/gdb.arch/aarch64-fp.c b/gdb/testsuite/gdb.arch/aarch64-fp.c index 0ff8e00..7eb6df2 100644 --- a/gdb/testsuite/gdb.arch/aarch64-fp.c +++ b/gdb/testsuite/gdb.arch/aarch64-fp.c @@ -26,12 +26,18 @@ main (void) void *addr; addr = &buf0[0]; - __asm __volatile ("ldr %x0, [%1]" : "=r" (val) : "r" (&addr)); - __asm __volatile ("ldr q0, [x0]"); - + __asm __volatile ("ldr %x0, [%1]\n\t" + "ldr q0, [%x0]" + : "=r" (val) + : "r" (&addr) + : "q0" ); + addr = &buf1[0]; - __asm __volatile ("ldr %x0, [%1]" : "=r" (val) : "r" (&addr)); - __asm __volatile ("ldr q1, [x0]"); + __asm __volatile ("ldr %x0, [%1]\n\t" + "ldr q1, [%x0]" + : "=r" (val) + : "r" (&addr) + : "q1" ); return 1; } |