selftests/powerpc: Fix earlyclobber in tm-vmxcopy
In some cases, compiler can allocate the same register for operand 'res' and 'vecoutptr', resulting in segfault at 'stxvd2x 40,0,%[vecoutptr]' because base register will contain 1, yielding a false-positive. This is because output 'res' must be marked as an earlyclobber operand so it may not overlap an input operand ('vecoutptr'). Signed-off-by: Gustavo Romero <gromero@linux.vnet.ibm.com> Reviewed-by: Segher Boessenkool <segher@kernel.crashing.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
9c4e4c90ec
commit
8d0f1e05ab
|
@ -79,7 +79,7 @@ int test_vmxcopy()
|
||||||
|
|
||||||
"5:;"
|
"5:;"
|
||||||
"stxvd2x 40,0,%[vecoutptr];"
|
"stxvd2x 40,0,%[vecoutptr];"
|
||||||
: [res]"=r"(aborted)
|
: [res]"=&r"(aborted)
|
||||||
: [vecinptr]"r"(&vecin),
|
: [vecinptr]"r"(&vecin),
|
||||||
[vecoutptr]"r"(&vecout),
|
[vecoutptr]"r"(&vecout),
|
||||||
[map]"r"(a)
|
[map]"r"(a)
|
||||||
|
|
Loading…
Reference in New Issue