blob: 6fd12fb842745b6b38c6c76fdf8b1e200392c066 [file] [log] [blame]
Patrick Williamsc0f7c042017-02-23 20:41:17 -06001TUNEVALID[mips16e] = "Build target packages with MIPS16e ASE instructions"
Brad Bishop6e60e8b2018-02-01 10:27:11 -05002MIPS_MIPS16E_OPT = "${@['mno-mips16', 'mips16'][d.getVar('MIPS_INSTRUCTION_SET') == 'mips16e']}"
Patrick Williamsc0f7c042017-02-23 20:41:17 -06003TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ' -${MIPS_MIPS16E_OPT}', '', d)}"
4
Brad Bishop6e60e8b2018-02-01 10:27:11 -05005MIPSPKGSFX_MIPS16E .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', '-m16', '', d) if d.getVar('MIPS_MIPS16E_OPT') == 'mips16' else ''}"
Patrick Williamsc0f7c042017-02-23 20:41:17 -06006
7# Whether to compile with code to allow interworking between the two
8# instruction sets. This allows mips16e code to be executed on a primarily
9# mips32/64 system and vice versa. It is strongly recommended that DISTROs not
10# turn this off - the actual cost is very small.
11TUNEVALID[no-interlink-compressed] = "Disable mixing of standard and MIPS16e code"
12MIPS16_TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'no-interlink-compressed', ' -mno-interlink-compressed', ' -minterlink-compressed', d)}"
13TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ' ${MIPS16_TUNE_CCARGS}', '', d)}"
Andrew Geissler5199d832021-09-24 16:47:35 -050014MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', 'mips16e:', '', d)}"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060015
16# show status (if compiling in MIPS16e mode)
Brad Bishop6e60e8b2018-02-01 10:27:11 -050017BUILDCFG_VARS += "${@['', 'MIPS_INSTRUCTION_SET'][d.getVar('MIPS_INSTRUCTION_SET') == 'mips16e']}"