diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1993-03-29 14:39:25 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1993-03-29 14:39:25 -0800 |
commit | 6559c3f4f6d034adfccbc7ac871455cf18f6d709 (patch) | |
tree | ceb7fef5c8e0313278a585f1a46c40c2eb0370b0 /gcc/config/sparc | |
parent | 563465600f687174e56efd0cbbb600eebe11980a (diff) | |
download | gcc-6559c3f4f6d034adfccbc7ac871455cf18f6d709.zip gcc-6559c3f4f6d034adfccbc7ac871455cf18f6d709.tar.gz gcc-6559c3f4f6d034adfccbc7ac871455cf18f6d709.tar.bz2 |
(movsi+2): Add f/f constraint case.
From-SVN: r3919
Diffstat (limited to 'gcc/config/sparc')
-rw-r--r-- | gcc/config/sparc/sparc.md | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index 87d1a2e..e781e13 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -806,20 +806,21 @@ ;; in an fp register, or an fp number is an integer register. (define_insn "" - [(set (match_operand:SI 0 "reg_or_nonsymb_mem_operand" "=r,r,r,f,Q,Q") - (match_operand:SI 1 "move_operand" "rI,K,Q,!Q,rJ,!f"))] + [(set (match_operand:SI 0 "reg_or_nonsymb_mem_operand" "=r,f,r,r,f,Q,Q") + (match_operand:SI 1 "move_operand" "rI,!f,K,Q,!Q,rJ,!f"))] "register_operand (operands[0], SImode) || register_operand (operands[1], SImode) || operands[1] == const0_rtx" "@ mov %1,%0 + fmovs %1,%0 sethi %%hi(%a1),%0 ld %1,%0 ld %1,%0 st %r1,%0 st %r1,%0" - [(set_attr "type" "move,move,load,load,store,store") - (set_attr "length" "*,1,*,*,*,*")]) + [(set_attr "type" "move,fp,move,load,load,store,store") + (set_attr "length" "*,*,1,*,*,*,*")]) ;; Special pic pattern, for loading the address of a label into a register. ;; It clobbers o7 because the call puts the return address (i.e. pc value) |