We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Forwarded from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95692 :
ompi/opal/mca/patcher/patcher.h
Line 31 in 0bccfcd
The inline-asm needs to clobber memory to avoid moving the END before a different restore the r2.
That is BEGIN should be:
asm volatile ("std 2, %0" : "=m" (toc_save) :: "memory"); asm volatile ("nop; nop; nop; nop; nop" ::: "memory");;
While END should be:
asm volatile ("ld 2, %0" : : "m" (toc_save) : "memory");;
The text was updated successfully, but these errors were encountered:
Thanks @pinskia for tracking this (over 4 years)! Would you be able to file a PR that adds the clobber?
Sorry, something went wrong.
I don't have a way to test it fully. I was just using godbolt (https://godbolt.org/) to do quick testing by looking at the generated assembly output.
@bosilca @janjust Can Nvidia do some testing here, and file a PR if it all works as expected? You're the main consumers of patcher these days.
94f092e
bosilca
janjust
Successfully merging a pull request may close this issue.
Forwarded from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95692 :
ompi/opal/mca/patcher/patcher.h
Line 31 in 0bccfcd
The inline-asm needs to clobber memory to avoid moving the END before a different restore the r2.
That is BEGIN should be:
While END should be:
The text was updated successfully, but these errors were encountered: