mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 19:36:05 +00:00
[X86] Don't add implicit REP prefix to VIA PadLock xstore
Commit 8fa3e8fa1492 added an implicit REP prefix to all VIA PadLock instructions, but GNU as doesn't add one to xstore, only all the others. This resulted in a kernel panic regression in FreeBSD upon updating to LLVM 11 (https://bugs.freebsd.org/259218) which includes the commit in question. This partially reverts that commit. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D112355
This commit is contained in:
parent
b432583d28
commit
2d8c18fbbd
@ -584,7 +584,7 @@ def XRSTORS64 : RI<0xC7, MRM3m, (outs), (ins opaquemem:$dst),
|
||||
//===----------------------------------------------------------------------===//
|
||||
// VIA PadLock crypto instructions
|
||||
let Defs = [RAX, RDI], Uses = [RDX, RDI], SchedRW = [WriteSystem] in
|
||||
def XSTORE : I<0xa7, MRM_C0, (outs), (ins), "xstore", []>, TB, REP;
|
||||
def XSTORE : I<0xa7, MRM_C0, (outs), (ins), "xstore", []>, TB;
|
||||
|
||||
def : InstAlias<"xstorerng", (XSTORE)>;
|
||||
|
||||
|
@ -1,8 +1,11 @@
|
||||
// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
|
||||
|
||||
/// Check xstore does not get an implicit REP prefix but all other PadLock
|
||||
/// instructions do.
|
||||
|
||||
xstore
|
||||
// CHECK: xstore
|
||||
// CHECK: encoding: [0xf3,0x0f,0xa7,0xc0]
|
||||
// CHECK: encoding: [0x0f,0xa7,0xc0]
|
||||
xcryptecb
|
||||
// CHECK: xcryptecb
|
||||
// CHECK: encoding: [0xf3,0x0f,0xa7,0xc8]
|
||||
|
Loading…
x
Reference in New Issue
Block a user