Hi Kelvin, On Mon, Dec 12, 2016 at 05:40:05PM -0700, Kelvin Nilsen wrote: > The patch has been bootstrapped and tested on > powerpc64le-unknown-linux and powerpc-unknown-linux (big-endian, with > both -m32 and -m64 target options) with no regressions. > > Is this ok for the trunk?
Yes it is, much better, thanks! Two comments below, please fix the testcase one before commit if it is indeed a problem: > +;; Though the instructions to which this expansion maps operate on > +;; 64-bit registers, the current implementation only operates on > +;; SI-mode operands as the high-order bits provide no information > +;; that is not already available in the low-order bits. To avoid the > +;; costs of data widening operations, a future enhancement might add > +;; support for DI-mode operands. And operands[1] could be QImode. > +(define_expand "cmprb" > + [(set (match_dup 3) > + (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") > + (match_operand:SI 2 "gpc_reg_operand" "r")] > + UNSPEC_CMPRB)) > --- gcc/testsuite/gcc.target/powerpc/byte-in-set-1.c (revision 0) > +++ gcc/testsuite/gcc.target/powerpc/byte-in-set-1.c (working copy) Did you forget the scan-assembler here and in the next one, or do you only want to test it does indeed compile? Segher