From 26664553599f5c3a570426409b17fbeb5b2bb626 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Sun, 18 Jan 2004 23:47:03 +0000 Subject: [PATCH] * config/tc-sparc.c (sparc_ip): Disallow %f32-%f63 for single precision operands. --- gas/ChangeLog | 5 +++++ gas/config/tc-sparc.c | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index f0373346242..cf68b2a2f9a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2004-01-19 Jakub Jelinek + + * config/tc-sparc.c (sparc_ip): Disallow %f32-%f63 for single + precision operands. + 2004-01-14 Maciej W. Rozycki * config/tc-mips.c (append_insn): Properly detect variant frags diff --git a/gas/config/tc-sparc.c b/gas/config/tc-sparc.c index c78bd27b402..ba6b4ed5689 100644 --- a/gas/config/tc-sparc.c +++ b/gas/config/tc-sparc.c @@ -1,6 +1,6 @@ /* tc-sparc.c -- Assemble for the SPARC Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2002, 2003 + 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -2146,6 +2146,12 @@ sparc_ip (str, pinsn) { if (SPARC_OPCODE_ARCH_V9_P (max_architecture)) { + if (*args == 'e' || *args == 'f' || *args == 'g') + { + error_message + = _(": There are only 32 single precision f registers; [0-31]"); + goto error; + } v9_arg_p = 1; mask -= 31; /* wrap high bit */ } -- 2.30.2