x86: also allow %st(N) in CFI directives

In 0e0eea7820 ("x86: x87-related adjustments") I screwed up CFI
directives with FPU support disabled, by moving the conditional there
across a check of "allow_pseudo_reg". Add the missing check.
This commit is contained in:
Jan Beulich 2020-06-08 08:38:54 +02:00
parent 8a6fb3f9bb
commit af32b72209
3 changed files with 9 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2020-06-08 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (parse_real_register): Add allow_pseudo_reg
check to %st(N) parsing logic.
* testsuite/gas/cfi/cfi-i386.s: Set "generic32" arch.
2020-06-08 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (bad_reg): New.

View File

@ -12452,7 +12452,8 @@ parse_real_register (char *reg_string, char **end_op)
{
if (!cpu_arch_flags.bitfield.cpu8087
&& !cpu_arch_flags.bitfield.cpu287
&& !cpu_arch_flags.bitfield.cpu387)
&& !cpu_arch_flags.bitfield.cpu387
&& !allow_pseudo_reg)
return (const reg_entry *) NULL;
if (is_space_char (*s))

View File

@ -1,4 +1,5 @@
.text
.arch generic32
#; func_locvars
#; - function with a space on the stack