llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.65k stars 11.84k forks source link

error: invalid instruction mnemonic 'movsl' #30279

Closed llvmbot closed 2 years ago

llvmbot commented 7 years ago
Bugzilla Link 30931
Resolution FIXED
Resolved on Nov 14, 2017 02:56
Version unspecified
OS Windows NT
Blocks llvm/llvm-project#7187 llvm/llvm-project#11360
Reporter LLVM Bugzilla Contributor
CC @RKSimon

Extended Description

This was revealed by https://github.com/reactos/reactos/blob/master/reactos/ntoskrnl/include/internal/i386/ke.h#L738 and then reduced to:

void foo(void) { __asm rep movsd; }

cl /c compiles it without errors, but clang-cl /c emits:

error: invalid instruction mnemonic 'movsl' __asm rep movsd; ^

(2,6): note: instantiated into assembly here rep movsd ^~~~~ 1 error generated.
llvmbot commented 2 years ago

mentioned in issue llvm/llvm-project#7187

llvmbot commented 6 years ago

Thank you for the confirmation.

llvmbot commented 6 years ago

I checked it with small change:

void foo(void) { __asm ("rep movsd"); }

Everything works. Should we close the bug?

llvmbot commented 6 years ago

Yes.

I just ran the testcase again with version 6.0.0 (trunk 316603) and I can no longer reproduce the issue.

llvmbot commented 6 years ago

I suppose you're working on Windows, right?