[Bug target/100704] Vector register isn't used to push BLKmode argument onto stack
hjl.tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sun May 23 12:48:54 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100704
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Keywords| |patch
Target Milestone|--- |12.0
Ever confirmed|0 |1
Last reconfirmed| |2021-05-23
URL| |https://gcc.gnu.org/piperma
| |il/gcc-patches/2021-May/571
| |027.html
--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> ---
Here is a micro benchmark of push vs vector load/store:
https://gitlab.com/x86-benchmarks/microbenchmark/-/tree/push
[hjl@gnu-cfl-2 microbenchmark]$ make
gcc -g -I. -O2 -c -o test.o test.c
gcc -g -I. -O2 -c -o push.o push.c
/usr/gcc-12.0.0-x32-push/bin/gcc -g -I. -O2 -Dmove=move128 -mno-push-args -c -o
move128.o move.c
/usr/gcc-12.0.0-x32-push/bin/gcc -g -I. -O2 -Dmove=move256 -mavx2
-mno-push-args -c -o move256.o move.c
gcc -o test test.o push.o move128.o move256.o
./test
push : 213630
move128: 174842
move256: 155407
[hjl@gnu-cfl-2 microbenchmark]$
push is slower than vector load/store.
A patch is posted at
https://gcc.gnu.org/pipermail/gcc-patches/2021-May/571027.html
More information about the Gcc-bugs
mailing list