aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/gnu/java
diff options
context:
space:
mode:
authorTakayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>2025-08-29 19:55:06 +0900
committerMax Filippov <jcmvbkbc@gmail.com>2025-08-29 10:54:32 -0700
commitba9d4b3ce59432f3e7cef5c650b088a12e7ff877 (patch)
treefd1a70c2610cec2bc418645decc6078b0e589969 /libjava/classpath/gnu/java
parent25bbc0f20a25a1db59baaf36d119ce274968747f (diff)
downloadgcc-ba9d4b3ce59432f3e7cef5c650b088a12e7ff877.zip
gcc-ba9d4b3ce59432f3e7cef5c650b088a12e7ff877.tar.gz
gcc-ba9d4b3ce59432f3e7cef5c650b088a12e7ff877.tar.bz2
xtensa: Rewrite bswapsi2_internal with compact syntax
Also, the omission of the instruction that sets the shift amount register (SAR) to 8 is now more efficient: it is omitted if there was a previous bswapsi2 in the same BB, but not omitted if no bswapsi2 is found or another insn that modifies SAR is found first (see below). Note that the five instructions for writing to SAR are as follows, along with the insns that use them (except for bswapsi2_internal itself): - SSA8B *shift_per_byte, *shlrd_per_byte - SSA8L *shift_per_byte, *shlrd_per_byte - SSR ashrsi3 (alt 1), lshrsi3 (alt 1), *shlrd_reg, rotrsi3 (alt 1) - SSL ashlsi3_internal (alt 1), *shlrd_reg, rotlsi3 (alt 1) - SSAI *shlrd_const, rotlsi3 (alt 0), rotrsi3 (alt 0) gcc/ChangeLog: * config/xtensa/xtensa-protos.h (xtensa_bswapsi2_output): New function prototype. * config/xtensa/xtensa.cc (xtensa_bswapsi2_output_1, xtensa_bswapsi2_output): New functions. * config/xtensa/xtensa.md (bswapsi2_internal): Rewrite in compact syntax and use xtensa_bswapsi2_output() as asm output. gcc/testsuite/ChangeLog: * gcc.target/xtensa/bswap-SSAI8.c: New.
Diffstat (limited to 'libjava/classpath/gnu/java')
0 files changed, 0 insertions, 0 deletions