Hi Graham, On Mon, 2017-06-12 11:40:39 +0200, Jan-Benedict Glaw <jbg...@lug-owl.de> wrote: > On Fri, 2017-05-12 20:14:23 +0100, Graham Markall > <graham.mark...@embecosm.com> wrote: > > Since the combine pass canonicalises shift-add insns using plus and > > ashift (as opposed to plus and mult which it previously used to do), it > > no longer creates *add_n or *sub_n insns, as the patterns match plus and > > mult only. The outcome of this is that some opportunities to generate > > add{1,2,3} and sub{1,2,3} instructions are missed. > > [...] > > diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c > > index 91c28e7..42730d5 100644 > > --- a/gcc/config/arc/arc.c > > +++ b/gcc/config/arc/arc.c > > @@ -3483,6 +3483,14 @@ arc_print_operand (FILE *file, rtx x, int code) > > > > return; > > > > + case 'c': > > + if (GET_CODE (x) == CONST_INT) > > + fprintf (file, "%d", INTVAL (x) ); > > + else > > + output_operand_lossage ("invalid operands to %%c code"); > > + > > + return; > > + > > > Build robot found something (see log at > http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=704773), > seems to be introduced with the above patch fragment: > > g++ -fno-PIE -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE > -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall > -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute > -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros > -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. > -I/home/jbglaw/repos-configlist_mk/gcc/gcc > -I/home/jbglaw/repos-configlist_mk/gcc/gcc/. > -I/home/jbglaw/repos-configlist_mk/gcc/gcc/../include > -I/home/jbglaw/repos-configlist_mk/gcc/gcc/../libcpp/include > -I/opt/cfarm/mpc/include > -I/home/jbglaw/repos-configlist_mk/gcc/gcc/../libdecnumber > -I/home/jbglaw/repos-configlist_mk/gcc/gcc/../libdecnumber/dpd > -I../libdecnumber -I/home/jbglaw/repos-configlist_mk/gcc/gcc/../libbacktrace > -o arc.o -MT arc.o -MMD -MP -MF ./.deps/arc.TPo > /home/jbglaw/repos-configlist_mk/gcc/gcc/config/arc/arc.c > /home/jbglaw/repos-configlist_mk/gcc/gcc/config/arc/arc.c: In function ‘void > arc_print_operand(FILE*, rtx, int)’: > /home/jbglaw/repos-configlist_mk/gcc/gcc/config/arc/arc.c:3503:41: error: > format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long > int’ [-Werror=format=] > fprintf (file, "%d", INTVAL (x) ); > ^ > cc1plus: all warnings being treated as errors
This still doesn't build, see the two most current builds at http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=705416 (arc-elf32, --with-cpu=arc600) and http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=705415 (arceb-linux-uclibc, --with-cpu=arc700). MfG, JBG -- Jan-Benedict Glaw jbg...@lug-owl.de +49-172-7608481 Signature of: The course of history shows that as a government grows, liberty the second : decreases." (Thomas Jefferson)
signature.asc
Description: Digital signature