[Bug target/105782] New: [sparc64] Emission of questionable movxtod/movdtox with -mvis3
koachan+gccbugs at protonmail dot com
gcc-bugzilla@gcc.gnu.org
Mon May 30 23:22:51 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105782
Bug ID: 105782
Summary: [sparc64] Emission of questionable movxtod/movdtox
with -mvis3
Product: gcc
Version: 12.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: koachan+gccbugs at protonmail dot com
Target Milestone: ---
Created attachment 53055
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53055&action=edit
The problematic function, adapted for standalone compilation
Hello, I found out that the blake2b implementation in monocypher runs much
slower on a SPARC T4 when compiled with `-O3 -mvis3`, as opposed to plain
`-O3`:
With plain -O3: Blake2b : 184 megabytes per second
With -O3 -mvis3: Blake2b : 118 megabytes per second
(Results are from monocypher's `make speed` benchmark)
Looking at the generated assembly, it seems that when the code is compiled with
-mvis3, GCC emits a lot of questionable `movxtod`/`movdtox` instructions?
I'm using sparc64-linux-gnu-gcc (GCC) 12.1.0.
More information about the Gcc-bugs
mailing list