On 23.02.2026 17:36, Andrew Cooper wrote: > On 23/02/2026 4:21 pm, Jan Beulich wrote: >> On 23.02.2026 17:06, Andrew Cooper wrote: >>> On 23/02/2026 4:02 pm, Jan Beulich wrote: >>>> On 23.02.2026 11:04, Edwin Török wrote: >>>>> clang-21's built-in assembler is enabled by default, but it doesn't >>>>> support some mnemonics: >>>>> ``` >>>>> test_x86_emulator.c:2636:36: error: invalid instruction mnemonic 'fsaves' >>>>> 2636 | "fidivs %1\n\t" >>>>> test_x86_emulator.c:2640:24: error: invalid instruction mnemonic 'frstors' >>>>> 2640 | asm volatile ( "frstors %0" :: "m" (res[25]) : "memory" ); >>>>> | ^ >>>>> test_x86_emulator.c:4251:24: error: invalid instruction mnemonic >>>>> 'vpcmpestriq' >>>>> 4251 | put_insn(vpcmpestri, >>>>> | ^ >>>>> ``` >>>> Was this reported to them as a bug (or perhaps even two)? >>> Looking at just one of these, the mnemonic is FRSTOR without an S, and >>> Clang 21 is happy with that. >>> >>> What is the trailing S supposed to signify to GAS? >> "short", i.e. the want for a 16-bit operand size prefix. > > But that is normally spelled 'w', not 's' in AT&T syntax.
Floating point mnemonics look to be special (and AT&T syntax is absurd in some situations anyway). Jan
