forked from OSchip/llvm-project
[X86] Finish the subtarget and predicate implementation of CLWB.
We don't have an intrinsic implemented for this instruction yet, but it looked odd that we were missing the accessor method from the subtarget. llvm-svn: 312064
This commit is contained in:
parent
68e460194a
commit
559f61e179
|
@ -872,6 +872,7 @@ def FPStackf32 : Predicate<"!Subtarget->hasSSE1()">;
|
|||
def FPStackf64 : Predicate<"!Subtarget->hasSSE2()">;
|
||||
def HasMPX : Predicate<"Subtarget->hasMPX()">;
|
||||
def HasCLFLUSHOPT : Predicate<"Subtarget->hasCLFLUSHOPT()">;
|
||||
def HasCLWB : Predicate<"Subtarget->hasCLWB()">;
|
||||
def HasCmpxchg16b: Predicate<"Subtarget->hasCmpxchg16b()">;
|
||||
def Not64BitMode : Predicate<"!Subtarget->is64Bit()">,
|
||||
AssemblerPredicate<"!Mode64Bit", "Not 64-bit mode">;
|
||||
|
@ -2718,6 +2719,9 @@ let Predicates = [HasTBM] in {
|
|||
let Predicates = [HasCLFLUSHOPT] in
|
||||
def CLFLUSHOPT : I<0xAE, MRM7m, (outs), (ins i8mem:$src),
|
||||
"clflushopt\t$src", [(int_x86_clflushopt addr:$src)]>, PD;
|
||||
|
||||
// TODO: Add an instrincis for this.
|
||||
let Predicates = [HasCLWB] in
|
||||
def CLWB : I<0xAE, MRM6m, (outs), (ins i8mem:$src), "clwb\t$src", []>, PD;
|
||||
|
||||
|
||||
|
|
|
@ -507,6 +507,7 @@ public:
|
|||
bool hasPKU() const { return HasPKU; }
|
||||
bool hasMPX() const { return HasMPX; }
|
||||
bool hasCLFLUSHOPT() const { return HasCLFLUSHOPT; }
|
||||
bool hasCLWB() const { return HasCLWB; }
|
||||
|
||||
bool isXRaySupported() const override { return is64Bit(); }
|
||||
|
||||
|
|
Loading…
Reference in New Issue