aboutsummaryrefslogtreecommitdiff
path: root/gcc/lra.c
diff options
context:
space:
mode:
authorJim Wilson <jimw@sifive.com>2017-11-29 22:14:17 +0000
committerJim Wilson <wilson@gcc.gnu.org>2017-11-29 14:14:17 -0800
commit08539f3e949c37dcfe6e128d78c527db47cc609d (patch)
tree22848e6d4ce568310ad8c46274537a4ecda6728e /gcc/lra.c
parent591996bad79b7b109bb01fba69b1c7acc054e287 (diff)
downloadgcc-08539f3e949c37dcfe6e128d78c527db47cc609d.zip
gcc-08539f3e949c37dcfe6e128d78c527db47cc609d.tar.gz
gcc-08539f3e949c37dcfe6e128d78c527db47cc609d.tar.bz2
Riscv patterns to optimize away some redundant zero/sign extends.
gcc/ * config/riscv/riscv.c (SINGLE_SHIFT_COST): New. (riscv_rtx_costs): Case ZERO_EXTRACT, match new pattern, and return SINGLE_SHIFT_COST. Case LT and ZERO_EXTEND, likewise. Case ASHIFT, use SINGLE_SHIFT_COST. * config/riscv/riscv.md (lshrsi3_zero_extend_1): New. (lshrsi3_zero_extend_2, lshrsi3_zero_extend_3): New. gcc/testsuite/ * gcc.target/riscv/riscv.exp: New. * gcc.target/riscv/zero-extend-1.c: New. * gcc.target/riscv/zero-extend-2.c: New. * gcc.target/riscv/zero-extend-3.c: New. * gcc.target/riscv/zero-extend-4.c: New. Co-Authored-By: Andrew Waterman <andrew@sifive.com> From-SVN: r255257
Diffstat (limited to 'gcc/lra.c')
0 files changed, 0 insertions, 0 deletions