Thanks for your quick feedback. I'll update the comments regarding possible future enhancement to support QImode for operands[1] as well.
Regarding the two test cases that are missing the scan-assembler directive (byte-in-set-1.c and byte-in-set-2.c), those tests are both expected to fail. They are checking that the compiler rejects those programs with appropriate error messages. On 12/13/2016 03:14 PM, Segher Boessenkool wrote: > 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 > > -- Kelvin Nilsen, Ph.D. kdnil...@linux.vnet.ibm.com home office: 801-756-4821, cell: 520-991-6727 IBM Linux Technology Center - PPC Toolchain