Commit 8d0f1e05 authored by Gustavo Romero's avatar Gustavo Romero Committed by Michael Ellerman

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: default avatarGustavo Romero <gromero@linux.vnet.ibm.com>
Reviewed-by: default avatarSegher Boessenkool <segher@kernel.crashing.org>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 9c4e4c90
...@@ -79,7 +79,7 @@ int test_vmxcopy() ...@@ -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)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment