i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not standard 387 constants.
authorJeffrey A Law <law@cygnus.com>
Thu, 19 Nov 1998 19:27:26 +0000 (19:27 +0000)
committerJeff Law <law@gcc.gnu.org>
Thu, 19 Nov 1998 19:27:26 +0000 (12:27 -0700)
        * i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
        standard 387 constants.

From-SVN: r23721

gcc/ChangeLog
gcc/config/i386/i386.h

index ed9dcc770cd50f782b76a2f56e83be342ab2b835..a6b9b8469836cf6121de1efaaaf772b86f1ddb8e 100644 (file)
@@ -5,6 +5,9 @@ Thu Nov 19 19:05:49 1998  Per Bothner  <bothner@cygnus.com>
 
 Thu Nov 19 19:34:13 1998  Jeffrey A Law  (law@cygnus.com)
 
+       * i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
+       standard 387 constants.
+
        * i386.md (jump): Explicitly set "memory" attribute.
        (indirect_jump, prologue_set_stack_ptr): Likewise.
        (prologue_get_pc_and_set_got, pop): Likewise.
index cf890c8c6e2228eea7d23cd035cd17c8501e1aaa..d599c9a7e38c46f6cab513345d4bdc454805359d 100644 (file)
@@ -1696,7 +1696,8 @@ do {                                              \
 /* Nonzero if the constant value X is a legitimate general operand.
    It is given that X satisfies CONSTANT_P or is a CONST_DOUBLE.  */
 
-#define LEGITIMATE_CONSTANT_P(X) 1
+#define LEGITIMATE_CONSTANT_P(X) \
+  (GET_CODE (X) == CONST_DOUBLE ? standard_80387_constant_p (X) : 1)
 
 #ifdef REG_OK_STRICT
 #define GO_IF_LEGITIMATE_ADDRESS(MODE, X, ADDR)                                \