From: Nick Clifton Date: Tue, 16 Feb 1999 09:56:37 +0000 (+0000) Subject: Fix PlumHall failure - encure that bitfield in zero_extract:QI does not X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d462a870b73d19c262574cb3ae2c7a72b5b93ecf;p=gcc.git Fix PlumHall failure - encure that bitfield in zero_extract:QI does not span a byte boundary. From-SVN: r25237 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b6b1ba2aae2..98e194f9428 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Tue Feb 16 09:52:26 1999 Nick Clifton + + * config/arm/arm.md (zeroextractqi_compare0_scratch): Ensure that + bitfield doe snot overflow a byte boundary. + Tue Feb 16 01:37:33 1999 Charles G Waldman * c-common.c (shorten_compare): Get the min/max value from the diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index a2079118d1a..b9241c8432e 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -1214,8 +1214,8 @@ (match_operand 2 "const_int_operand" "n")) (const_int 0))) (clobber (match_scratch:QI 3 "=r"))] - "INTVAL (operands[2]) >= 0 && INTVAL (operands[2]) < 8 - && INTVAL (operands[1]) > 0 && INTVAL (operands[1]) <= 8" + "INTVAL (operands[2]) >= 0 && INTVAL (operands[1]) > 0 && + ((INTVAL (operands[1]) + INTVAL (operands[2])) <= 8)" "* { unsigned int mask = 0; @@ -1224,7 +1224,6 @@ while (cnt--) mask = (mask << 1) | 1; operands[1] = GEN_INT (mask << INTVAL (operands[2])); - output_asm_insn (\"ldr%?b\\t%3, %0\", operands); output_asm_insn (\"tst%?\\t%3, %1\", operands); return \"\"; }