Hi Eric,
On 6 July 2015 at 17:46, Ramana Radhakrishnan <ramana.radhakrish...@foss.arm.com> wrote: > > > On 18/06/15 20:02, Eric Botcazou wrote: >>> Please mark this pattern with (set_attr "type" "multiple"). >> >> Done. >> >>> While I suspect that stack probing is done before any insns with invalid >>> constants in the function, it would be better to model the length of >>> this insn so that the minipool logic is not confused later in terms of >>> placement of constant pools. >> >> OK, I can put an upper bound. >> >>> Shouldn't the pattern contain clobbers for the CC register or is that >>> unnecessary for the same reason as above ? >> >> That's unnecessary, UNSPEC_VOLATILEs are optimization barriers so no CC- >> related instructions can be moved up to before the instruction. >> >>> Additionally please add >>> >>> (set_attr "conds" "clob") >>> >>> to this pattern so that the CCFSM state machine doesn't go awry in any >>> of these cases. >> >> Also done. >> > > Thanks - I have no further comments on this patch. We probably need to > implement the same on AArch64 too in order to avoid similar problems. > > > OK with the afore mentioned changes. > > regards > Ramana On targets using thumb1, I can see: - the new test failing (you should probably add a dg-skip or an effective-target directive) - gcc.dg/pr48134.c now fails, saying: sorry, unimplemented: -fstack-check=specific for THUMB1 while the error message is the same as for your new test, I'm wondering why/how it actually passed before your patch? Christophe.