diff options
author | Sa Liu <saliu@gcc.gnu.org> | 2008-05-08 08:39:45 +0000 |
---|---|---|
committer | Sa Liu <saliu@gcc.gnu.org> | 2008-05-08 08:39:45 +0000 |
commit | f51de793f1bba6bbb88b9df65ef2a2d4e608914b (patch) | |
tree | ff92c3b2fa3b78f6f88024019287119fc637faab /gcc | |
parent | 1b674de05347bf855c4e06656cd8276715ee0092 (diff) | |
download | gcc-f51de793f1bba6bbb88b9df65ef2a2d4e608914b.zip gcc-f51de793f1bba6bbb88b9df65ef2a2d4e608914b.tar.gz gcc-f51de793f1bba6bbb88b9df65ef2a2d4e608914b.tar.bz2 |
fixed subti3 pattern
From-SVN: r135073
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/spu/spu.md | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/gcc/config/spu/spu.md b/gcc/config/spu/spu.md index 1485460..e98fcf3 100644 --- a/gcc/config/spu/spu.md +++ b/gcc/config/spu/spu.md @@ -1047,19 +1047,25 @@ (match_operand:TI 2 "spu_reg_operand" "r"))) (clobber (match_scratch:TI 3 "=&r")) (clobber (match_scratch:TI 4 "=&r")) - (clobber (match_scratch:TI 5 "=&r"))] + (clobber (match_scratch:TI 5 "=&r")) + (clobber (match_scratch:TI 6 "=&r"))] "" - "bg\t%3,%1,%2\n\\ + "il\t%6,1\n\\ + bg\t%3,%2,%1\n\\ + xor\t%3,%3,%6\n\\ sf\t%4,%2,%1\n\\ shlqbyi\t%5,%3,4\n\\ - bg\t%3,%4,%5\n\\ + bg\t%3,%5,%4\n\\ + xor\t%3,%3,%6\n\\ sf\t%4,%5,%4\n\\ shlqbyi\t%5,%3,4\n\\ - bg\t%3,%4,%5\n\\ - shlqbyi\t%0,%3,4\n\\ - sfx\t%0,%5,%4" + bg\t%3,%5,%4\n\\ + xor\t%3,%3,%6\n\\ + sf\t%4,%5,%4\n\\ + shlqbyi\t%5,%3,4\n\\ + sf\t%0,%5,%4" [(set_attr "type" "multi0") - (set_attr "length" "36")]) + (set_attr "length" "56")]) (define_insn "sub<mode>3" [(set (match_operand:VSF 0 "spu_reg_operand" "=r") |