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.
This commit is contained in:
Alan Hayward 2018-08-16 15:21:15 +01:00
parent c1854f1d5a
commit 2ecae92e23
2 changed files with 16 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2018-08-17 Alan Hayward <alan.hayward@arm.com>
PR gdb/18931
* gdb.arch/aarch64-fp.c (main): Fix asm registers.
2018-08-16 Keith Seitz <keiths@redhat.com>
* gdb.compile/compile.exp: Use gdb_test_no_output for "compile code"

View File

@ -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;
}