https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119210
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So:
mrs x16, tpidr2_el0
cbnz x16, .L22 <== it will branch to .L22, and miss 'smstart za'
mov x0, x3
smstart za
bl __arm_tpidr2_restore
.L22:
This means it is already started.
What kernel version are you using? Could this be a bug in the kernel not
saving/restoring tpidr2_el0 correctly or setting tpidr2_el0 to zero originally.
