PR middle-end/50161 * simplify-rtx.c (simplify_const_unary_operation): If op is CONST_INT, don't look at op_mode, but use instead mode. * optabs.c (add_equal_note): For FFS, CLZ, CTZ, CLRSB, POPCOUNT, PARITY and BSWAP use operand mode for operation and TRUNCATE/ZERO_EXTEND if needed. * doc/rtl.texi (ffs, clrsb, clz, ctz, popcount, parity, bswap): Document that operand mode must be same as operation mode, or VOIDmode. * config/avr/avr.md (paritysi2, *parityqihi2.libgcc, *paritysihi2.libgcc, popcountsi2, *popcountsi2.libgcc, *popcountqihi2.libgcc, clzsi2, *clzsihi2.libgcc, ctzsi2, *ctzsihi2.libgcc, ffssi2, *ffssihi2.libgcc): For unary ops use the mode of operand for the operation and add truncate or zero_extend around if needed. * config/c6x/c6x.md (ctzdi2): Likewise. * config/bfin/bfin.md (clrsbsi2, signbitssi2): Likewise. * gcc.dg/pr50161.c: New test. From-SVN: r177991
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
c6x-isas.def | Loading commit data... | |
c6x-modes.def | Loading commit data... | |
c6x-mult.md | Loading commit data... | |
c6x-mult.md.in | Loading commit data... | |
c6x-opts.h | Loading commit data... | |
c6x-protos.h | Loading commit data... | |
c6x-sched.md | Loading commit data... | |
c6x-sched.md.in | Loading commit data... | |
c6x-tables.opt | Loading commit data... | |
c6x.c | Loading commit data... | |
c6x.h | Loading commit data... | |
c6x.md | Loading commit data... | |
c6x.opt | Loading commit data... | |
c6x_intrinsics.h | Loading commit data... | |
constraints.md | Loading commit data... | |
crti.s | Loading commit data... | |
crtn.s | Loading commit data... | |
elf-common.h | Loading commit data... | |
elf.h | Loading commit data... | |
eqd.c | Loading commit data... | |
eqf.c | Loading commit data... | |
ged.c | Loading commit data... | |
gef.c | Loading commit data... | |
genmult.sh | Loading commit data... | |
genopt.sh | Loading commit data... | |
gensched.sh | Loading commit data... | |
gtd.c | Loading commit data... | |
gtf.c | Loading commit data... | |
led.c | Loading commit data... | |
lef.c | Loading commit data... | |
lib1funcs.asm | Loading commit data... | |
libgcc-c6xeabi.ver | Loading commit data... | |
ltd.c | Loading commit data... | |
ltf.c | Loading commit data... | |
predicates.md | Loading commit data... | |
sync.md | Loading commit data... | |
t-c6x | Loading commit data... | |
t-c6x-elf | Loading commit data... | |
t-c6x-uclinux | Loading commit data... | |
uclinux-elf.h | Loading commit data... |