Lines Matching refs:insn
616 insert_bat (unsigned long insn, in insert_bat() argument
621 return insn | (((insn >> 21) & 0x1f) << 16); in insert_bat()
625 extract_bat (unsigned long insn, in extract_bat() argument
629 if (((insn >> 21) & 0x1f) != ((insn >> 16) & 0x1f)) in extract_bat()
641 insert_bba (unsigned long insn, in insert_bba() argument
646 return insn | (((insn >> 16) & 0x1f) << 11); in insert_bba()
650 extract_bba (unsigned long insn, in extract_bba() argument
654 if (((insn >> 16) & 0x1f) != ((insn >> 11) & 0x1f)) in extract_bba()
663 insert_bd (unsigned long insn, in insert_bd() argument
668 return insn | (value & 0xfffc); in insert_bd()
672 extract_bd (unsigned long insn, in extract_bd() argument
676 return ((insn & 0xfffc) ^ 0x8000) - 0x8000; in extract_bd()
693 insert_bdm (unsigned long insn, in insert_bdm() argument
701 insn |= 1 << 21; in insert_bdm()
705 if ((insn & (0x14 << 21)) == (0x04 << 21)) in insert_bdm()
706 insn |= 0x02 << 21; in insert_bdm()
707 else if ((insn & (0x14 << 21)) == (0x10 << 21)) in insert_bdm()
708 insn |= 0x08 << 21; in insert_bdm()
710 return insn | (value & 0xfffc); in insert_bdm()
714 extract_bdm (unsigned long insn, in extract_bdm() argument
720 if (((insn & (1 << 21)) == 0) != ((insn & (1 << 15)) == 0)) in extract_bdm()
725 if ((insn & (0x17 << 21)) != (0x06 << 21) in extract_bdm()
726 && (insn & (0x1d << 21)) != (0x18 << 21)) in extract_bdm()
730 return ((insn & 0xfffc) ^ 0x8000) - 0x8000; in extract_bdm()
738 insert_bdp (unsigned long insn, in insert_bdp() argument
746 insn |= 1 << 21; in insert_bdp()
750 if ((insn & (0x14 << 21)) == (0x04 << 21)) in insert_bdp()
751 insn |= 0x03 << 21; in insert_bdp()
752 else if ((insn & (0x14 << 21)) == (0x10 << 21)) in insert_bdp()
753 insn |= 0x09 << 21; in insert_bdp()
755 return insn | (value & 0xfffc); in insert_bdp()
759 extract_bdp (unsigned long insn, in extract_bdp() argument
765 if (((insn & (1 << 21)) == 0) == ((insn & (1 << 15)) == 0)) in extract_bdp()
770 if ((insn & (0x17 << 21)) != (0x07 << 21) in extract_bdp()
771 && (insn & (0x1d << 21)) != (0x19 << 21)) in extract_bdp()
775 return ((insn & 0xfffc) ^ 0x8000) - 0x8000; in extract_bdp()
833 insert_bo (unsigned long insn, in insert_bo() argument
840 return insn | ((value & 0x1f) << 21); in insert_bo()
844 extract_bo (unsigned long insn, in extract_bo() argument
850 value = (insn >> 21) & 0x1f; in extract_bo()
861 insert_boe (unsigned long insn, in insert_boe() argument
871 return insn | ((value & 0x1f) << 21); in insert_boe()
875 extract_boe (unsigned long insn, in extract_boe() argument
881 value = (insn >> 21) & 0x1f; in extract_boe()
891 insert_dq (unsigned long insn, in insert_dq() argument
898 return insn | (value & 0xfff0); in insert_dq()
902 extract_dq (unsigned long insn, in extract_dq() argument
906 return ((insn & 0xfff0) ^ 0x8000) - 0x8000; in extract_dq()
910 insert_ev2 (unsigned long insn, in insert_ev2() argument
919 return insn | ((value & 0x3e) << 10); in insert_ev2()
923 extract_ev2 (unsigned long insn, in extract_ev2() argument
927 return (insn >> 10) & 0x3e; in extract_ev2()
931 insert_ev4 (unsigned long insn, in insert_ev4() argument
940 return insn | ((value & 0x7c) << 9); in insert_ev4()
944 extract_ev4 (unsigned long insn, in extract_ev4() argument
948 return (insn >> 9) & 0x7c; in extract_ev4()
952 insert_ev8 (unsigned long insn, in insert_ev8() argument
961 return insn | ((value & 0xf8) << 8); in insert_ev8()
965 extract_ev8 (unsigned long insn, in extract_ev8() argument
969 return (insn >> 8) & 0xf8; in extract_ev8()
976 insert_ds (unsigned long insn, in insert_ds() argument
983 return insn | (value & 0xfffc); in insert_ds()
987 extract_ds (unsigned long insn, in extract_ds() argument
991 return ((insn & 0xfffc) ^ 0x8000) - 0x8000; in extract_ds()
997 insert_de (unsigned long insn, in insert_de() argument
1004 return insn | ((value << 4) & 0xfff0); in insert_de()
1008 extract_de (unsigned long insn, in extract_de() argument
1012 return (insn & 0xfff0) >> 4; in extract_de()
1018 insert_des (unsigned long insn, in insert_des() argument
1027 return insn | ((value << 2) & 0xfff0); in insert_des()
1031 extract_des (unsigned long insn, in extract_des() argument
1035 return (((insn >> 2) & 0x3ffc) ^ 0x2000) - 0x2000; in extract_des()
1041 insert_fxm (unsigned long insn, in insert_fxm() argument
1048 if ((insn & (1 << 20)) != 0) in insert_fxm()
1072 && (insn & (0x3ff << 1)) == 19 << 1))) in insert_fxm()
1073 insn |= 1 << 20; in insert_fxm()
1076 else if ((insn & (0x3ff << 1)) == 19 << 1) in insert_fxm()
1082 return insn | ((value & 0xff) << 12); in insert_fxm()
1086 extract_fxm (unsigned long insn, in extract_fxm() argument
1090 long mask = (insn >> 12) & 0xff; in extract_fxm()
1093 if ((insn & (1 << 20)) != 0) in extract_fxm()
1101 else if ((insn & (0x3ff << 1)) == 19 << 1) in extract_fxm()
1114 insert_li (unsigned long insn, in insert_li() argument
1121 return insn | (value & 0x3fffffc); in insert_li()
1125 extract_li (unsigned long insn, in extract_li() argument
1129 return ((insn & 0x3fffffc) ^ 0x2000000) - 0x2000000; in extract_li()
1138 insert_mbe (unsigned long insn, in insert_mbe() argument
1151 return insn; in insert_mbe()
1187 return insn | (mb << 6) | ((me - 1) << 1); in insert_mbe()
1191 extract_mbe (unsigned long insn, in extract_mbe() argument
1201 mb = (insn >> 6) & 0x1f; in extract_mbe()
1202 me = (insn >> 1) & 0x1f; in extract_mbe()
1224 insert_mb6 (unsigned long insn, in insert_mb6() argument
1229 return insn | ((value & 0x1f) << 6) | (value & 0x20); in insert_mb6()
1233 extract_mb6 (unsigned long insn, in extract_mb6() argument
1237 return ((insn >> 6) & 0x1f) | (insn & 0x20); in extract_mb6()
1244 insert_nb (unsigned long insn, in insert_nb() argument
1253 return insn | ((value & 0x1f) << 11); in insert_nb()
1257 extract_nb (unsigned long insn, in extract_nb() argument
1263 ret = (insn >> 11) & 0x1f; in extract_nb()
1275 insert_nsi (unsigned long insn, in insert_nsi() argument
1280 return insn | (-value & 0xffff); in insert_nsi()
1284 extract_nsi (unsigned long insn, in extract_nsi() argument
1289 return -(((insn & 0xffff) ^ 0x8000) - 0x8000); in extract_nsi()
1297 insert_ral (unsigned long insn, in insert_ral() argument
1303 || (unsigned long) value == ((insn >> 21) & 0x1f)) in insert_ral()
1305 return insn | ((value & 0x1f) << 16); in insert_ral()
1312 insert_ram (unsigned long insn, in insert_ram() argument
1317 if ((unsigned long) value >= ((insn >> 21) & 0x1f)) in insert_ram()
1319 return insn | ((value & 0x1f) << 16); in insert_ram()
1326 insert_raq (unsigned long insn, in insert_raq() argument
1331 long rtvalue = (insn & RT_MASK) >> 21; in insert_raq()
1335 return insn | ((value & 0x1f) << 16); in insert_raq()
1343 insert_ras (unsigned long insn, in insert_ras() argument
1350 return insn | ((value & 0x1f) << 16); in insert_ras()
1360 insert_rbs (unsigned long insn, in insert_rbs() argument
1365 return insn | (((insn >> 21) & 0x1f) << 11); in insert_rbs()
1369 extract_rbs (unsigned long insn, in extract_rbs() argument
1373 if (((insn >> 21) & 0x1f) != ((insn >> 11) & 0x1f)) in extract_rbs()
1382 insert_rtq (unsigned long insn, in insert_rtq() argument
1389 return insn | ((value & 0x1f) << 21); in insert_rtq()
1396 insert_rsq (unsigned long insn, in insert_rsq() argument
1403 return insn | ((value & 0x1f) << 21); in insert_rsq()
1409 insert_sh6 (unsigned long insn, in insert_sh6() argument
1414 return insn | ((value & 0x1f) << 11) | ((value & 0x20) >> 4); in insert_sh6()
1418 extract_sh6 (unsigned long insn, in extract_sh6() argument
1422 return ((insn >> 11) & 0x1f) | ((insn << 4) & 0x20); in extract_sh6()
1429 insert_spr (unsigned long insn, in insert_spr() argument
1434 return insn | ((value & 0x1f) << 16) | ((value & 0x3e0) << 6); in insert_spr()
1438 extract_spr (unsigned long insn, in extract_spr() argument
1442 return ((insn >> 16) & 0x1f) | ((insn >> 6) & 0x3e0); in extract_spr()
1448 insert_sprg (unsigned long insn, in insert_sprg() argument
1463 if (value <= 3 || (insn & 0x100) != 0) in insert_sprg()
1466 return insn | ((value & 0x17) << 16); in insert_sprg()
1470 extract_sprg (unsigned long insn, in extract_sprg() argument
1474 unsigned long val = (insn >> 16) & 0x1f; in extract_sprg()
1479 || (val < 0x10 && (insn & 0x100) != 0) in extract_sprg()
1497 insert_tbr (unsigned long insn, in insert_tbr() argument
1504 return insn | ((value & 0x1f) << 16) | ((value & 0x3e0) << 6); in insert_tbr()
1508 extract_tbr (unsigned long insn, in extract_tbr() argument
1514 ret = ((insn >> 16) & 0x1f) | ((insn >> 6) & 0x3e0); in extract_tbr()