[Bug target/101464] Replace zveroupper with vpxor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101464 H.J. Lu changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #4 from H.J. Lu --- (In reply to Richard Biener from comment #3) > But in the long discussion involving vzeroupper and HTM aborts in glibc > memory functions it came up that vpxor is _not_ properly clearing the upper > state and thus does _not_ remove the penalty that following non-VEX SSE > instructions get? From https://sourceware.org/bugzilla/show_bug.cgi?id=27457 we can't use VPXOR to replace VZEROUPPER.
[Bug target/101464] Replace zveroupper with vpxor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101464 --- Comment #3 from Richard Biener --- But in the long discussion involving vzeroupper and HTM aborts in glibc memory functions it came up that vpxor is _not_ properly clearing the upper state and thus does _not_ remove the penalty that following non-VEX SSE instructions get?
[Bug target/101464] Replace zveroupper with vpxor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101464 --- Comment #2 from H.J. Lu --- Created attachment 51159 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51159=edit A patch
[Bug target/101464] Replace zveroupper with vpxor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101464 Hongtao.liu changed: What|Removed |Added CC||crazylht at gmail dot com --- Comment #1 from Hongtao.liu --- >From the implementation perspective, we need to record all usage of sse registers which is AVX_U128_DIRTY and clear them all.