Mercurial > hg > CbC > CbC_gcc
diff gcc/config/h8300/predicates.md @ 63:b7f97abdc517 gcc-4.6-20100522
update gcc from gcc-4.5.0 to gcc-4.6
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 May 2010 12:47:05 +0900 |
parents | a06113de4d67 |
children | f6334be47118 |
line wrap: on
line diff
--- a/gcc/config/h8300/predicates.md Fri Feb 12 23:41:23 2010 +0900 +++ b/gcc/config/h8300/predicates.md Mon May 24 12:47:05 2010 +0900 @@ -326,7 +326,7 @@ { /* We can accept any nonimmediate operand, except that MEM operands must be limited to those that use addresses valid for the 'U' constraint. */ - if (!nonimmediate_operand (op, mode)) + if (!nonimmediate_operand (op, mode) && !OK_FOR_U (op)) return 0; /* H8SX accepts pretty much anything here. */ @@ -356,6 +356,17 @@ && OK_FOR_U (op)); }) +;; Return nonzero if OP is indirect register or constant memory +;; suitable for bit manipulation insns. + +(define_predicate "bit_register_indirect_operand" + (match_code "mem") +{ + return (GET_CODE (op) == MEM + && (GET_CODE (XEXP (op, 0)) == REG + || GET_CODE (XEXP (op, 0)) == CONST_INT)); +}) + ;; Return nonzero if X is a stack pointer. (define_predicate "stack_pointer_operand"