📄 jm-insns.c
字号:
extern void test_stb (void);ASSEMBLY_FUNC("test_stb", "stb 14,0(15)");extern void test_stbu (void);ASSEMBLY_FUNC("test_stbu", "stbu 14,0(15)");extern void test_sth (void);ASSEMBLY_FUNC("test_sth", "sth 14,0(15)");extern void test_sthu (void);ASSEMBLY_FUNC("test_sthu", "sthu 14,0(15)");extern void test_stw (void);ASSEMBLY_FUNC("test_stw", "stw 14,0(15)");extern void test_stwu (void);ASSEMBLY_FUNC("test_stwu", "stwu 14,0(15)");#ifdef __powerpc64__extern void test_std (void);ASSEMBLY_FUNC("test_std", "std 14,0(15)");extern void test_stdu (void);ASSEMBLY_FUNC("test_stdu", "stdu 14,0(15)");#endif // #ifdef __powerpc64__static test_t tests_ist_ops_three_i16[] = { { &test_stb , " stb", }, { &test_stbu , " stbu", }, { &test_sth , " sth", }, { &test_sthu , " sthu", }, { &test_stw , " stw", }, { &test_stwu , " stwu", },#ifdef __powerpc64__ { &test_std , " std", }, { &test_stdu , " stdu", },#endif // #ifdef __powerpc64__ { NULL, NULL, },};static void test_stbx (void){ __asm__ __volatile__ ("stbx 14,15,16");}static void test_stbux (void){ __asm__ __volatile__ ("stbux 14,15,16");}static void test_sthx (void){ __asm__ __volatile__ ("sthx 14,15,16");}static void test_sthux (void){ __asm__ __volatile__ ("sthux 14,15,16");}static void test_stwx (void){ __asm__ __volatile__ ("stwx 14,15,16");}static void test_stwux (void){ __asm__ __volatile__ ("stwux 14,15,16");}#ifdef __powerpc64__static void test_stdx (void){ __asm__ __volatile__ ("stdx 14,15,16");}static void test_stdux (void){ __asm__ __volatile__ ("stdux 14,15,16");}#endif // #ifdef __powerpc64__static test_t tests_ist_ops_three[] = { { &test_stbx , " stbx", }, { &test_stbux , " stbux", }, { &test_sthx , " sthx", }, { &test_sthux , " sthux", }, { &test_stwx , " stwx", }, { &test_stwux , " stwux", },#ifdef __powerpc64__ { &test_stdx , " stdx", }, { &test_stdux , " stdux", },#endif // #ifdef __powerpc64__ { NULL, NULL, },};#if !defined (NO_FLOAT)static void test_fsel (void){ __asm__ __volatile__ ("fsel 17, 14, 15, 16");}static void test_fmadd (void){ __asm__ __volatile__ ("fmadd 17, 14, 15, 16");}static void test_fmadds (void){ __asm__ __volatile__ ("fmadds 17, 14, 15, 16");}static void test_fmsub (void){ __asm__ __volatile__ ("fmsub 17, 14, 15, 16");}static void test_fmsubs (void){ __asm__ __volatile__ ("fmsubs 17, 14, 15, 16");}static void test_fnmadd (void){ __asm__ __volatile__ ("fnmadd 17, 14, 15, 16");}static void test_fnmadds (void){ __asm__ __volatile__ ("fnmadds 17, 14, 15, 16");}static void test_fnmsub (void){ __asm__ __volatile__ ("fnmsub 17, 14, 15, 16");}static void test_fnmsubs (void){ __asm__ __volatile__ ("fnmsubs 17, 14, 15, 16");}static test_t tests_fa_ops_three[] = { { &test_fsel , " fsel", }, { &test_fmadd , " fmadd", }, { &test_fmadds , " fmadds", }, { &test_fmsub , " fmsub", }, { &test_fmsubs , " fmsubs", }, { &test_fnmadd , " fnmadd", }, { &test_fnmadds , " fnmadds", }, { &test_fnmsub , " fnmsub", }, { &test_fnmsubs , " fnmsubs", }, { NULL, NULL, },};#endif /* !defined (NO_FLOAT) */#if !defined (NO_FLOAT)static void test_fsel_ (void){ __asm__ __volatile__ ("fsel. 17, 14, 15, 16");}static void test_fmadd_ (void){ __asm__ __volatile__ ("fmadd. 17, 14, 15, 16");}static void test_fmadds_ (void){ __asm__ __volatile__ ("fmadds. 17, 14, 15, 16");}static void test_fmsub_ (void){ __asm__ __volatile__ ("fmsub. 17, 14, 15, 16");}static void test_fmsubs_ (void){ __asm__ __volatile__ ("fmsubs. 17, 14, 15, 16");}static void test_fnmadd_ (void){ __asm__ __volatile__ ("fnmadd. 17, 14, 15, 16");}static void test_fnmadds_ (void){ __asm__ __volatile__ ("fnmadds. 17, 14, 15, 16");}static void test_fnmsub_ (void){ __asm__ __volatile__ ("fnmsub. 17, 14, 15, 16");}static void test_fnmsubs_ (void){ __asm__ __volatile__ ("fnmsubs. 17, 14, 15, 16");}static test_t tests_far_ops_three[] = { { &test_fsel_ , " fsel.", }, { &test_fmadd_ , " fmadd.", }, { &test_fmadds_ , " fmadds.", }, { &test_fmsub_ , " fmsub.", }, { &test_fmsubs_ , " fmsubs.", }, { &test_fnmadd_ , " fnmadd.", }, { &test_fnmadds_ , " fnmadds.", }, { &test_fnmsub_ , " fnmsub.", }, { &test_fnmsubs_ , " fnmsubs.", }, { NULL, NULL, },};#endif /* !defined (NO_FLOAT) */#if !defined (NO_FLOAT)static void test_fadd (void){ __asm__ __volatile__ ("fadd 17, 14, 15");}static void test_fadds (void){ __asm__ __volatile__ ("fadds 17, 14, 15");}static void test_fsub (void){ __asm__ __volatile__ ("fsub 17, 14, 15");}static void test_fsubs (void){ __asm__ __volatile__ ("fsubs 17, 14, 15");}static void test_fmul (void){ __asm__ __volatile__ ("fmul 17, 14, 15");}static void test_fmuls (void){ __asm__ __volatile__ ("fmuls 17, 14, 15");}static void test_fdiv (void){ __asm__ __volatile__ ("fdiv 17, 14, 15");}static void test_fdivs (void){ __asm__ __volatile__ ("fdivs 17, 14, 15");}static test_t tests_fa_ops_two[] = { { &test_fadd , " fadd", }, { &test_fadds , " fadds", }, { &test_fsub , " fsub", }, { &test_fsubs , " fsubs", }, { &test_fmul , " fmul", }, { &test_fmuls , " fmuls", }, { &test_fdiv , " fdiv", }, { &test_fdivs , " fdivs", }, { NULL, NULL, },};#endif /* !defined (NO_FLOAT) */#if !defined (NO_FLOAT)static void test_fadd_ (void){ __asm__ __volatile__ ("fadd. 17, 14, 15");}static void test_fadds_ (void){ __asm__ __volatile__ ("fadds. 17, 14, 15");}static void test_fsub_ (void){ __asm__ __volatile__ ("fsub. 17, 14, 15");}static void test_fsubs_ (void){ __asm__ __volatile__ ("fsubs. 17, 14, 15");}static void test_fmul_ (void){ __asm__ __volatile__ ("fmul. 17, 14, 15");}static void test_fmuls_ (void){ __asm__ __volatile__ ("fmuls. 17, 14, 15");}static void test_fdiv_ (void){ __asm__ __volatile__ ("fdiv. 17, 14, 15");}static void test_fdivs_ (void){ __asm__ __volatile__ ("fdivs. 17, 14, 15");}static test_t tests_far_ops_two[] = { { &test_fadd_ , " fadd.", }, { &test_fadds_ , " fadds.", }, { &test_fsub_ , " fsub.", }, { &test_fsubs_ , " fsubs.", }, { &test_fmul_ , " fmul.", }, { &test_fmuls_ , " fmuls.", }, { &test_fdiv_ , " fdiv.", }, { &test_fdivs_ , " fdivs.", }, { NULL, NULL, },};#endif /* !defined (NO_FLOAT) */#if !defined (NO_FLOAT)static void test_fcmpo (void){ __asm__ __volatile__ ("fcmpo 2, 14, 15");}static void test_fcmpu (void){ __asm__ __volatile__ ("fcmpu 2, 14, 15");}static test_t tests_fcr_ops_two[] = { { &test_fcmpo , " fcmpo", }, { &test_fcmpu , " fcmpu", }, { NULL, NULL, },};#endif /* !defined (NO_FLOAT) */#if !defined (NO_FLOAT)#if 0 // TODO: Not yet supportedstatic void test_fres (void){ __asm__ __volatile__ ("fres 17, 14");}static void test_frsqrte (void){ __asm__ __volatile__ ("frsqrte 17, 14");}#endifstatic void test_frsp (void){ __asm__ __volatile__ ("frsp 17, 14");}static void test_fctiw (void){ __asm__ __volatile__ ("fctiw 17, 14");}static void test_fctiwz (void){ __asm__ __volatile__ ("fctiwz 17, 14");}static void test_fmr (void){ __asm__ __volatile__ ("fmr 17, 14");}static void test_fneg (void){ __asm__ __volatile__ ("fneg 17, 14");}static void test_fabs (void){ __asm__ __volatile__ ("fabs 17, 14");}static void test_fnabs (void){ __asm__ __volatile__ ("fnabs 17, 14");}static void test_fsqrt (void){ __asm__ __volatile__ ("fsqrt 17, 14");}#ifdef __powerpc64__static void test_fcfid (void){ __asm__ __volatile__ ("fcfid 17, 14");}static void test_fctid (void){ __asm__ __volatile__ ("fctid 17, 14");}static void test_fctidz (void){ __asm__ __volatile__ ("fctidz 17, 14");}#endif // #ifdef __powerpc64__static test_t tests_fa_ops_one[] = { // { &test_fres , " fres", }, // TODO: Not yet supported // { &test_frsqrte , " frsqrte", }, // TODO: Not yet supported { &test_frsp , " frsp", }, { &test_fctiw , " fctiw", }, { &test_fctiwz , " fctiwz", }, { &test_fmr , " fmr", }, { &test_fneg , " fneg", }, { &test_fabs , " fabs", }, { &test_fnabs , " fnabs", }, { &test_fsqrt , " fsqrt", },#ifdef __powerpc64__ { &test_fcfid , " fcfid", }, { &test_fctid , " fctid", }, { &test_fctidz , " fctidz", },#endif // #ifdef __powerpc64__ { NULL, NULL, },};#endif /* !defined (NO_FLOAT) */#if !defined (NO_FLOAT)#if 0 // TODO: Not yet supportedstatic void test_fres_ (void){ __asm__ __volatile__ ("fres. 17, 14");}static void test_frsqrte_ (void){ __asm__ __volatile__ ("frsqrte. 17, 14");}#endifstatic void test_frsp_ (void){ __asm__ __volatile__ ("frsp. 17, 14");}static void test_fctiw_ (void){ __asm__ __volatile__ ("fctiw. 17, 14");}static void test_fctiwz_ (void){ __asm__ __volatile__ ("fctiwz. 17, 14");}static void test_fmr_ (void){ __asm__ __volatile__ ("fmr. 17, 14");}static void test_fneg_ (void){ __asm__ __volatile__ ("fneg. 17, 14");}static void test_fabs_ (void){ __asm__ __volatile__ ("fabs. 17, 14");}static void test_fnabs_ (void){ __asm__ __volatile__ ("fnabs. 17, 14");}#ifdef __powerpc64__static void test_fcfid_ (void){ __asm__ __volatile__ ("fcfid. 17, 14");}static void test_fctid_ (void){ __asm__ __volatile__ ("fctid. 17, 14");}static void test_fctidz_ (void){ __asm__ __volatile__ ("fctidz. 17, 14");}#endif // #ifdef __powerpc64__static test_t tests_far_ops_one[] = { // { &test_fres_ , " fres.", }, // TODO: Not yet supported // { &test_frsqrte_ , " frsqrte.", }, // TODO: Not yet supported { &test_frsp_ , " frsp.", }, { &test_fctiw_ , " fctiw.", }, { &test_fctiwz_ , " fctiwz.", }, { &test_fmr_ , " fmr.", }, { &test_fneg_ , " fneg.", }, { &test_fabs_ , " fabs.", }, { &test_fnabs_ , " fnabs.", },#ifdef __powerpc64__ { &test_fcfid_ , " fcfid.", }, { &test_fctid_ , " fctid.", }, { &test_fctidz_ , " fctidz.", },#endif // #ifdef __powerpc64__ { NULL, NULL, },};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -