c4x.md (storeqf_int, [...]): Add new patterns with corresponding splitters to handle...
authorMichael Hayes <m.hayes@elec.canterbury.ac.nz>
Tue, 13 Apr 1999 15:38:12 +0000 (15:38 +0000)
committerMichael Hayes <m.hayes@gcc.gnu.org>
Tue, 13 Apr 1999 15:38:12 +0000 (15:38 +0000)
commitebcc44f4ad40870b4cf551647ece950cab07793b
tree46bc5e9d9ecbefeba698d9d586f3ecb44872eeec
parentb985a30f322f6e5d744e1b70a6d83e238543d652
c4x.md (storeqf_int, [...]): Add new patterns with corresponding splitters to handle moves of floating point...

* config/c4x/c4x.md (storeqf_int, storeqf_int_clobber, loadqf_int,
  loadqf_int_clobber): Add new patterns with corresponding splitters
  to handle moves of floating point values into and out of intager
  registers by using memory.
* config/c4x/c4x.c (c4x_check_legit_addr): Disallow PRE_INC for modes
other than QFmode and QImode.
(mixed_subreg_operand): New function.
(c4x_emit_move_sequence): If moving a floating point value into or
out of an integer register, use the new patterns storeqf_int_clobber
or loadqf_int_clobber.
(reg_imm_operand, *_reg_operand): Call reg_operand instead of
register_operand.
(reg_operand, src_operand): Disallow operand if it satisifes
mixed_subreg_operand.
* config/c4x/c4x.h (mixed_subreg_operand): Add prototype.

From-SVN: r26413
gcc/ChangeLog
gcc/config/c4x/c4x.c
gcc/config/c4x/c4x.h
gcc/config/c4x/c4x.md