x86: immediate operands don't allow for vector operations

Neither masking nor broadcast are possible here, and RC/SAE get dealt
with elsewhere.

This also fixes gas crashes (i.e. "Fatal error: unable to continue with
assembly"), since the return path being removed failed to restore
input_line_pointer from save_input_line_pointer.
This commit is contained in:
Jan Beulich
2021-06-07 12:00:38 +02:00
parent a442cac508
commit 4e014f6ac0
2 changed files with 4 additions and 10 deletions

View File

@ -1,3 +1,7 @@
2021-06-07 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (i386_immediate): Don't call check_VecOperations.
2021-06-07 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (extend_to_32bit_address): New.

View File

@ -10689,16 +10689,6 @@ i386_immediate (char *imm_start)
exp_seg = expression (exp);
SKIP_WHITESPACE ();
/* Handle vector operations. */
if (*input_line_pointer == '{')
{
input_line_pointer = check_VecOperations (input_line_pointer,
NULL);
if (input_line_pointer == NULL)
return 0;
}
if (*input_line_pointer)
as_bad (_("junk `%s' after expression"), input_line_pointer);