Mercurial > hg > CbC > CbC_gcc
comparison 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 |
comparison
equal
deleted
inserted
replaced
56:3c8a44c06a95 | 63:b7f97abdc517 |
---|---|
324 (define_predicate "bit_operand" | 324 (define_predicate "bit_operand" |
325 (match_code "reg,subreg,mem") | 325 (match_code "reg,subreg,mem") |
326 { | 326 { |
327 /* We can accept any nonimmediate operand, except that MEM operands must | 327 /* We can accept any nonimmediate operand, except that MEM operands must |
328 be limited to those that use addresses valid for the 'U' constraint. */ | 328 be limited to those that use addresses valid for the 'U' constraint. */ |
329 if (!nonimmediate_operand (op, mode)) | 329 if (!nonimmediate_operand (op, mode) && !OK_FOR_U (op)) |
330 return 0; | 330 return 0; |
331 | 331 |
332 /* H8SX accepts pretty much anything here. */ | 332 /* H8SX accepts pretty much anything here. */ |
333 if (TARGET_H8300SX) | 333 if (TARGET_H8300SX) |
334 return 1; | 334 return 1; |
354 { | 354 { |
355 return (GET_CODE (op) == MEM | 355 return (GET_CODE (op) == MEM |
356 && OK_FOR_U (op)); | 356 && OK_FOR_U (op)); |
357 }) | 357 }) |
358 | 358 |
359 ;; Return nonzero if OP is indirect register or constant memory | |
360 ;; suitable for bit manipulation insns. | |
361 | |
362 (define_predicate "bit_register_indirect_operand" | |
363 (match_code "mem") | |
364 { | |
365 return (GET_CODE (op) == MEM | |
366 && (GET_CODE (XEXP (op, 0)) == REG | |
367 || GET_CODE (XEXP (op, 0)) == CONST_INT)); | |
368 }) | |
369 | |
359 ;; Return nonzero if X is a stack pointer. | 370 ;; Return nonzero if X is a stack pointer. |
360 | 371 |
361 (define_predicate "stack_pointer_operand" | 372 (define_predicate "stack_pointer_operand" |
362 (match_code "reg") | 373 (match_code "reg") |
363 { | 374 { |