Lines Matching refs:IRAtom
626 typedef IRExpr IRAtom;
630 static Bool isOriginalAtom ( MCEnv* mce, IRAtom* a1 )
641 static Bool isShadowAtom ( MCEnv* mce, IRAtom* a1 )
652 static Bool sameKindedAtoms ( IRAtom* a1, IRAtom* a2 )
727 static IRAtom* assignNew ( MCEnv* mce, IRType ty, IRExpr* e ) {
740 static IRAtom* mkDifD8 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
746 static IRAtom* mkDifD16 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
752 static IRAtom* mkDifD32 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
758 static IRAtom* mkDifD64 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
764 static IRAtom* mkDifDV128 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
772 static IRAtom* mkUifU8 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
778 static IRAtom* mkUifU16 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
784 static IRAtom* mkUifU32 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
790 static IRAtom* mkUifU64 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
796 static IRAtom* mkUifUV128 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
802 static IRAtom* mkUifU ( MCEnv* mce, IRType vty, IRAtom* a1, IRAtom* a2 ) {
817 static IRAtom* mkLeft8 ( MCEnv* mce, IRAtom* a1 ) {
827 static IRAtom* mkLeft16 ( MCEnv* mce, IRAtom* a1 ) {
837 static IRAtom* mkLeft32 ( MCEnv* mce, IRAtom* a1 ) {
852 static IRAtom* mkImproveAND8 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
860 static IRAtom* mkImproveAND16 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
868 static IRAtom* mkImproveAND32 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
876 static IRAtom* mkImproveAND64 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
884 static IRAtom* mkImproveANDV128 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
895 static IRAtom* mkImproveOR8 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
907 static IRAtom* mkImproveOR16 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
919 static IRAtom* mkImproveOR32 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
931 static IRAtom* mkImproveOR64 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
943 static IRAtom* mkImproveORV128 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
957 static IRAtom* mkPCastTo( MCEnv* mce, IRType dst_ty, IRAtom* vbits )
960 IRAtom* tmp1;
1039 static void complainIfUndefined ( MCEnv* mce, IRAtom* atom )
1041 IRAtom* vatom;
1045 IRAtom* cond;
1154 IRAtom* atom, IRAtom* vatom )
1184 IRRegArray* descr, IRAtom* ix, Int bias, IRAtom* atom )
1186 IRAtom* vatom;
1237 IRExpr* shadow_GETI ( MCEnv* mce, IRRegArray* descr, IRAtom* ix, Int bias )
1268 IRAtom* mkLazy2 ( MCEnv* mce, IRType finalVty, IRAtom* va1, IRAtom* va2 )
1271 IRAtom* at;
1287 IRAtom* mkLazyN ( MCEnv* mce,
1288 IRAtom** exprvec, IRType finalVtype, IRCallee* cee )
1291 IRAtom* here;
1292 IRAtom* curr = definedOfType(Ity_I32);
1320 IRAtom* expensiveAdd32 ( MCEnv* mce, IRAtom* qaa, IRAtom* qbb,
1321 IRAtom* aa, IRAtom* bb )
1323 IRAtom *a_min, *b_min, *a_max, *b_max;
1378 static IRAtom* mkPCast8x16 ( MCEnv* mce, IRAtom* at )
1383 static IRAtom* mkPCast16x8 ( MCEnv* mce, IRAtom* at )
1388 static IRAtom* mkPCast32x4 ( MCEnv* mce, IRAtom* at )
1393 static IRAtom* mkPCast64x2 ( MCEnv* mce, IRAtom* at )
1436 IRAtom* binary32Fx4 ( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY )
1438 IRAtom* at;
1447 IRAtom* unary32Fx4 ( MCEnv* mce, IRAtom* vatomX )
1449 IRAtom* at;
1456 IRAtom* binary32F0x4 ( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY )
1458 IRAtom* at;
1469 IRAtom* unary32F0x4 ( MCEnv* mce, IRAtom* vatomX )
1471 IRAtom* at;
1482 IRAtom* binary64Fx2 ( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY )
1484 IRAtom* at;
1493 IRAtom* unary64Fx2 ( MCEnv* mce, IRAtom* vatomX )
1495 IRAtom* at;
1502 IRAtom* binary64F0x2 ( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY )
1504 IRAtom* at;
1515 IRAtom* unary64F0x2 ( MCEnv* mce, IRAtom* vatomX )
1517 IRAtom* at;
1554 IRAtom* vectorNarrowV128 ( MCEnv* mce, IROp narrow_op,
1555 IRAtom* vatom1, IRAtom* vatom2)
1557 IRAtom *at1, *at2, *at3;
1558 IRAtom* (*pcast)( MCEnv*, IRAtom* );
1578 IRAtom* binary8Ix16 ( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 )
1580 IRAtom* at;
1587 IRAtom* binary16Ix8 ( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 )
1589 IRAtom* at;
1596 IRAtom* binary32Ix4 ( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 )
1598 IRAtom* at;
1605 IRAtom* binary64Ix2 ( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 )
1607 IRAtom* at;
1619 IRAtom* expr2vbits_Binop ( MCEnv* mce,
1621 IRAtom* atom1, IRAtom* atom2 )
1624 IRAtom* (*uifu) (MCEnv*, IRAtom*, IRAtom*);
1625 IRAtom* (*difd) (MCEnv*, IRAtom*, IRAtom*);
1626 IRAtom* (*improve) (MCEnv*, IRAtom*, IRAtom*);
1628 IRAtom* vatom1 = expr2vbits( mce, atom1 );
1629 IRAtom* vatom2 = expr2vbits( mce, atom2 );
1812 IRAtom* vLo32 = mkLeft32(mce, mkUifU32(mce, vatom1,vatom2));
1813 IRAtom* vHi32 = mkPCastTo(mce, Ity_I32, vLo32);
1819 IRAtom* vLo16 = mkLeft16(mce, mkUifU16(mce, vatom1,vatom2));
1820 IRAtom* vHi16 = mkPCastTo(mce, Ity_I16, vLo16);
1826 IRAtom* vLo8 = mkLeft8(mce, mkUifU8(mce, vatom1,vatom2));
1827 IRAtom* vHi8 = mkPCastTo(mce, Ity_I8, vLo8);
1940 IRExpr* expr2vbits_Unop ( MCEnv* mce, IROp op, IRAtom* atom )
1942 IRAtom* vatom = expr2vbits( mce, atom );
2030 IRAtom* expr2vbits_LDle_WRK ( MCEnv* mce, IRType ty, IRAtom* addr, UInt bias )
2036 IRAtom* addrAct;
2069 IRAtom* eBias;
2091 IRAtom* expr2vbits_LDle ( MCEnv* mce, IRType ty, IRAtom* addr, UInt bias )
2093 IRAtom *v64hi, *v64lo;
2113 IRAtom* expr2vbits_ITE ( MCEnv* mce,
2114 IRAtom* cond, IRAtom* iftrue, IRAtom* iffalse )
2116 IRAtom *vbitsC, *vbits0, *vbits1;
2195 IRExpr* zwidenToHostWord ( MCEnv* mce, IRAtom* vatom )
2227 IRAtom* addr, UInt bias,
2228 IRAtom* data, IRAtom* vdata )
2233 IRAtom *addrAct, *addrLo64, *addrHi64;
2234 IRAtom *vdataLo64, *vdataHi64;
2235 IRAtom *eBias, *eBias0, *eBias8;
2358 IRAtom *src, *here, *curr;
2525 static Bool isBogusAtom ( IRAtom* at )