Lines Matching refs:EFLAGS
33 // Unary and binary operator instructions that set EFLAGS as a side-effect.
43 // SDTBinaryArithWithFlagsInOut - RES1, EFLAGS = op LHS, RHS, EFLAGS
1034 let Defs = [ESP, EFLAGS], Uses = [ESP], mayLoad = 1, hasSideEffects=0,
1042 let Defs = [ESP], Uses = [ESP, EFLAGS], mayStore = 1, hasSideEffects=0,
1081 let Defs = [RSP, EFLAGS], Uses = [RSP], mayLoad = 1, hasSideEffects=0 in
1084 let Defs = [RSP], Uses = [RSP, EFLAGS], mayStore = 1, hasSideEffects=0 in
1116 let Defs = [EFLAGS] in {
1119 [(set GR16:$dst, EFLAGS, (X86bsf GR16:$src))],
1123 [(set GR16:$dst, EFLAGS, (X86bsf (loadi16 addr:$src)))],
1127 [(set GR32:$dst, EFLAGS, (X86bsf GR32:$src))],
1131 [(set GR32:$dst, EFLAGS, (X86bsf (loadi32 addr:$src)))],
1135 [(set GR64:$dst, EFLAGS, (X86bsf GR64:$src))],
1139 [(set GR64:$dst, EFLAGS, (X86bsf (loadi64 addr:$src)))],
1144 [(set GR16:$dst, EFLAGS, (X86bsr GR16:$src))],
1148 [(set GR16:$dst, EFLAGS, (X86bsr (loadi16 addr:$src)))],
1152 [(set GR32:$dst, EFLAGS, (X86bsr GR32:$src))],
1156 [(set GR32:$dst, EFLAGS, (X86bsr (loadi32 addr:$src)))],
1160 [(set GR64:$dst, EFLAGS, (X86bsr GR64:$src))],
1164 [(set GR64:$dst, EFLAGS, (X86bsr (loadi64 addr:$src)))],
1166 } // Defs = [EFLAGS]
1169 // These uses the DF flag in the EFLAGS register to inc or dec EDI and ESI
1170 let Defs = [EDI,ESI], Uses = [EDI,ESI,EFLAGS] in {
1181 // These uses the DF flag in the EFLAGS register to inc or dec EDI and ESI
1182 let Defs = [EDI], Uses = [AL,EDI,EFLAGS] in
1185 let Defs = [EDI], Uses = [AX,EDI,EFLAGS] in
1188 let Defs = [EDI], Uses = [EAX,EDI,EFLAGS] in
1191 let Defs = [RCX,RDI], Uses = [RAX,RCX,RDI,EFLAGS] in
1195 // These uses the DF flag in the EFLAGS register to inc or dec EDI and ESI
1196 let Defs = [EDI,EFLAGS], Uses = [AL,EDI,EFLAGS] in
1199 let Defs = [EDI,EFLAGS], Uses = [AX,EDI,EFLAGS] in
1202 let Defs = [EDI,EFLAGS], Uses = [EAX,EDI,EFLAGS] in
1205 let Defs = [EDI,EFLAGS], Uses = [RAX,EDI,EFLAGS] in
1209 // These uses the DF flag in the EFLAGS register to inc or dec EDI and ESI
1210 let Defs = [EDI,ESI,EFLAGS], Uses = [EDI,ESI,EFLAGS] in {
1451 let Defs = [EFLAGS], Uses = [AH] in
1453 [(set EFLAGS, (X86sahf AH))], IIC_AHF>;
1454 let Defs = [AH], Uses = [EFLAGS], hasSideEffects = 0 in
1462 let Defs = [EFLAGS] in {
1466 [(set EFLAGS, (X86bt GR16:$src1, GR16:$src2))], IIC_BT_RR>,
1470 [(set EFLAGS, (X86bt GR32:$src1, GR32:$src2))], IIC_BT_RR>,
1474 [(set EFLAGS, (X86bt GR64:$src1, GR64:$src2))], IIC_BT_RR>, TB;
1486 // (implicit EFLAGS)]
1492 // (implicit EFLAGS)]
1498 // (implicit EFLAGS)]
1506 [(set EFLAGS, (X86bt GR16:$src1, i16immSExt8:$src2))],
1510 [(set EFLAGS, (X86bt GR32:$src1, i32immSExt8:$src2))],
1514 [(set EFLAGS, (X86bt GR64:$src1, i64immSExt8:$src2))],
1524 [(set EFLAGS, (X86bt (loadi16 addr:$src1), i16immSExt8:$src2))
1528 [(set EFLAGS, (X86bt (loadi32 addr:$src1), i32immSExt8:$src2))
1532 [(set EFLAGS, (X86bt (loadi64 addr:$src1),
1669 } // Defs = [EFLAGS]
1806 let Defs = [EAX, EDX, EFLAGS], Uses = [EAX, EBX, ECX, EDX] in
1810 let Defs = [RAX, RDX, EFLAGS], Uses = [RAX, RBX, RCX, RDX] in
1828 // These uses the DF flag in the EFLAGS register to inc or dec ECX
1829 let Defs = [ECX], Uses = [ECX,EFLAGS] in {
1839 // These uses the DF flag in the EFLAGS register to inc or dec EDI and ESI
1840 let Defs = [AL,ESI], Uses = [ESI,EFLAGS] in
1843 let Defs = [AX,ESI], Uses = [ESI,EFLAGS] in
1846 let Defs = [EAX,ESI], Uses = [ESI,EFLAGS] in
1849 let Defs = [RAX,ESI], Uses = [ESI,EFLAGS] in
1855 // These uses the DF flag in the EFLAGS register to inc or dec EDI and ESI
1856 let Defs = [ESI], Uses = [DX,ESI,EFLAGS] in {
1865 // These uses the DF flag in the EFLAGS register to inc or dec EDI and ESI
1866 let Defs = [EDI], Uses = [DX,EDI,EFLAGS] in {
1895 // sets AL, AH and CF and AF of EFLAGS and uses AL and AF of EFLAGS
1900 // sets AL, AH and EFLAGS and uses AL and AH
1905 // sets AL, AH and EFLAGS and uses AL
1910 // sets AL, AH and CF and AF of EFLAGS and uses AL and AF of EFLAGS
1915 // sets AL, CF and AF of EFLAGS and uses AL, CF and AF of EFLAGS
1920 // sets AL, CF and AF of EFLAGS and uses AL, CF and AF of EFLAGS
1980 let Predicates = [HasRDRAND], Defs = [EFLAGS] in {
1983 [(set GR16:$dst, EFLAGS, (X86rdrand))]>, OpSize16, TB;
1986 [(set GR32:$dst, EFLAGS, (X86rdrand))]>, OpSize32, TB;
1989 [(set GR64:$dst, EFLAGS, (X86rdrand))]>, TB;
1995 let Predicates = [HasRDSEED], Defs = [EFLAGS] in {
1998 [(set GR16:$dst, EFLAGS, (X86rdseed))]>, OpSize16, TB;
2001 [(set GR32:$dst, EFLAGS, (X86rdseed))]>, OpSize32, TB;
2004 [(set GR64:$dst, EFLAGS, (X86rdseed))]>, TB;
2010 let Predicates = [HasLZCNT], Defs = [EFLAGS] in {
2013 [(set GR16:$dst, (ctlz GR16:$src)), (implicit EFLAGS)]>, XS,
2018 (implicit EFLAGS)]>, XS, OpSize16;
2022 [(set GR32:$dst, (ctlz GR32:$src)), (implicit EFLAGS)]>, XS,
2027 (implicit EFLAGS)]>, XS, OpSize32;
2031 [(set GR64:$dst, (ctlz GR64:$src)), (implicit EFLAGS)]>,
2036 (implicit EFLAGS)]>, XS;
2082 let Predicates = [HasBMI], Defs = [EFLAGS] in {
2085 [(set GR16:$dst, (cttz GR16:$src)), (implicit EFLAGS)]>, XS,
2090 (implicit EFLAGS)]>, XS, OpSize16;
2094 [(set GR32:$dst, (cttz GR32:$src)), (implicit EFLAGS)]>, XS,
2099 (implicit EFLAGS)]>, XS, OpSize32;
2103 [(set GR64:$dst, (cttz GR64:$src)), (implicit EFLAGS)]>,
2108 (implicit EFLAGS)]>, XS;
2124 let Predicates = [HasBMI], Defs = [EFLAGS] in {
2201 [(set RC:$dst, (Int RC:$src1, RC:$src2)), (implicit EFLAGS)]>,
2206 (implicit EFLAGS)]>, T8PS, VEX_4VOp3;
2209 let Predicates = [HasBMI], Defs = [EFLAGS] in {
2216 let Predicates = [HasBMI2], Defs = [EFLAGS] in {
2293 let Predicates = [HasTBM], Defs = [EFLAGS] in {
2350 } // HasTBM, EFLAGS