diff options
author | Nick Clifton <nickc@cygnus.com> | 1999-02-16 09:56:37 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 1999-02-16 09:56:37 +0000 |
commit | d462a870b73d19c262574cb3ae2c7a72b5b93ecf (patch) | |
tree | b89fdd7772419bfb8354ce7e0b923f7598f21c89 | |
parent | e227e48809d12397866374aed93d702a2c1d8ddd (diff) | |
download | gcc-d462a870b73d19c262574cb3ae2c7a72b5b93ecf.zip gcc-d462a870b73d19c262574cb3ae2c7a72b5b93ecf.tar.gz gcc-d462a870b73d19c262574cb3ae2c7a72b5b93ecf.tar.bz2 |
Fix PlumHall failure - encure that bitfield in zero_extract:QI does not
span a byte boundary.
From-SVN: r25237
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.md | 5 |
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b6b1ba2..98e194f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Tue Feb 16 09:52:26 1999 Nick Clifton <nickc@cygnus.com> + + * 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 <cgw@alum.mit.edu> * 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 a207911..b9241c8 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 \"\"; } |