gcc/gcc/config/rs6000
Aaron Sawdey 3095f65123 re PR target/79170 (memcmp builtin expansion sequence can overflow)
2017-01-27  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

	PR target/79170
	* gcc.dg/memcmp-1.c: Improved to catch failures seen in PR 79170.

2017-01-27  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

	PR target/79170
	* config/rs6000/altivec.md (*setb_internal): Rename to setb_signed.
	(setb_unsigned) New pattern for setb with CCUNS.
	* config/rs6000/rs6000.c (expand_block_compare): Use a different
	subfc./subfe sequence to avoid overflow problems.  Generate a
	shorter sequence with cmpld/setb for power9.
	* config/rs6000/rs6000.md (subf<mode>3_carry_dot2): Add a new pattern
	for generating subfc. instruction.
	(cmpstrsi): Add TARGET_POPCNTD predicate as the generate sequence
	now uses this instruction.

From-SVN: r245041
2017-01-30 17:24:24 -06:00
..
6xx.md Update copyright years. 2017-01-01 13:07:43 +01:00
7xx.md Update copyright years. 2017-01-01 13:07:43 +01:00
40x.md Update copyright years. 2017-01-01 13:07:43 +01:00
440.md Update copyright years. 2017-01-01 13:07:43 +01:00
476.h Update copyright years. 2017-01-01 13:07:43 +01:00
476.md Update copyright years. 2017-01-01 13:07:43 +01:00
476.opt Update copyright years. 2017-01-01 13:07:43 +01:00
601.md Update copyright years. 2017-01-01 13:07:43 +01:00
603.md Update copyright years. 2017-01-01 13:07:43 +01:00
750cl.h Update copyright years. 2017-01-01 13:07:43 +01:00
7450.md Update copyright years. 2017-01-01 13:07:43 +01:00
8540.md Update copyright years. 2017-01-01 13:07:43 +01:00
a2.md Update copyright years. 2017-01-01 13:07:43 +01:00
aix-stdint.h Update copyright years. 2017-01-01 13:07:43 +01:00
aix.h Update copyright years. 2017-01-01 13:07:43 +01:00
aix43.h Update copyright years. 2017-01-01 13:07:43 +01:00
aix51.h Update copyright years. 2017-01-01 13:07:43 +01:00
aix52.h Update copyright years. 2017-01-01 13:07:43 +01:00
aix53.h Update copyright years. 2017-01-01 13:07:43 +01:00
aix61.h Update copyright years. 2017-01-01 13:07:43 +01:00
aix64.opt Update copyright years. 2017-01-01 13:07:43 +01:00
aix71.h Update copyright years. 2017-01-01 13:07:43 +01:00
altivec.h re PR target/79268 (Wrong code generation for vec_xl and vec_xst intrinsics) 2017-01-30 03:32:59 +00:00
altivec.md re PR target/79170 (memcmp builtin expansion sequence can overflow) 2017-01-30 17:24:24 -06:00
biarch64.h Update copyright years. 2017-01-01 13:07:43 +01:00
cell.md Update copyright years. 2017-01-01 13:07:43 +01:00
constraints.md Update copyright years. 2017-01-01 13:07:43 +01:00
crypto.md Update copyright years. 2017-01-01 13:07:43 +01:00
darwin.h Update copyright years. 2017-01-01 13:07:43 +01:00
darwin.md Update copyright years. 2017-01-01 13:07:43 +01:00
darwin.opt Update copyright years. 2017-01-01 13:07:43 +01:00
darwin7.h Update copyright years. 2017-01-01 13:07:43 +01:00
darwin8.h Update copyright years. 2017-01-01 13:07:43 +01:00
darwin64.h Update copyright years. 2017-01-01 13:07:43 +01:00
default64.h Update copyright years. 2017-01-01 13:07:43 +01:00
dfp.md Update copyright years. 2017-01-01 13:07:43 +01:00
driver-rs6000.c Update copyright years. 2017-01-01 13:07:43 +01:00
e300c2c3.md Update copyright years. 2017-01-01 13:07:43 +01:00
e500.h Update copyright years. 2017-01-01 13:07:43 +01:00
e500mc.md Update copyright years. 2017-01-01 13:07:43 +01:00
e500mc64.md Update copyright years. 2017-01-01 13:07:43 +01:00
e5500.md Update copyright years. 2017-01-01 13:07:43 +01:00
e6500.md Update copyright years. 2017-01-01 13:07:43 +01:00
eabi.h Update copyright years. 2017-01-01 13:07:43 +01:00
eabialtivec.h Update copyright years. 2017-01-01 13:07:43 +01:00
eabisim.h Update copyright years. 2017-01-01 13:07:43 +01:00
eabispe.h Update copyright years. 2017-01-01 13:07:43 +01:00
freebsd.h Update copyright years. 2017-01-01 13:07:43 +01:00
freebsd64.h Update copyright years. 2017-01-01 13:07:43 +01:00
genopt.sh Update copyright years. 2017-01-01 13:07:43 +01:00
host-darwin.c Update copyright years. 2017-01-01 13:07:43 +01:00
host-ppc64-darwin.c Update copyright years. 2017-01-01 13:07:43 +01:00
htm.md Update copyright years. 2017-01-01 13:07:43 +01:00
htmintrin.h Update copyright years. 2017-01-01 13:07:43 +01:00
htmxlintrin.h Update copyright years. 2017-01-01 13:07:43 +01:00
linux.h Update copyright years. 2017-01-01 13:07:43 +01:00
linux64.h Update copyright years. 2017-01-01 13:07:43 +01:00
linux64.opt Update copyright years. 2017-01-01 13:07:43 +01:00
linuxaltivec.h Update copyright years. 2017-01-01 13:07:43 +01:00
linuxspe.h Update copyright years. 2017-01-01 13:07:43 +01:00
lynx.h Update copyright years. 2017-01-01 13:07:43 +01:00
milli.exp
mpc.md Update copyright years. 2017-01-01 13:07:43 +01:00
netbsd.h Update copyright years. 2017-01-01 13:07:43 +01:00
option-defaults.h Update copyright years. 2017-01-01 13:07:43 +01:00
paired.h Update copyright years. 2017-01-01 13:07:43 +01:00
paired.md Update copyright years. 2017-01-01 13:07:43 +01:00
power4.md Update copyright years. 2017-01-01 13:07:43 +01:00
power5.md Update copyright years. 2017-01-01 13:07:43 +01:00
power6.md Update copyright years. 2017-01-01 13:07:43 +01:00
power7.md Update copyright years. 2017-01-01 13:07:43 +01:00
power8.md Update copyright years. 2017-01-01 13:07:43 +01:00
power9.md power9.md (power9-alu): Remove 'cmp' type and add define_bypass for CR latency. 2017-01-19 17:11:34 +00:00
ppc-asm.h Update copyright years. 2017-01-01 13:07:43 +01:00
ppc-auxv.h Update copyright years. 2017-01-01 13:07:43 +01:00
ppu_intrinsics.h Update copyright years. 2017-01-01 13:07:43 +01:00
predicates.md re PR target/71977 (powerpc64: Use VSR when operating on float and integer) 2017-01-05 00:43:53 +00:00
rs64.md Update copyright years. 2017-01-01 13:07:43 +01:00
rs6000-builtin.def scalar-insert-exp-3.c: New test. 2017-01-23 21:56:58 +00:00
rs6000-c.c rs6000-c (altivec_overloaded_builtins): Remove bogus entries for the P8V_BUILTIN_VEC_VGBBD built-ins 2017-01-26 17:39:38 +00:00
rs6000-cpus.def rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Enable -mpower9-minmax by default for -mcpu=power9. 2017-01-19 23:31:20 +00:00
rs6000-linux.c Update copyright years. 2017-01-01 13:07:43 +01:00
rs6000-modes.def Update copyright years. 2017-01-01 13:07:43 +01:00
rs6000-opts.h -mstack-protector-guard and friends (PR78875) 2017-01-17 23:02:42 +01:00
rs6000-passes.def Update copyright years. 2017-01-01 13:07:43 +01:00
rs6000-protos.h rs6000-protos.h (expand_strn_compare): Add arg. 2017-01-18 14:56:16 -06:00
rs6000-tables.opt Update copyright years. 2017-01-01 13:07:43 +01:00
rs6000.c re PR target/79170 (memcmp builtin expansion sequence can overflow) 2017-01-30 17:24:24 -06:00
rs6000.h re PR target/71977 (powerpc64: Use VSR when operating on float and integer) 2017-01-05 00:43:53 +00:00
rs6000.md re PR target/79170 (memcmp builtin expansion sequence can overflow) 2017-01-30 17:24:24 -06:00
rs6000.opt -mstack-protector-guard and friends (PR78875) 2017-01-17 23:02:42 +01:00
rtems.h Update copyright years. 2017-01-01 13:07:43 +01:00
secureplt.h Update copyright years. 2017-01-01 13:07:43 +01:00
si2vmx.h Update copyright years. 2017-01-01 13:07:43 +01:00
singlefp.h Update copyright years. 2017-01-01 13:07:43 +01:00
spe.h Update copyright years. 2017-01-01 13:07:43 +01:00
spe.md re PR target/78516 (ICE in lra_assign for e500v2) 2017-01-18 20:23:35 -06:00
spu2vmx.h Update copyright years. 2017-01-01 13:07:43 +01:00
sync.md Update copyright years. 2017-01-01 13:07:43 +01:00
sysv4.h Update copyright years. 2017-01-01 13:07:43 +01:00
sysv4.opt Update copyright years. 2017-01-01 13:07:43 +01:00
sysv4le.h Update copyright years. 2017-01-01 13:07:43 +01:00
t-aix43 Update copyright years. 2017-01-01 13:07:43 +01:00
t-aix52 Update copyright years. 2017-01-01 13:07:43 +01:00
t-darwin8
t-darwin64
t-fprules Update copyright years. 2017-01-01 13:07:43 +01:00
t-freebsd64 Update copyright years. 2017-01-01 13:07:43 +01:00
t-linux
t-linux64 Update copyright years. 2017-01-01 13:07:43 +01:00
t-linux64bele
t-linux64le
t-linux64lebe
t-lynx Update copyright years. 2017-01-01 13:07:43 +01:00
t-netbsd Update copyright years. 2017-01-01 13:07:43 +01:00
t-ppccomm Update copyright years. 2017-01-01 13:07:43 +01:00
t-ppcendian Update copyright years. 2017-01-01 13:07:43 +01:00
t-ppcgas Update copyright years. 2017-01-01 13:07:43 +01:00
t-ppcos
t-rs6000 Update copyright years. 2017-01-01 13:07:43 +01:00
t-rtems Update copyright years. 2017-01-01 13:07:43 +01:00
t-spe Update copyright years. 2017-01-01 13:07:43 +01:00
t-vxworks Update copyright years. 2017-01-01 13:07:43 +01:00
t-vxworksae
t-vxworksmils
t-xilinx Update copyright years. 2017-01-01 13:07:43 +01:00
titan.md Update copyright years. 2017-01-01 13:07:43 +01:00
vec_types.h Update copyright years. 2017-01-01 13:07:43 +01:00
vector.md Update copyright years. 2017-01-01 13:07:43 +01:00
vsx.md re PR target/79179 (PowerPC64: -mcpu=power9 creates stxsd with bad offset) 2017-01-26 04:16:11 +00:00
vxworks.h Update copyright years. 2017-01-01 13:07:43 +01:00
vxworksae.h Update copyright years. 2017-01-01 13:07:43 +01:00
vxworksmils.h Update copyright years. 2017-01-01 13:07:43 +01:00
x-aix
x-darwin
x-darwin64
x-linux-relax
x-rs6000
xcoff.h Update copyright years. 2017-01-01 13:07:43 +01:00
xfpu.h Update copyright years. 2017-01-01 13:07:43 +01:00
xfpu.md Update copyright years. 2017-01-01 13:07:43 +01:00
xilinx.h Update copyright years. 2017-01-01 13:07:43 +01:00
xilinx.opt Update copyright years. 2017-01-01 13:07:43 +01:00