Home | History | Annotate | Download | only in priv

Lines Matching refs:Prefix

82    Prefix"):
640 The top 8 bits of the prefix are 0x55, just as a hacky way to
641 ensure it really is a valid prefix.
643 Things you can safely assume about a well-formed prefix:
650 typedef UInt Prefix;
659 #define PFX_LOCK (1<<7) /* bus LOCK prefix present (0xF0) */
660 #define PFX_F2 (1<<8) /* REP/REPE/REPZ prefix present (0xF2) */
661 #define PFX_F3 (1<<9) /* REPNE/REPNZ prefix present (0xF3) */
662 #define PFX_CS (1<<10) /* CS segment prefix present (0x2E) */
663 #define PFX_DS (1<<11) /* DS segment prefix present (0x3E) */
664 #define PFX_ES (1<<12) /* ES segment prefix present (0x26) */
665 #define PFX_FS (1<<13) /* FS segment prefix present (0x64) */
666 #define PFX_GS (1<<14) /* GS segment prefix present (0x65) */
667 #define PFX_SS (1<<15) /* SS segment prefix present (0x36) */
668 #define PFX_VEX (1<<16) /* VEX prefix present (0xC4 or 0xC5) */
681 static Bool IS_VALID_PFX ( Prefix pfx ) {
685 static Bool haveREX ( Prefix pfx ) {
689 static Int getRexW ( Prefix pfx ) {
692 static Int getRexR ( Prefix pfx ) {
695 static Int getRexX ( Prefix pfx ) {
698 static Int getRexB ( Prefix pfx ) {
702 /* Check a prefix doesn't have F2 or F3 set in it, since usually that
704 static Bool haveF2orF3 ( Prefix pfx ) {
707 static Bool haveF2 ( Prefix pfx ) {
710 static Bool haveF3 ( Prefix pfx ) {
714 static Bool have66 ( Prefix pfx ) {
717 static Bool haveASO ( Prefix pfx ) {
722 static Bool have66noF2noF3 ( Prefix pfx )
729 static Bool haveF2no66noF3 ( Prefix pfx )
736 static Bool haveF3no66noF2 ( Prefix pfx )
743 static Bool haveF3noF2 ( Prefix pfx )
750 static Bool haveF2noF3 ( Prefix pfx )
757 static Bool haveNo66noF2noF3 ( Prefix pfx )
764 static Bool have66orF2orF3 ( Prefix pfx )
770 static Bool have66orF2 ( Prefix pfx )
775 /* Clear all the segment-override bits in a prefix. */
776 static Prefix clearSegBits ( Prefix p )
783 static UInt getVexNvvvv ( Prefix pfx ) {
789 static Bool haveVEX ( Prefix pfx ) {
793 static Int getVexL ( Prefix pfx ) {
806 overlap valid Prefix values, for sanity checking.
855 the same fashion that an 0x66 prefix indicates the operand size is
1156 static IRExpr* getIReg64rexX ( Prefix pfx, UInt lo3bits )
1163 static HChar* nameIReg64rexX ( Prefix pfx, UInt lo3bits )
1170 static HChar* nameIRegRexB ( Int sz, Prefix pfx, UInt lo3bits )
1179 static IRExpr* getIRegRexB ( Int sz, Prefix pfx, UInt lo3bits )
1202 static void putIRegRexB ( Int sz, Prefix pfx, UInt lo3bits, IRExpr* e )
1224 static UInt gregOfRexRM ( Prefix pfx, UChar mod_reg_rm )
1236 static UInt eregOfRexRM ( Prefix pfx, UChar mod_reg_rm )
1252 static UInt offsetIRegG ( Int sz, Prefix pfx, UChar mod_reg_rm )
1263 IRExpr* getIRegG ( Int sz, Prefix pfx, UChar mod_reg_rm )
1277 void putIRegG ( Int sz, Prefix pfx, UChar mod_reg_rm, IRExpr* e )
1287 HChar* nameIRegG ( Int sz, Prefix pfx, UChar mod_reg_rm )
1299 static UInt offsetIRegE ( Int sz, Prefix pfx, UChar mod_reg_rm )
1310 IRExpr* getIRegE ( Int sz, Prefix pfx, UChar mod_reg_rm )
1324 void putIRegE ( Int sz, Prefix pfx, UChar mod_reg_rm, IRExpr* e )
1334 HChar* nameIRegE ( Int sz, Prefix pfx, UChar mod_reg_rm )
2268 HChar* segRegTxt ( Prefix pfx )
2286 Prefix pfx, IRExpr* virtual )
2410 VexAbiInfo* vbi, Prefix pfx, Long delta,
2681 static UInt lengthAMode ( Prefix pfx, Long delta )
2789 Prefix pfx,
2905 Prefix pfx,
3038 Prefix pfx,
3084 Prefix pfx,
3165 Prefix pfx,
3269 Prefix pfx,
3379 Prefix pfx,
3649 Prefix pfx,
3840 Prefix pfx, Int sz, Long delta, Bool* decode_OK )
4004 Prefix pfx, Long delta, Bool* decode_OK )
4074 Prefix pfx, Int sz, Long delta,
4248 void dis_string_op( void (*dis_OP)( Int, IRTemp, Prefix pfx ),
4249 Int sz, HChar* name, Prefix pfx )
4261 void dis_MOVS ( Int sz, IRTemp t_inc, Prefix pfx )
4289 void dis_LODS ( Int sz, IRTemp t_inc, Prefix pfx )
4309 void dis_STOS ( Int sz, IRTemp t_inc, Prefix pfx )
4332 void dis_CMPS ( Int sz, IRTemp t_inc, Prefix pfx )
4366 void dis_SCAS ( Int sz, IRTemp t_inc, Prefix pfx )
4398 void (*dis_OP)(Int, IRTemp, Prefix),
4400 Prefix pfx )
4453 Prefix pfx,
4496 Prefix pfx,
5014 VexAbiInfo* vbi, Prefix pfx, Long delta )
6693 Prefix pfx,
6843 Prefix pfx, Long delta,
6975 VexAbiInfo* vbi, Prefix pfx, Int sz, Long delta )
7413 Prefix pfx,
7598 Prefix pfx, Int sz, Long delta, BtOp op )
7756 Prefix pfx, Int sz, Long delta, Bool fwds )
7872 void codegen_xchg_rAX_Reg ( Prefix pfx, Int sz, UInt regLo3 )
7956 Prefix pfx,
7975 reg-reg: ignore any lock prefix, generate sequence based
7978 reg-mem, not locked: ignore any lock prefix, generate sequence
8063 Prefix pfx,
8116 Prefix pfx, Int sz, Long delta0 )
8129 reg-reg: ignore any lock prefix,
8132 reg-mem, not locked: ignore any lock prefix, generate 'naive'
8298 Prefix pfx, Long delta,
8335 Prefix pfx, Long delta,
8345 Prefix pfx, Long delta,
8355 Prefix pfx, Long delta,
8391 Prefix pfx, Long delta,
8428 Prefix pfx, Long delta,
8459 Prefix pfx, Long delta,
8503 Prefix pfx, Long delta,
8549 Prefix pfx, Long delta,
8704 Prefix pfx, Long delta,
8780 Prefix pfx, Long delta,
8856 ULong dis_SSE_shiftE_imm ( Prefix pfx,
9373 byte) may validly be used with a LOCK prefix. The following insns
9508 static Long dis_COMISD ( VexAbiInfo* vbi, Prefix pfx,
9551 static Long dis_COMISS ( VexAbiInfo* vbi, Prefix pfx,
9596 static Long dis_PSHUFD_32x4 ( VexAbiInfo* vbi, Prefix pfx,
9736 static Long dis_CVTxSD2SI ( VexAbiInfo* vbi, Prefix pfx,
9784 static Long dis_CVTxSS2SI ( VexAbiInfo* vbi, Prefix pfx,
9836 static Long dis_CVTPS2PD_128 ( VexAbiInfo* vbi, Prefix pfx,
9871 static Long dis_CVTPS2PD_256 ( VexAbiInfo* vbi, Prefix pfx,
9912 static Long dis_CVTPD2PS_128 ( VexAbiInfo* vbi, Prefix pfx,
9957 static Long dis_CVTxPS2DQ_128 ( VexAbiInfo* vbi, Prefix pfx,
10007 static Long dis_CVTxPS2DQ_256 ( VexAbiInfo* vbi, Prefix pfx,
10059 static Long dis_CVTxPD2DQ_128 ( VexAbiInfo* vbi, Prefix pfx,
10114 static Long dis_CVTxPD2DQ_256 ( VexAbiInfo* vbi, Prefix pfx,
10168 static Long dis_CVTDQ2PS_128 ( VexAbiInfo* vbi, Prefix pfx,
10216 static Long dis_CVTDQ2PS_256 ( VexAbiInfo* vbi, Prefix pfx,
10269 static Long dis_PMOVMSKB_128 ( VexAbiInfo* vbi, Prefix pfx,
10673 static Long dis_PSHUFxW_128 ( VexAbiInfo* vbi, Prefix pfx,
10727 static Long dis_PEXTRW_128_EregOnly_toG ( VexAbiInfo* vbi, Prefix pfx,
10766 static Long dis_CVTDQ2PD_128 ( VexAbiInfo* vbi, Prefix pfx,
10801 static Long dis_STMXCSR ( VexAbiInfo* vbi, Prefix pfx,
10833 static Long dis_LDMXCSR ( VexAbiInfo* vbi, Prefix pfx,
10937 static Long dis_MASKMOVDQU ( VexAbiInfo* vbi, Prefix pfx,
10980 static Long dis_MOVMSKPS_128 ( VexAbiInfo* vbi, Prefix pfx,
11012 static Long dis_MOVMSKPS_256 ( VexAbiInfo* vbi, Prefix pfx, Long delta )
11062 static Long dis_MOVMSKPD_128 ( VexAbiInfo* vbi, Prefix pfx,
11084 static Long dis_MOVMSKPD_256 ( VexAbiInfo* vbi, Prefix pfx, Long delta )
11119 Prefix pfx, Int sz, Long deltaIN,
14023 static Long dis_MOVDDUP_128 ( VexAbiInfo* vbi, Prefix pfx,
14053 static Long dis_MOVDDUP_256 ( VexAbiInfo* vbi, Prefix pfx,
14085 static Long dis_MOVSxDUP_128 ( VexAbiInfo* vbi, Prefix pfx,
14119 static Long dis_MOVSxDUP_256 ( VexAbiInfo* vbi, Prefix pfx,
14196 Prefix pfx, Int sz, Long deltaIN )
14470 static Long dis_PHADD_128 ( VexAbiInfo* vbi, Prefix pfx, Long delta,
14572 Prefix pfx, Int sz, Long deltaIN )
15091 Prefix pfx, Int sz, Long deltaIN )
15218 Prefix pfx, Int sz, Long deltaIN )
15410 static Long dis_VBLENDV_128 ( VexAbiInfo* vbi, Prefix pfx, Long delta,
15449 static Long dis_VBLENDV_256 ( VexAbiInfo* vbi, Prefix pfx, Long delta,
15588 static Long dis_xTESTy_128 ( VexAbiInfo* vbi, Prefix pfx,
15641 static Long dis_xTESTy_256 ( VexAbiInfo* vbi, Prefix pfx,
15699 static Long dis_PMOVxXBW_128 ( VexAbiInfo* vbi, Prefix pfx,
15741 static Long dis_PMOVxXWD_128 ( VexAbiInfo* vbi, Prefix pfx,
15780 static Long dis_PMOVSXWQ_128 ( VexAbiInfo* vbi, Prefix pfx,
15813 static Long dis_PMOVZXWQ_128 ( VexAbiInfo* vbi, Prefix pfx,
15850 static Long dis_PMOVxXDQ_128 ( VexAbiInfo* vbi, Prefix pfx,
15897 static Long dis_PMOVxXBD_128 ( VexAbiInfo* vbi, Prefix pfx,
15940 static Long dis_PMOVSXBQ_128 ( VexAbiInfo* vbi, Prefix pfx,
15973 static Long dis_PMOVZXBQ_128 ( VexAbiInfo* vbi, Prefix pfx,
16011 static Long dis_PHMINPOSUW_128 ( VexAbiInfo* vbi, Prefix pfx,
16051 static Long dis_AESx ( VexAbiInfo* vbi, Prefix pfx,
16145 static Long dis_AESKEYGENASSIST ( VexAbiInfo* vbi, Prefix pfx,
16216 Prefix pfx, Int sz, Long deltaIN )
16722 static Long dis_PEXTRW ( VexAbiInfo* vbi, Prefix pfx,
16777 static Long dis_PEXTRD ( VexAbiInfo* vbi, Prefix pfx,
16830 static Long dis_PEXTRQ ( VexAbiInfo* vbi, Prefix pfx,
16880 static Long dis_PCMPxSTRx ( VexAbiInfo* vbi, Prefix pfx,
17114 static Long dis_PEXTRB_128_GtoE ( VexAbiInfo* vbi, Prefix pfx,
17283 static Long dis_EXTRACTPS ( VexAbiInfo* vbi, Prefix pfx,
17363 Prefix pfx, Int sz, Long deltaIN )
18050 Prefix pfx, Int sz, Long deltaIN
18515 prefix. Therefore, surround it with a IRStmt_MBE(Imbe_BusLock)
18517 used with an explicit LOCK prefix, we don't want to end up with
18578 /* NOTE! this is the one place where a segment override prefix
18706 /* 24 July 06: has also been seen with a redundant REX prefix,
18939 case 0xAC: /* LODS, no REP prefix */
19256 the address size prefix can have an effect. It changes the
19658 Prefix pfx, Int sz, Long deltaIN
20147 prefix. Life is too short to bother with generating two
20148 different translations for the with/without-LOCK-prefix
20297 /* So there's no SIMD prefix. */
20446 Prefix pfx, Int sz, Long deltaIN
20531 Prefix pfx, Int sz, Long deltaIN
20578 Prefix pfx, Long delta, HChar* name,
20637 Prefix pfx, Long delta, HChar* name,
20652 Prefix pfx, Long delta, HChar* name,
20665 Prefix pfx, Long delta,
20741 Long dis_AVX128_shiftE_to_V_imm( Prefix pfx,
20804 Prefix pfx, Long delta,
20847 Prefix pfx, Long delta,
20894 Prefix pfx, Long delta,
20941 Prefix pfx, Long delta,
20981 Prefix pfx, Long delta,
20997 Prefix pfx, Long delta,
21107 Prefix pfx, Long delta,
21177 Prefix pfx, Long delta,
21210 Prefix pfx, Long delta,
21240 Prefix pfx, Long delta, HChar* name,
21298 Prefix pfx, Long delta,
21314 Prefix pfx, Long delta, HChar* name,
21328 Prefix pfx, Long delta,
21356 static Long dis_CVTDQ2PD_256 ( VexAbiInfo* vbi, Prefix pfx,
21392 static Long dis_CVTPD2PS_256 ( VexAbiInfo* vbi, Prefix pfx,
21440 Prefix pfx, Int sz, Long deltaIN
24530 Prefix pfx, Int sz, Long deltaIN
25274 Prefix pfx, Int sz, Long deltaIN
26476 2 if an 0x66 prefix is seen and 8 if REX.W is 1. In case of
26481 Prefix pfx = PFX_EMPTY;
26592 VEX prefix if that's appropriate. */
26675 /* We have a %fs prefix. Reject it if there's no evidence in 'vbi'
26690 leading escapes. Check that any LOCK prefix is actually
26753 prefix that loads a YMM register operand ..." zeroes out bits
26776 /* The presence of a VEX prefix, by Intel definition,
27147 vpanic("disInstr_AMD64: inconsistency in LOCK prefix handling");