Skip to content

Commit 19eb5f0

Browse files
committed
resolve comments
1 parent 09eb485 commit 19eb5f0

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

llvm/lib/Target/X86/X86InstrArithmetic.td

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1312,12 +1312,12 @@ def : Pat<(X86testpat (loadi64 addr:$src1), i64relocImmSExt32_su:$src2),
13121312
//===----------------------------------------------------------------------===//
13131313
// ANDN Instruction
13141314
//
1315-
multiclass AndN<X86TypeInfo t, string suffix = ""> {
1315+
multiclass AndN<X86TypeInfo t, SDPatternOperator node, string suffix = ""> {
13161316
defvar andn_rr_p =
1317-
[(set t.RegClass:$dst, EFLAGS, (X86and_flag (not t.RegClass:$src1),
1317+
[(set t.RegClass:$dst, EFLAGS, (node (not t.RegClass:$src1),
13181318
t.RegClass:$src2))];
13191319
defvar andn_rm_p =
1320-
[(set t.RegClass:$dst, EFLAGS, (X86and_flag (not t.RegClass:$src1),
1320+
[(set t.RegClass:$dst, EFLAGS, (node (not t.RegClass:$src1),
13211321
(t.LoadNode addr:$src2)))];
13221322
def rr#suffix : ITy<0xF2, MRMSrcReg, t, (outs t.RegClass:$dst),
13231323
(ins t.RegClass:$src1, t.RegClass:$src2), "andn",
@@ -1332,14 +1332,12 @@ multiclass AndN<X86TypeInfo t, string suffix = ""> {
13321332

13331333
// Complexity is reduced to give and with immediate a chance to match first.
13341334
let AddedComplexity = -6 in {
1335-
defm ANDN32 : AndN<Xi32>, VEX, Requires<[HasBMI, NoEGPR]>, DefEFLAGS;
1336-
defm ANDN64 : AndN<Xi64>, VEX, REX_W, Requires<[HasBMI, NoEGPR]>, DefEFLAGS;
1337-
defm ANDN32 : AndN<Xi32, "_EVEX">, EVEX, Requires<[HasBMI, HasEGPR, In64BitMode]>, DefEFLAGS;
1338-
defm ANDN64 : AndN<Xi64, "_EVEX">, EVEX, REX_W, Requires<[HasBMI, HasEGPR, In64BitMode]>, DefEFLAGS;
1339-
let Pattern = [(null_frag)] in {
1340-
defm ANDN32 : AndN<Xi32, "_NF">, EVEX, EVEX_NF, Requires<[In64BitMode]>;
1341-
defm ANDN64 : AndN<Xi64, "_NF">, EVEX, EVEX_NF, REX_W, Requires<[In64BitMode]>;
1342-
}
1335+
defm ANDN32 : AndN<Xi32, X86and_flag>, VEX, Requires<[HasBMI, NoEGPR]>, DefEFLAGS;
1336+
defm ANDN64 : AndN<Xi64, X86and_flag>, VEX, REX_W, Requires<[HasBMI, NoEGPR]>, DefEFLAGS;
1337+
defm ANDN32 : AndN<Xi32, X86and_flag, "_EVEX">, EVEX, Requires<[HasBMI, HasEGPR, In64BitMode]>, DefEFLAGS;
1338+
defm ANDN64 : AndN<Xi64, X86and_flag, "_EVEX">, EVEX, REX_W, Requires<[HasBMI, HasEGPR, In64BitMode]>, DefEFLAGS;
1339+
defm ANDN32 : AndN<Xi32, null_frag, "_NF">, EVEX, EVEX_NF, Requires<[In64BitMode]>;
1340+
defm ANDN64 : AndN<Xi64, null_frag, "_NF">, EVEX, EVEX_NF, REX_W, Requires<[In64BitMode]>;
13431341
}
13441342

13451343
multiclass Andn_Pats<string suffix> {

0 commit comments

Comments
 (0)