This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
general_operand() not accepting CONCAT?
- From: Rask Ingemann Lambertsen <rask at sygehus dot dk>
- To: gcc at gcc dot gnu dot org
- Date: Wed, 25 Apr 2007 13:51:34 +0200
- Subject: general_operand() not accepting CONCAT?
I just got
/home/rask/cvssrc/gcc/gcc/testsuite/gcc.c-torture/compile/complex-3.c:17:
error: unrecognizable insn:
(insn 69 67 70 5 (set (mem:SC (pre_dec:HI (reg/f:HI 12 sp)) [0 S8 A8])
(concat:SC (reg:SF 36)
(reg:SF 37))) -1 (nil)
(nil))
which I thought I'd covered with
(define_mode_macro GT16 [SI DI TI SF DF XF SC DC XC SD DD TD CHI CSI CDI
CTI])
(define_insn_and_split "*push<mode>1"
[(set (mem:GT16 (pre_dec:HI (reg:HI SP_REG)))
(match_operand:GT16 0 "general_operand" "RmIpu"))]
"TARGET_PUSH_IMM || !CONSTANT_P (operands[0])"
"#"
"reload_completed"
...
but looking at recog.c, sure enough: general_operand() doesn't accept the
(concat ...) construct. Is that intentional?
--
Rask Ingemann Lambertsen