aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1994-10-31 10:24:39 -0800
committerJim Wilson <wilson@gcc.gnu.org>1994-10-31 10:24:39 -0800
commitc2e39c12c3ed3b0dd594d2827b245082169643b2 (patch)
treebb03fd9b91f967fdada7ae2eafe6a57a28243f94
parent2d444001636edc9408e8e847585dc6a9ef1e279b (diff)
downloadgcc-c2e39c12c3ed3b0dd594d2827b245082169643b2.zip
gcc-c2e39c12c3ed3b0dd594d2827b245082169643b2.tar.gz
gcc-c2e39c12c3ed3b0dd594d2827b245082169643b2.tar.bz2
(movtf+3): Disable pattern.
From-SVN: r8370
-rw-r--r--gcc/config/sparc/sparc.md5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 8440955..ebdc06f 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -2163,11 +2163,14 @@
[(set_attr "type" "move,store,load")
(set_attr "length" "4,5,5")])
+;; This is disabled because it does not work. Long doubles have only 8
+;; byte alignment. Adding an offset of 8 or 12 to an 8 byte aligned %lo may
+;; cause it to overflow. See also GO_IF_LEGITIMATE_ADDRESS.
(define_insn ""
[(set (mem:TF (match_operand:SI 0 "symbolic_operand" "i,i"))
(match_operand:TF 1 "reg_or_0_operand" "re,G"))
(clobber (match_scratch:SI 2 "=&r,&r"))]
- "(reload_completed || reload_in_progress) && ! TARGET_PTR64"
+ "0 && (reload_completed || reload_in_progress) && ! TARGET_PTR64"
"*
{
output_asm_insn (\"sethi %%hi(%a0),%2\", operands);